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?
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:
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%