2012-04-06 12 views
1

Ich habe Tabelle in HIVE mit CREATE EXTERNAL TABLE-Befehl für vorhandene Tabelle in HBase erstellt.Hive-Abfrage auf vorhandene Tabelle in HBase

Ich bin in der Lage die Tabelle durch HIVE Shell

aber beim Abfragen auf dem Tisch durch HIVE, kehrt ‚0‘ Aufzeichnungen zu sehen. Durch Logs identifiziert, dass HIVE MAP-REDUCE-Programm in HADOOP und nicht in HBase

ausführen Habe ich etwas in der Konfiguration von Hive und HBase verpasst?

+0

Hive Upgrade auf Ist die Ausgabe von EXTENDED Tabelle korrekt aussehen BESCHREIBEN? –

+0

Ja, es sieht korrekt aus, Parameterinformationen sehen folgendermaßen aus: Parameter: {EXTERNAL = TRUE, hbase.table.name = MeineTabelle, transient_lastDdlTime = 1333741785, storage_handler = org.apache.hadoop.hive.hbase.HBaseStorageHandler}, viewOriginalText: null, viewExpandedText: null, tableType: EXTERNAL_TABLE) – vishal

+0

Die durch die Klausel "Stored By" definierte "externe Tabelle" sollte in der Lage sein, auf HBase-Tabellenzeilen zuzugreifen, richtig? Ich kann nur auf die Tabelleneinträge zugreifen, die über Hive hinzugefügt wurden. – vishal

Antwort

1

Ich vermute, dass Sie eine Version von Hive vor 0,9 verwenden.

Das Erstellen einer Hive-Tabelle mit HBase-Speicherhandler auf Hive 0.8 und früher ermöglicht nur den Zugriff auf Daten aus Ihrer HBase-Tabelle, die über Ihre entsprechende Hive-Tabelle eingefügt wurde. Wenn in Ihrer HBase-Tabelle bereits vorhandene Daten vorhanden waren, die nicht über die Hive-Tabelle eingefügt wurden, können Sie sie auch nicht über die Hive-Tabelle abfragen.

Starting Hive 0.9, JIRA 1634, wird verfügbar sein, mit dem die Hive-Tabelle auf alle in der HBase-Tabelle vorhandenen Daten zugreifen kann, unabhängig davon, wie sie darin eingefügt wurden.

Ich schlage vor, dass Sie entweder diesen Patch erhalten oder 0,9

Verwandte Themen