SelectDBデータソースの設定
SelectDB Cloudは、Apache Dorisをベースに構築された次世代のマルチクラウドネイティブなリアルタイムデータウェアハウスです。
対応バージョン
SelectDB 4.0+
使用制限
現在、次の構成方法にのみ対応しています:
- AEプリセット倉庫の空間テーブルからSelectDBへの書き込み(オフライン書き込み)に対応
注:
- SelectDBデータソースの読み取り(オフライン読み取り)には現在対応していません
対応するフィールドタイプ
ソースフィールドを流向先のフィールドに正しく書き込めるかどうかはSelectDBのエンジンが判断し、書き込めない場合はNullになります。
AEデータ開発プラットフォームの統合プランはデータタイプを強制的に変換せず、エンジンに処理を任せます。
| SelectDBのタイプ | オフライン書き込み(Writer) | 備考 |
|---|---|---|
| 数値タイプ | ||
| TINYINT | 対応 | 1バイトの符号付き整数。範囲は [-128, 127] |
| SMALLINT | 対応 | 2バイトの符号付き整数。範囲は [-32768, 32767] |
| INT | 対応 | 4バイトの符号付き整数。範囲は [-2147483648, 2147483647] |
| BIGINT | 対応 | 8バイトの符号付き整数。範囲は [-9223372036854775808, 9223372036854775807] |
DECIMAL | 対応 | DECIMAL(P [, S]) 高精度の固定小数点数です。 P は有効桁数の合計 (precision)、S は小数点以下の最大桁数 (scale) を表します。1.19.0以降のバージョンでは、decimalタイプの(P,S)にデフォルト値が設定されており、デフォルトはdecimal(10,0)です |
| DOUBLE | 対応 | 8バイトの浮動小数点数 |
| BOOLEAN | 対応 | BOOL, BOOLEAN TINYINTと同じく、0はfalse、1はtrueを表します |
| LARGEINT | 対応 | 16バイトの符号付き整数。範囲は [-2^127 + 1 ~ 2^127 - 1] |
| FLOAT | 対応 | 4バイトの浮動小数点数。 |
| 文字列タイプ | ||
| CHAR | 対応 | CHAR(M) 固定長文字列です。Mは固定長文字列の長さを表します。Mの範囲は1~255です。 |
VARCHAR | 対応 | VARCHAR(M) 可変長文字列です。 M は可変長文字列の長さを表します。単位はバイトで、デフォルト値は 1 です。 |
| STRING | 対応 | 文字列。最大長は65533バイト |
| 時間タイプ | ||
| DATE | 対応 | 日付タイプです。現在の値の範囲は ['0000-01-01', '9999-12-31'] です。 デフォルトの出力形式は 'YYYY-MM-DD' です。 |
| DATETIME | 対応 | 日時タイプです。値の範囲は ['0000-01-01 00:00:00', '9999-12-31 23:59:59'] です。 出力形式は'YYYY-MM-DD HH:MM:SS'です |
| 半構造化タイプ | ||
| JSON | 対応 | |
| ARRAY | 対応 | |
| MAP | 対応 | |
| STRUCT | 対応 | |
| VARIANT | 対応 | VARIANTタイプは、いつ変化するかわからない複雑なネスト構造の処理に特に適しています。書き込みの過程で、このタイプは列の構造とタイプに基づいて列情報を自動的に推論し、書き込まれたschemaを動的にマージします。また、JSONのキーとその値を列および動的なサブ列として格納します。 |
| 集計タイプ | ||
| HLL | 未対応 | |
| BITMAP | 未対応 | |
| QUANTILE_STATE | 未対応 | |
| AGG_STATE | 未対応 |
テーブルタイプの説明
| テーブルタイプ | Aggregate(集計テーブル) | Unique(ユニークキーテーブル) | Duplicate(明細テーブル) |
|---|---|---|---|
| データモデル | 事前集計モデル | 主キー一意モデル | 明細データモデル |
| 保存の特徴 | 同じディメンションを自動集計(SUM/MAX/MINなど) | 同じ主キーは上書き(新しいバージョンで古いバージョンを上書き) | 元データをすべて保存(集計も上書きもなし) |
| 主な特徴 |
|
|
|
| SQLの例 | | | |
集計タイプの説明
| 集計タイプ | 役割 | 対象の列タイプ | 代表的な利用シーン |
|---|---|---|---|
| SUM | 同じディメンション列の値を合計 | 数値タイプ(INT/BIGINT/DECIMAL) | 売上高、アクセス数などの累計指標 |
| MIN | 同じディメンション列の最小値を取得 | 数値タイプ/日付タイプ | 最小値、最初のログイン時刻 |
| MAX | 同じディメンション列の最大値を取得 | 数値タイプ/日付タイプ | 最大値、最新のログイン時刻 |
| REPLACE | 後から書き込まれたデータで前の値を完全に上書き(NULLかどうかにかかわらず) | 任意のタイプ | ユーザーの最新の住所、注文の最終ステータス |
REPLACE_IF_NOT_NULL | NULL以外の値のみで前の値を上書き(NULLの場合は古い値を保持) フィールドのデフォルト値が | 任意のタイプ | ユーザー情報の段階的な更新(既存のフィールドを保持) |
SelectDBデータソースの作成
データ開発プラットフォーム - バッチ統合 モジュールで、SelectDBデータソースを追加を選択できます
データソース設定パラメータ情報
同じページで基本情報とデータソース設定を入力し、接続性テストが完了すると、SelectDBデータソースを作成できます。
| フィールド名 | 説明 |
|---|---|
| 基本情報 | |
| *データソース名 | データ開発プラットフォームのスペース内で一意である必要があります。英字、数字、アンダースコアの組み合わせで、数字やアンダースコアで始めることはできません |
| 備考 | 任意 |
| データソース設定 | |
| 環境を区別しない / 独立環境構成 | いずれかを選択:「環境を区別しない」は本番環境と開発環境で1セットの構成を共用することを表し、「独立環境構成」は2つの環境をそれぞれ独立して設定することを表します |
| *サーバーアドレス/IP | SelectDBデータベースがあるサーバーのアドレス。複数のアドレスはカンマで区切ってください |
| *ポート | SelectDBへのアクセスに使用するポート |
| *データベース | SelectDBで作成済みのデータベースの名前 |
| *ユーザー名 | データベースへのアクセス権限を持つユーザー名 |
| *パスワード | ユーザー名に対応するパスワード情報 |
| 高度な構成 | データベースへの接続に必要なその他の高度なパラメータ。自由に入力できます |
| 注:デフォルトはクラスタデプロイモード | |
パラメータ名の前に * が付いているものは必須パラメータ、* が付いていないものは任意パラメータです。
オフライン同期タスクの作成
上記の手順でSelectDBデータソースを作成し、接続性テストに成功したら、実際のシナリオに応じてSelectDBオフライン書き込みのタスクを設定できます。
データの流向としてのSelectDB
データの流向としてSelectDBを選択し、以下の関連パラメータを設定します:
| フィールド名 | 説明 |
|---|---|
| *データソース(タイプ) | データの流向のターゲットタイプとしてSelectDBを選択します。このドロップダウンには現在のスペースに既にあるデータソースのタイプのみが表示されるため、SelectDBデータソースをまだ作成していない場合はSelectDBが見つかりません。先にドロップダウン下部の「+ データソース」または「データソース管理」からデータソースを作成する必要があります |
| *データソース(データソース) | データソース管理画面で登録済みのSelectDBデータソースを、ドロップダウンから選択できます。 対応するデータソースをまだ作成していない場合は、データソース管理 ボタンをクリックして、SelectDBデータソースを作成できます。 |
| *完全修飾名(catalog) | internal。externalには現在対応していません |
| *完全修飾名(データベース) | 書き込み先のデータベース名 |
| *テーブル書き込み | 書き込み先のデータテーブル。ドロップダウンから選択できます。ドロップダウンの横に「テーブルを迅速に構築」の入口があります |
| *パーティションフィールドの値 | 入力方法 によってパーティションフィールドの値を定義できます。パーティションフィールド = days とした場合:
|
| *書き込みモード |
|
フィールド照合の説明
データソースとターゲット側の設定が完了したら、フィールド照合関係を作成する必要があります。システムは照合関係に従って、ソース側フィールドのデータを目標フィールドに自動的に同期します。フィールド照合関係の設定方法は3つあります:
- 方法1:カスタム選択。ソーステーブルのフィールドを選択し、目標テーブルの目標フィールドを選択します
- 方法2:同名照合。システムが、ソーステーブルと目標テーブルの同名フィールド間に照合関係を自動作成します
- 方法3:同行照合。システムが、同じ行のフィールド間に照合関係を自動作成します
1つの目標フィールドに対応できるソースフィールドは1つだけであることに注意してください
パーティションテーブル/非パーティションテーブルの書き込み動作
| 目標テーブル | パーティションの状況 | insert | Insert Overwrite |
|---|---|---|---|
| 非パーティションテーブル | — | 直接書き込み | 上書き書き込み |
| 非自動パーティションテーブル(Partition) | パーティションあり | 直接書き込み | 上書き書き込み |
| 非自動パーティションテーブル(Partition) | パーティションなし | 書き込み失敗(Unknown partition) | 書き込み失敗(Unknown partition) |
| 自動パーティションテーブル(Auto Partition、デフォルトでenable_auto_create_when_overwrite = true) | パーティションあり | 直接書き込み | 上書き書き込み |
| 自動パーティションテーブル(Auto Partition) | パーティションなし | パーティションを作成して書き込み | パーティションを作成して書き込み |
基本情報の設定
最後に、統合プランの基本情報を設定する必要があります。プラン名、責任者、統合の同期速度、備考などが含まれます。
設定が完了したら、「保存」 ボタンをクリックして統合プランの作成を完了できます。
注:プラン名は保存後に変更できません
詳細ページの表示:
オフライン同期プランのタスクフローへのマウント
マウントされたタスクフロー
1.マウント手順を開始する
- 統合プランの詳細ページで、右上の「ジョブフローにマウントする」ボタンをクリックします
2.タスクフローを選択する
-
ドロップダウンメニューから対象のタスクフローを選択します
-
タスクフローを新規作成する場合:
- ドロップダウンメニューの下にある「タスクフローを新規作成」ショートカットボタンをクリックします
- または「開発」モジュールで作成します
-
ヒント:対象のタスクフローが表示されない場合は、右側の↻更新ボタンをクリックしてください
3.同期ノードを作成する
- タスクフロー内で「オフライン同期プラン」タイプのノードを新規作成します
- このノードは現在の統合プランに関連付けられ、ノードの実行時に対応する統合プランの実行がトリガーされます
4.マウントを完了する
- 「ノードを作成し、マウントします」をクリックして設定を完了します
- マウントに成功したら、「タスクフローに進む」をクリックしてマウント結果をすぐに確認できます
注:タスクフローへのマウントで作成されたタスクノードは 未リリース状態 です。タスクフローを確認し、そのノードをリリースして配信を開始することをお勧めします。
タスクフローのマウント解除
オフライン同期プランのタスクフローへのマウントを解除する場合:
- タスクフローがまだリリースされていない場合は、そのプランがマウントされているタスクフローに移動し、開発モード でその「オフライン同期プラン」タスクノードを削除するだけです。
- タスクフローがすでにリリースされている場合は、開発モード でその「オフライン同期プラン」タスクノードを削除した後、タスクフローを再リリースする必要があります。これにより、本番環境 でのそのノードのマウントも同時に解除されます。

