メインコンテンツまでスキップ
バージョン: 2.1

Kudu カタログ

Kudu CatalogはTrino Connector互換フレームワークを使用して、Kudu Connectorを通じてKuduテーブルにアクセスします。

注記

この機能は実験的であり、バージョン3.0.1からサポートされています。

適用シナリオ

シナリオ説明
データ統合Kuduデータを読み取り、Doris内部テーブルに書き込む。
データライトバックサポートされていません。

環境準備

Kudu Connectorプラグインのコンパイル

JDK 17が必要です。

$ git clone https://github.com/apache/doris-thirdparty.git
$ cd doris-thirdparty
$ git checkout trino-435
$ cd plugin/trino-kudu
$ mvn clean package -Dmaven.test.skip=true

コンパイル後、trino/plugin/trino-kudu/target/ ディレクトリに trino-kudu-435 フォルダが含まれます。

また、プリコンパイル済みの trino-kudu-435-v20260207.tar.gz を直接ダウンロードして解凍することもできます。

Kudu Connector のデプロイ

すべてのFEおよびBEノードのデプロイメントパスの connectors/ ディレクトリに trino-kudu-435/ ディレクトリを配置します。(ディレクトリが存在しない場合は、手動で作成できます。)

├── bin
├── conf
├── connectors
│ ├── trino-kudu-435
...

デプロイ後は、Connectorが正しく読み込まれることを確実にするため、FEおよびBEノードを再起動することを推奨します。

Catalogの設定

構文

CREATE CATALOG [IF NOT EXISTS] catalog_name PROPERTIES (
'type' = 'trino-connector', -- required
'trino.connector.name' = 'kudu', -- required
{TrinoProperties},
{CommonProperties}
);
  • {TrinoProperties}

    TrinoPropertiesセクションは、Trino Connectorに渡されるプロパティを指定するために使用されます。これらのプロパティにはtrino.というプレフィックスが付けられます。理論的には、Trinoでサポートされているすべてのプロパティもここでサポートされています。Kuduプロパティの詳細については、Trinoドキュメントを参照してください。

  • [CommonProperties]

    CommonPropertiesセクションは、一般的なプロパティを指定するために使用されます。「Common Properties」セクションのCatalog Overviewを参照してください。

サポートされているKuduバージョン

Kuduの詳細については、Trinoドキュメントを参照してください。

サポートされているMetadata Services

Kuduの詳細については、Trinoドキュメントを参照してください。

サポートされているStorage Systems

Kuduの詳細については、Trinoドキュメントを参照してください。

Column Type Mapping

Kudu TypeTrino TypeDoris TypeComment
booleanbooleanboolean
int8tinyinttinyint
int16smallintsmallint
int32integerint
int64bigintbigint
floatrealfloat
doubledoubledouble
decimal(P, S)decimal(P, S)decimal(P, S)
binaryvarbinarystringクエリでTrinoと同じ結果表示を得るにはHEX(col)を使用する必要があります。
stringvarcharstring
datedatedate
unixtime_microstimestamp(3)datetime(3)
otherUNSUPPORTED

Examples

CREATE CATALOG kudu_catalog PROPERTIES (  
'type' = 'trino-connector',
'trino.connector.name' = 'kudu',
'trino.kudu.client.master-addresses' = 'ip1:port1,ip2:port2,ip3,port3',
'trino.kudu.authentication.type' = 'NONE'
);

クエリ操作

Catalogを設定した後、以下の方法を使用してCatalog内のテーブルデータをクエリできます:

-- 1. switch to catalog, use database and query
SWITCH kudu_ctl;
USE kudu_db;
SELECT * FROM kudu_tbl LIMIT 10;

-- 2. use kudu database directly
USE kudu_ctl.kudu_db;
SELECT * FROM kudu_tbl LIMIT 10;

-- 3. use full qualified name to query
SELECT * FROM kudu_ctl.kudu_db.kudu_tbl LIMIT 10;