[Experimental] Kudu catalog
StarRocks は v3.3 以降で Kudu catalog をサポートしています。
Kudu catalog は、Apache Kudu からデータを取り込まずにクエリを実行できる外部 catalog の一種です。
また、Kudu catalog を使用して INSERT INTO を基に、Kudu からデータを直接変換してロードすることもできます。
Kudu クラスターで SQL ワークロードを成功させるためには、StarRocks クラスターが以下の重要なコンポーネントと統合する必要があります。
- Kudu ファイルシステムや Hive メタストアのようなメタストア
使用上の注意
Kudu catalog はデータのクエリにのみ使用できます。Kudu catalog を使用して、Kudu クラスターにデータを削除、削除、または挿入することはできません。
統合準備
Kudu catalog を作成する前に、StarRocks クラスターが Kudu クラスターのストレージシステムとメタストアと統合できることを確認してください。
注意
クエリを送信した際に不明なホストを示すエラーが返された場合、KUDU クラスターのノードのホスト名と IP アドレスのマッピングを /etc/hosts パスに追加する必要があります。
Kerberos 認証
KUDU クラスターまたは Hive メタストアで Kerberos 認証が有効になっている場合、StarRocks クラスターを次のように設定します。
- 各 FE と各 BE で
kinit -kt keytab_path principalコマンドを実行して、Key Distribution Center (KDC) から Ticket Granting Ticket (TGT) を取得します。このコマンドを実行するには、KUDU クラスターと Hive メタストアにアクセスする権限が必要です。このコマンドで KDC にアクセスすることは時間に敏感です。そのため、cron を使用してこのコマンドを定期的に実行する必要があります。 - 各 FE の $FE_HOME/conf/fe.conf ファイルと各 BE の $BE_HOME/conf/be.conf ファイルに
JAVA_OPTS="-Djava.security.krb5.conf=/etc/krb5.conf"を追加します。この例では、/etc/krb5.confは krb5.conf ファイルの保存パスです。必要に応じてパスを変更できます。
Kudu catalog の作成
構文
CREATE EXTERNAL CATALOG <catalog_name>
[COMMENT <comment>]
PROPERTIES
(
"type" = "kudu",
CatalogParams
)
パラメータ
catalog_name
Kudu catalog の名前です。命名規則は以下の通りです。
- 名前には文字、数字 (0-9)、およびアンダースコア (_) を含めることができます。必ず文字で始める必要があります。
- 名前は大文字と小文字を区別し、1023 文字を超えることはできません。
comment
Kudu catalog の説明です。このパラメータはオプションです。
type
データソースのタイプです。値を kudu に設定します。