LakeSoulカタログ
注意!
この機能は3.1.0以降で非推奨となっています。使用に関するお問い合わせは、開発者にご連絡ください。
DorisはPostgreSQLに保存されたメタデータを使用してLakeSoulテーブルデータにアクセスし、読み取ることをサポートしています。
DockerでApache Doris & LakeSoulを簡単に体験
適用可能なシナリオ
| シナリオ | 説明 |
|---|---|
| データ統合 | LakeSoulデータを読み取ってDoris内部テーブルに書き込む、またはDoris計算エンジンを使用してZeroETL操作を実行する。 |
| データ書き戻し | サポートされていません。 |
Catalogの設定
構文
CREATE CATALOG lakesoul_catalog PROPERTIES (
'type' = 'lakesoul',
{LakeSoulProperties},
{CommonProperties}
);
-
{LakeSoulProperties}Property Description Example lakesoul.pg.usernamePGソースデータベースのユーザー名 lakesoul.pg.passwordPGソースデータベースのパスワード lakesoul.pg.urlPGメタデータデータベースのJDBC URL jdbc:postgresql://127.0.0.1:5432/lakesoul_test?stringtype=unspecified -
[CommonProperties]CommonPropertiesセクションは一般的なプロパティを記入するためのものです。「Common Properties」セクションの下にあるData Catalog Overviewを参照してください。
LakeSoulデータがHDFSに保存されている場合は、FEとBEの両方のconf/ディレクトリにcore-site.xml、hdfs-site.xml、hive-site.xmlを配置してください。conf/ディレクトリ内のHadoop設定ファイルが最初に読み込まれ、その後HADOOP_CONF_DIR環境変数で指定された設定ファイルが読み込まれます。
サポートされているLakeSoulバージョン
現在サポートされているLakeSoulバージョンは2.6.2です。
サポートされているLakeSoulフォーマット
- LakeSoul主キーおよび非主キーテーブルをサポートします。
- LakeSoul MOR (Merge-On-Read) テーブルの読み取りをサポートします。
カラムタイプマッピング
| LakeSoul Type | Doris Type | Comment |
|---|---|---|
| boolean | boolean | |
| int8 | tinyint | |
| int16 | smallint | |
| int32 | int | |
| int64 | bigint | |
| float | float | |
| double | double | |
| decimal(P, S) | decimal(P, S) | |
| string | string | |
| date | date | |
| timestamp(S) | datetime(S) | |
| list | array | |
| map | map | |
| row | struct | |
| other | UNSUPPORTED |
例
CREATE CATALOG lakesoul PROPERTIES (
'type' = 'lakesoul',
'lakesoul.pg.username' = 'lakesoul_test',
'lakesoul.pg.password' = 'lakesoul_test',
'lakesoul.pg.url' = 'jdbc:postgresql://127.0.0.1:5432/lakesoul_test?stringtype=unspecified'
);
クエリ操作
基本クエリ
Catalogが設定されると、以下のようにCatalog内のテーブルデータをクエリできます:
-- 1. switch to catalog, use database and query
SWITCH ls_ctl;
USE ls_db;
SELECT * FROM ls_tbl LIMIT 10;
-- 2. use lakesoul database directly
USE ls_ctl.ls_db;
SELECT * FROM ls_tbl LIMIT 10;
-- 3. use full qualified name to query
SELECT * FROM ls_ctl.ls_db.ls_tbl LIMIT 10;