Greifen Sie mit Hive auf HBase Tabellen zu - Amazon EMR

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Greifen Sie mit Hive auf HBase Tabellen zu

HBaseund Apache Hive sind eng integriert, sodass Sie massive Parallelverarbeitungs-Workloads direkt für die in gespeicherten Daten ausführen können. HBase Um Hive mit zu verwendenHBase, können Sie sie normalerweise auf demselben Cluster starten. Sie können Hive jedoch auch HBase auf separaten Clustern starten. Wenn Sie Hive HBase und Hive getrennt auf verschiedenen Clustern ausführen, kann dies die Leistung verbessern, da so jede Anwendung Clusterressourcen effizienter nutzen kann.

Die folgenden Verfahren zeigen, wie Sie mithilfe von Hive eine Verbindung HBase zu einem Cluster herstellen.

Anmerkung

Sie können einen Hive-Cluster nur mit einem einzelnen HBase Cluster verbinden.

Um Hive zu verbinden HBase
  1. Erstellen Sie separate Cluster mit Hive und HBase installiertem Hive oder erstellen Sie einen einzelnen Cluster, in dem beide HBase und Hive installiert sind.

  2. Wenn Sie separate Cluster verwenden, ändern Sie Ihre Sicherheitsgruppen so, dass die HBase Hive-Ports zwischen diesen beiden Primärknoten geöffnet sind.

  3. Wird verwendetSSH, um eine Verbindung zum primären Knoten für den Cluster herzustellen, auf dem Hive installiert ist. Weitere Informationen finden Sie unter Connect mit dem primären Knoten herstellen SSH im Amazon EMR Management Guide.

  4. Starten Sie die Hive-Shell mit dem folgenden Befehl.

    hive
  5. (Optional) Sie müssen dies nicht tun, wenn sich Hive HBase und Hive auf demselben Cluster befinden. Connect den HBase Client auf Ihrem Hive-Cluster mit dem HBase Cluster, der Ihre Daten enthält. Im folgenden Beispiel public-DNS-name wird durch den öffentlichen DNS Namen des primären Knotens des HBase Clusters ersetzt, zum Beispiel:ec2-50-19-76-67.compute-1.amazonaws.com.

    set hbase.zookeeper.quorum=public-DNS-name;
  6. Fahren Sie mit der Ausführung von Hive-Abfragen für Ihre HBase Daten wie gewünscht fort oder sehen Sie sich das nächste Verfahren an.

Um auf HBase Daten von Hive zuzugreifen
  • Nachdem die Verbindung zwischen Hive und HBase Clustern hergestellt wurde (wie im vorherigen Verfahren gezeigt), können Sie auf die im HBase Cluster gespeicherten Daten zugreifen, indem Sie eine externe Tabelle in Hive erstellen.

    Wenn das folgende Beispiel über die Hive-Eingabeaufforderung auf dem Primärknoten ausgeführt wird, wird eine externe Tabelle erstellt, die auf Daten verweist, die in einer HBase Tabelle mit dem Namen gespeichert sind. inputTable Anschließend können Sie inputTable in Hive-Anweisungen referenzieren, um im Cluster gespeicherte Daten abzufragen und zu ändern. HBase

    set hbase.zookeeper.quorum=ec2-107-21-163-157.compute-1.amazonaws.com; create external table inputTable (key string, value string) stored by 'org.apache.hadoop.hive.hbase.HBaseStorageHandler' with serdeproperties ("hbase.columns.mapping" = ":key,f1:col1") tblproperties ("hbase.table.name" = "t1"); select count(key) from inputTable ;

Einen fortgeschritteneren Anwendungsfall und ein Beispiel für die Kombination HBase mit Hive finden Sie im AWS Big-Data-Blogbeitrag Combine No SQL and Massively Parallel Analytics using Apache HBase and Apache Hive on Amazon. EMR