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

Kudu カタログ

Kudu CatalogはKudu Connectorを通じてKuduTableにアクセスするためにTrino Connector互換フレームワークを使用します。

注記

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

適用シナリオ

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

環境準備

Kudu Connector Pluginのコンパイル

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-20240724.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 documentationを参照してください。

  • [CommonProperties]

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

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

Kuduの詳細については、Trino documentationを参照してください。

サポートされているMetadataサービス

Kuduの詳細については、Trino documentationを参照してください。

サポートされているストレージシステム

Kuduの詳細については、Trino documentationを参照してください。

カラム型マッピング

Kudu タイプTrino タイプDoris タイプComment
booleanbooleanboolean
int8tinyinttinyint
int16smallintsmallint
int32integerint
int64bigintbigint
floatrealfloat
doubledoubledouble
decimal(P, S)decimal(P, S)decimal(P, S)
binaryvarbinarystringTrinoと同じ表示結果を返すには、クエリで HEX(col) を使用する必要があります。
stringvarcharstring
datedatedate
unixtime_microstimestamp(3)datetime(3)
otherUNSUPPORTED

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'
);

Query 運用

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

-- 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;