この Topic では、LindormTable に接続して使用する方法について説明します。
前提条件
LindormTable のバージョンが 2.4.3 以降であること。
説明詳細については、「LindormTable のリリースノート」および「Lindorm インスタンスのマイナーエンジンバージョンをアップグレードする」をご参照ください。
クライアントの IP アドレスがLindorm ホワイトリストに追加されていること。
LindormTable のHBase Java API VPC エンドポイントが取得されていること。
使用上の注意
インターネット経由で Lindorm インスタンスに接続する場合、またはアクセスする Lindorm インスタンスがシングルノードの Lindorm インスタンスである場合は、この Topic で説明されている操作を実行する前に、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 Java 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手順
Hive クライアントで、接続する Lindorm インスタンスの LindormTable エンドポイントを構成します。
hive // Java 用 HBase API の LindormTable エンドポイントを指定します。 set hbase.zookeeper.quorum=ld-bp1461s38p7y9****-proxy-lindorm.lindorm.rds.aliyuncs.com:30020Lindorm インスタンスに hive_hbase_table という名前のテーブルを作成します。
CREATE 'hive_hbase_table','cf1'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 が含まれている場合、外部テーブルが作成されます。
外部テーブルにデータを挿入し、挿入を検証します。
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=babLindorm の 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 にデータを書き込んだりすることはできます。