すべてのプロダクト
Search
ドキュメントセンター

Lindorm:Hive を使用して LindormTable に接続し、使用する

最終更新日:Jan 14, 2025

このトピックでは、LindormTable に接続して使用する方法について説明します。

前提条件

使用上の注意

  • インターネット経由で Lindorm インスタンスに接続する場合、またはアクセスする Lindorm インスタンスがシングルノード Lindorm インスタンスである場合は、このトピックで説明されている操作を実行する前に、SDK をアップグレードし、設定を変更する必要があります。 詳細については、Java 用 ApsaraDB for HBase API を使用して LindormTable に接続し、使用するのステップ 1 をご参照ください。

  • アプリケーションが Elastic Compute Service (ECS) インスタンスにデプロイされている場合は、ネットワーク接続を確保するために、Lindorm インスタンスと ECS インスタンスが事前に次の要件を満たしていることを確認してください。
    • Lindorm インスタンスと ECS インスタンスは同じリージョンにデプロイされています。 ネットワークレイテンシを削減するために、2 つのインスタンスを同じゾーンにデプロイすることをお勧めします。
    • Lindorm インスタンスと ECS インスタンスは同じ VPC にデプロイされています。

Hive での接続パラメータの設定

方法 1: hive-site.xml ファイルに接続設定を追加します。

<configuration>
    <property>
        <name>hbase.zookeeper.quorum</name>
      <!--
   Java 用 HBase API の LindormTable エンドポイント
    -->
        <value>ld-bp1461s38p7y9****-proxy-lindorm.lindorm.rds.aliyuncs.com:30020</value>
    </property>
 </configuration>

方法 2: Hive クライアントでコマンドを実行します。

// Java 用 HBase API の LindormTable エンドポイントを指定します。
set hbase.zookeeper.quorum=ld-bp1461s38p7y9****-proxy-lindorm.lindorm.rds.aliyuncs.com:30020

手順

  1. 接続する Lindorm インスタンスの LindormTable エンドポイントを Hive クライアントで設定します。
    hive
    // Java 用 HBase API の LindormTable エンドポイントを指定します。
    set hbase.zookeeper.quorum=ld-bp1461s38p7y9****-proxy-lindorm.lindorm.rds.aliyuncs.com:30020
  2. Lindorm インスタンスに hive_hbase_table という名前のテーブルを作成します。
    CREATE 'hive_hbase_table','cf1'
  3. Hive に外部テーブルを作成します。
    CREATE EXTERNAL TABLE hive_hbase_table(key int, value string)
    STORED BY 'org.apache.hadoop.hive.hbase.HBaseStorageHandler'
    WITH SERDEPROPERTIES ("hbase.columns.mapping" = ":key,cf1:val")
    TBLPROPERTIES ("hbase.table.name" = "hive_hbase_table", "hbase.mapred.output.outputtable" = "hive_hbase_table");

    返された情報に OK が含まれている場合、外部テーブルが作成されます。

  4. 外部テーブルにデータを挿入し、データが挿入されたかどうかを確認します。
    • Hive の外部テーブルにデータを挿入し、Lindorm にデータが挿入されたかどうかを確認します。

      外部テーブルにデータを挿入します。

      insert into hive_hbase_table values(212,'bab');
      Lindorm で、外部テーブルにデータが挿入されたかどうかを確認します。
      scan 'hive_hbase_table'
      次の結果が返されます。
      ROW                   COLUMN+CELL
      212                   column=cf1:val, timestamp=2023-03-13T15:35:10.270, value=bab                      
    • Lindorm の hive_hbase_table テーブルにデータを挿入し、Hive にデータが挿入されたかどうかを確認します。
      hive_hbase_table テーブルにデータを挿入します。
      put 'hive_hbase_table','213','cf1:val','dadsadasda'
      Hive で、hive_hbase_table テーブルにデータが挿入されたかどうかを確認します。
      SELECT * FROM hive_hbase_table;
      次の結果が返されます。
      212   bab
      213   dadsadasda
重要 Hive を使用して Lindorm 内のファイルを直接読み取ることはできません。 ただし、Hive の外部テーブルを作成または関連付けて、Lindorm からデータを読み取ったり、Lindorm にデータを書き込んだりすることはできます。