Paimon catalog
StarRocks は v3.1 以降で Paimon catalog をサポートしています。
Paimon catalog は、Apache Paimon からデータを取り込まずにクエリを実行できる外部 catalog の一種です。
また、Paimon catalog を使用して INSERT INTO を基に Paimon からデータを直接変換してロードすることもできます。
Paimon クラスターで SQL ワークロードを成功させるためには、StarRocks クラスターが Paimon クラスターのストレージシステムとメタストアにアクセスできる必要があります。StarRocks は以下のストレージシステムとメタストア をサポートしています。
- 分散ファイルシステム (HDFS) または AWS S3、Microsoft Azure Storage、Google GCS、または他の S3 互換ストレージシステム (例: MinIO) のようなオブジェクトストレージ
- ファイルシステムまたは Hive メタストアのようなメタストア
使用上の注意
Paimon catalog はデータのクエリにのみ使用できます。Paimon catalog を使用して Paimon クラスターにデータを削除、削除、または挿入することはできません。
統合準備
Paimon catalog を作成する前に、StarRocks クラスターが Paimon クラスターのストレージシステムとメタストアと統合できることを確認してください。
AWS IAM
Paimon クラスターが AWS S3 をストレージとして使用している場合、適切な認証方法を選択し、StarRocks クラスターが関連する AWS クラウドリソースにアクセスできるように必要な準備を行ってください。
以下の認証方法が推奨されます。
- インスタンスプロファイル (推奨)
- アサインされたロール
- IAM ユーザー
上記の三つの認証方法の中で、インスタンスプロファイルが最も広く使用されています。
詳細については、AWS IAM での認証準備 を参照してください。
HDFS
HDFS をストレージとして選択する場合、StarRocks クラスターを次のように構成します。
- (オプション) HDFS クラスターと Hive メタストアにアクセスするために使用されるユーザー名を設定します。デフォルトでは、StarRocks は HDFS クラスターと Hive メタストアにアクセスするために FE と BE または CN プロセスのユーザー名を使用します。各 FE の fe/conf/hadoop_env.sh ファイルの先頭と各 BE または CN の be/conf/hadoop_env.sh ファイルの先頭に
export HADOOP_USER_NAME="<user_name>"
を追加することでユーザー名を設定することもできます。これらのファイルでユーザー名を設定した後、各 FE と各 BE または CN を再起動してパラメータ設定を有効にします。StarRocks クラスターごとに一つのユーザー名しか設定できません。 - Paimon データをクエリする際、StarRocks クラスターの FEs と BEs または CNs は HDFS クライアントを使用して HDFS クラスターにアクセスします。ほとんどの場合、その目的を達成するために StarRocks クラスターを構成する必要はなく、StarRocks はデフォルトの構成を使用して HDFS クライアントを起動します。次の状況でのみ StarRocks クラスターを構成する必要があります。
- 高可用性 (HA) が HDFS クラスターに対して有効になっている場合: HDFS クラスターの hdfs-site.xml ファ イルを各 FE の $FE_HOME/conf パスと各 BE または CN の $BE_HOME/conf パスに追加します。
- View File System (ViewFs) が HDFS クラスターに対して有効になっている場合: HDFS クラスターの core-site.xml ファイルを各 FE の $FE_HOME/conf パスと各 BE または CN の $BE_HOME/conf パスに追加します。
注意
クエリを送信した際に不明なホストを示すエラーが返された場合、HDFS クラスターのノードのホスト名と IP アドレスのマッピングを /etc/hosts パスに追加する必要があります。
Kerberos 認証
Kerberos 認証が HDFS クラスターまたは Hive メタストアに対して有効になっている場合、StarRocks クラスターを次のように構成します。
- 各 FE と各 BE または CN で
kinit -kt keytab_path principal
コマンドを実行して、Key Distribution Center (KDC) から Ticket Granting Ticket (TGT) を取得します。このコマンドを実行するには、HDFS クラスターと Hive メタストアにアクセスする権限が必要です。このコマンドを使用して KDC にアクセスすることは時間に敏感です。したがって、このコマンドを定期的に実行するために cron を使用する必要があります。 - 各 FE の $FE_HOME/conf/fe.conf ファイルと各 BE または CN の $BE_HOME/conf/be.conf ファイルに
JAVA_OPTS="-Djava.security.krb5.conf=/etc/krb5.conf"
を追加します。この例では、/etc/krb5.conf
は krb5.conf ファイルの保存パスです。必要に応じてパスを変更できます。
Paimon catalog の作成
構文
CREATE EXTERNAL CATALOG <catalog_name>
[COMMENT <comment>]
PROPERTIES
(
"type" = "paimon",
CatalogParams,
StorageCredentialParams,
)
パラメータ
catalog_name
Paimon catalog の名前です。命名規則は以下の通りです。
- 名前には文字、数字 (0-9)、およびアンダースコア (_) を含めることができます。名前は文字で始める必要があります。
- 名前は大文字と小文字を区別し、長さは 1023 文字を超えてはなりません。
comment
Paimon catalog の説明です。このパラメータはオプションです。
type
データソースのタイプです。値を paimon
に設定します。
CatalogParams
StarRocks が Paimon クラスターのメタデータにアクセスする方法に関する一連のパラメータです。
CatalogParams
で構成する必要があるパラメータを以下の表に示します。
パラメータ | 必須 | 説明 |
---|---|---|
paimon.catalog.type | はい | Paimon クラスターで使用するメタストアのタイプです。このパラメータを filesystem または hive に設定します。 |
paimon.catalog.warehouse | はい | Paimon データのウェアハウスストレージパスです。 |
hive.metastore.uris | いいえ | Hive メタストアの URI です。形式: thrift://<metastore_IP_address>:<metastore_port> 。Hive メタストアに高可用性 (HA) が有効になっている場合、複数のメタストア URI を指定し、カンマ (, ) で区切ることができます。例: "thrift://<metastore_IP_address_1>:<metastore_port_1>,thrift://<metastore_IP_address_2>:<metastore_port_2>,thrift://<metastore_IP_address_3>:<metastore_port_3>" 。 |
注意
Hive メタストアを使用する場合、Paimon データをクエリする前に、Hive メタストアノードのホスト名と IP アドレスのマッピングを
/etc/hosts
パスに追加する必要があります。そうしないと、クエリを開始した際に StarRocks が Hive メタストアにアクセスできない可能性があります。
StorageCredentialParams
StarRocks がストレージシステムと統合する方法に関する一連のパラメータです。このパラメータセットはオプションです。
HDFS をストレージとして使用する場合、StorageCredentialParams
を構成する必要はありません。
AWS S3、他の S3 互換ストレージシステム、Microsoft Azure Storage、または Google GCS をストレージとして使用する場合、StorageCredentialParams
を構成する必要があります。