記事ディレクトリ
第 3 章 Hive エンジンの統合
Flink と統合する場合、paimon Hive カタログを使用すると、Flink から paimon テーブルの作成、削除、クエリ、および挿入を行うことができます。これらの操作は、対応する Hive メタストアに直接影響します。この方法で作成されたテーブルには、Hive から直接アクセスすることもできます。
Hive とさらに統合するには、Hive SQL を使用して Paimon テーブルを作成し、クエリを実行できます。
3.1 環境の準備
Paimon は現在、Hive 3.1、2.3、2.2、2.1、および 2.1-cdh-6.3 をサポートしています。Hive Read の MR および Tez 実行エンジン、および Hive Write の MR 実行エンジンをサポートします (beeline は Hive Write もサポートしません)。
Hive ルート ディレクトリの下に auxlib フォルダーを作成し、paimon-hive-connector-0.5-SNAPSHOT.jar を auxlib にコピーします (jar の追加は推奨されません。結合ステートメントの実行時に MR エンジンが例外を報告します)。
ダウンロードアドレス: https://repository.apache.org/snapshots/org/apache/paimon/paimon-hive-connector-3.1/0.5-SNAPSHOT/
mkdir /opt/module/hive/auxlib
cp paimon-hive-connector-3.1-0.5-20230703.002437-65.jar /opt/module/hive/auxlib
3.2 既存のパイモンテーブルへのアクセス
USE test;
SHOW TABLES;
SELECT * FROM ws_t;
INSERT INTO test_table VALUES (9,9,9);
3.3 パイモンテーブルの作成
SET hive.metastore.warehouse.dir=hdfs://hadoop102:8020/paimon/hive;
CREATE TABLE test_h(
a INT COMMENT 'The a field',
b STRING COMMENT 'The b field'
)
STORED BY 'org.apache.paimon.hive.PaimonStorageHandler'
3.4 外部テーブル経由でパイモンテーブルにアクセスする
既存の paimon テーブルにアクセスするには、列やテーブルのプロパティを指定せずに、パスのみを指定して、それらのテーブルを Hive の外部テーブルとして登録することもできます。
CREATE EXTERNAL TABLE test.hive_ex
STORED BY 'org.apache.paimon.hive.PaimonStorageHandler'
LOCATION 'hdfs://hadoop102:8020/paimon/hive/test.db/ws_t';
– または、テーブルのプロパティにパスを書き込みます。
CREATE EXTERNAL TABLE hive_ex
STORED BY 'org.apache.paimon.hive.PaimonStorageHandler'
TBLPROPERTIES (
'paimon_location' ='hdfs://hadoop102:8020/paimon/hive/test.db/ws_t'
);
外部テーブルを操作します。
SELECT * FROM hive_ex;
INSERT INTO hive_ex VALUES (8,8,8);