Wie kann ich von einer HBase-Instanz lesen, aber in eine andere schreiben?

8

Zur Zeit habe ich zwei Hbase-Tabellen (nennen wir sie tableA und tableB ). Mit einem einstufigen MapReduce-Job werden die Daten in tableA gelesen und in tableB gespeichert. Derzeit befinden sich beide Tabellen im selben HBase-Cluster. Ich muss jedoch tableB auf den Cluster verlagern.

Ist es möglich, einen einstufigen Map-Reduce-Job in Hadoop so zu konfigurieren, dass er von verschiedenen Instanzen von HBase liest und schreibt?

    
slayton 09.04.2015, 19:35
quelle

1 Antwort

3

Es ist möglich, dass HBases Job CopyTable MapReduce dies tut mit TableMapReduceUtil.initTableReducerJob() , die Sie festlegen können eine alternative quorumAddress für den Fall, dass Sie in entfernte Cluster schreiben müssen:

%Vor%
  

quorumAddress - Entfernter Cluster zum Schreiben; Standard ist null für   Ausgabe an den Cluster, der in hbase-site.xml angegeben ist. Stellen Sie dies ein   String an das Tierpfleger-Ensemble eines alternativen Remote-Clusters   Du würdest den reduce einen Cluster schreiben, der anders ist als der   Standard; z.B. Kopieren von Tabellen zwischen Clustern, wäre die Quelle   designed by hbase-site.xml und dieser Parameter hätte das Ensemble   Adresse des Remote-Clusters. Das zu übergebende Format ist besonders. Bestehen   ::   wie Server, Server2, Server3: 2181: / hbase.

Eine weitere Option besteht darin, Ihren eigenen benutzerdefinierten Reduzierer zu implementieren, um auf die Remote-Tabelle zu schreiben, anstatt in den Kontext zu schreiben. Etwas Ähnliches:

%Vor%     
Rubén Moraleda 15.04.2015 08:51
quelle

Tags und Links