Apache Entzünden: Wie man alle Elemente aus namens-Cache

Ich versuche alle Artikel aus meinem Namen PARTITIONIERTEN Cache. Aktuell bin ich mit

  List<Cache.Entry<String, Object>> found =
        stmCache.query(new ScanQuery<String, Object>(
        new IgniteBiPredicate<String, Object>() {
           @Override
           public boolean apply(String key, Object person) {
              return true;
           }
        })).getAll();

Diese nicht durchführen sehr gut. Es ist möglich, zu verwenden:

    IgniteCompute compute = ignite.compute(); 

Das gleiche zu tun, oder andere Vorschläge?

InformationsquelleAutor user101010101 | 2017-02-17



2 Replies
  1. 4

    Versuchen cache.iterator() API:

    Iterator<Cache.Entry<String, Object>> iter = cache.iterator();

    • Dies gilt nicht bieten eine Antwort auf die Frage. Zu Kritik oder fordern Sie die Klärung von einen Autor, einen Kommentar unter Ihren post. – Nach Bewertung
    • willst du mich verarschen? Dies ist die richtige Antwort. Dem ist nichts hinzuzufügen, verwenden Sie einfach diese API. Sie sind vertraut mit Apache Entzünden?
    • Eine einzeilige Antwort „haben Sie versucht,…?“ endet mit einem Fragezeichen, ist ein Kommentar, keine Antwort. Daher ist dein post landete in der low-quality review-Warteschlange. Der Kommentar oben war auto-gepostet von review. Wie auch immer, Sie haben behoben, nun die Antwort, so ist es fein.
    • wie funktioniert das ausführen? Macht es einen Netzwerk-Aufruf für jedes Schlüsselpaar?
    • hey @PavelTupitsyn : gibt es eine Möglichkeit, getAll in einer asynchronen Art und Weise?
  2. 0

    Können Sie broadcast-eine Aufgabe, die ausgeführt würde, lokale ScanQueries auf jedem Knoten in mehreren threads.

    Smth like:

    ignite.compute(ignite.cluster().forDataNodes("myCache")).broadcast(
      -> {
         UUID locNode = ignite0.cluster().localNodeId();
    
         int[] parts = ignite0.affinity("myCache").primaryPartitions(locNode);
    
        Arrays.asList(parts).parallelStream().forEach(p -> {
           new ScanQuery().setLocal(true).setPartition(p).setFilter(...).getAll();
        })
      }
    )

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.