メインコンテンツまでスキップ

SelectDBデータソースの設定

最終更新 2026/10/03

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など)同じ主キーは上書き(新しいバージョンで古いバージョンを上書き)元データをすべて保存(集計も上書きもなし)
主な特徴
  • 指標列には集計関数(SUM/MAX/MIN/REPLACE)の定義が必須
  • クエリ時にディメンション列で自動集計されるため、GROUP BYを書く必要がない
  • 同じ UNIQUE KEY は上書き書き込み
  • リアルタイム更新に対応
  • 元の明細データを保存(重複を許容)
  • 集計機能はなく、クエリでは明示的な GROUP BY が必要
SQLの例
CREATE TABLE agg_sales (
dt DATE,                -- ディメンション列(自動グループ化)
product_id INT,         -- ディメンション列
total_sales BIGINT SUM, -- 指標列(集計関数)
max_price INT MAX       -- 指標列
) ENGINE=OLAP
AGGREGATE KEY(dt, product_id) -- 集計キーを指定
DISTRIBUTED BY HASH(product_id);
CREATE TABLE user_profile (
user_id BIGINT,         -- 主キー列
name VARCHAR REPLACE,   -- 更新可能な列
age INT REPLACE,
last_login DATETIME REPLACE
) ENGINE=OLAP
UNIQUE KEY(user_id)         -- ユニークキーを指定
DISTRIBUTED BY HASH(user_id);
CREATE TABLE click_logs (
log_time DATETIME,      -- 主キーなし
user_id BIGINT,
url VARCHAR,
ip VARCHAR
) ENGINE=OLAP
DUPLICATE KEY(log_time, user_id) -- ソートのみ、一意ではない
DISTRIBUTED BY HASH(user_id);

集計タイプの説明​

集計タイプ役割対象の列タイプ代表的な利用シーン
SUM同じディメンション列の値を合計数値タイプ(INT/BIGINT/DECIMAL)売上高、アクセス数などの累計指標
MIN同じディメンション列の最小値を取得数値タイプ/日付タイプ最小値、最初のログイン時刻
MAX同じディメンション列の最大値を取得数値タイプ/日付タイプ最大値、最新のログイン時刻
REPLACE後から書き込まれたデータで前の値を完全に上書き(NULLかどうかにかかわらず)任意のタイプユーザーの最新の住所、注文の最終ステータス

REPLACE_IF_NOT_NULL

NULL以外の値のみで前の値を上書き(NULLの場合は古い値を保持)

フィールドのデフォルト値が NULL である必要があります(デフォルト値が空文字列 '' の場合は、有効な値とみなされて上書きされます)。

任意のタイプユーザー情報の段階的な更新(既存のフィールドを保持)

SelectDBデータソースの作成​

データ開発プラットフォーム - バッチ統合 モジュールで、SelectDBデータソースを追加を選択できます

データソース設定パラメータ情報

同じページで基本情報とデータソース設定を入力し、接続性テストが完了すると、SelectDBデータソースを作成できます。

フィールド名説明
基本情報
*データソース名データ開発プラットフォームのスペース内で一意である必要があります。英字、数字、アンダースコアの組み合わせで、数字やアンダースコアで始めることはできません
備考任意
データソース設定
環境を区別しない / 独立環境構成いずれかを選択:「環境を区別しない」は本番環境と開発環境で1セットの構成を共用することを表し、「独立環境構成」は2つの環境をそれぞれ独立して設定することを表します
*サーバーアドレス/IPSelectDBデータベースがあるサーバーのアドレス。複数のアドレスはカンマで区切ってください
*ポートSelectDBへのアクセスに使用するポート
*データベースSelectDBで作成済みのデータベースの名前
*ユーザー名データベースへのアクセス権限を持つユーザー名
*パスワードユーザー名に対応するパスワード情報
高度な構成データベースへの接続に必要なその他の高度なパラメータ。自由に入力できます
注:デフォルトはクラスタデプロイモード

パラメータ名の前に * が付いているものは必須パラメータ、* が付いていないものは任意パラメータです。

オフライン同期タスクの作成​

上記の手順でSelectDBデータソースを作成し、接続性テストに成功したら、実際のシナリオに応じてSelectDBオフライン書き込みのタスクを設定できます。

データの流向としてのSelectDB​

データの流向としてSelectDBを選択し、以下の関連パラメータを設定します:

フィールド名説明
*データソース(タイプ)データの流向のターゲットタイプとしてSelectDBを選択します。このドロップダウンには現在のスペースに既にあるデータソースのタイプのみが表示されるため、SelectDBデータソースをまだ作成していない場合はSelectDBが見つかりません。先にドロップダウン下部の「+ データソース」または「データソース管理」からデータソースを作成する必要があります
*データソース(データソース)データソース管理画面で登録済みのSelectDBデータソースを、ドロップダウンから選択できます。
対応するデータソースをまだ作成していない場合は、データソース管理 ボタンをクリックして、SelectDBデータソースを作成できます。
*完全修飾名(catalog)internal。externalには現在対応していません
*完全修飾名(データベース)書き込み先のデータベース名
*テーブル書き込み書き込み先のデータテーブル。ドロップダウンから選択できます。ドロップダウンの横に「テーブルを迅速に構築」の入口があります
*パーティションフィールドの値

入力方法 によってパーティションフィールドの値を定義できます。パーティションフィールド = days とした場合:

  • 「定数」はカスタム値です:days = 2025-01-01
  • 「パラメータ」は空間パラメータです:days =${bd}。実行時には基準日付の値が使用されます
  • 「フィールド」はソーステーブルのフィールドです:days = 「dt1」
*書き込みモード
  • 新しいデータを挿入/更新挿入: Insert Into
  • 上書き書き込み:Insert Overwrite

フィールド照合の説明​

データソースとターゲット側の設定が完了したら、フィールド照合関係を作成する必要があります。システムは照合関係に従って、ソース側フィールドのデータを目標フィールドに自動的に同期します。フィールド照合関係の設定方法は3つあります:

  • 方法1:カスタム選択。ソーステーブルのフィールドを選択し、目標テーブルの目標フィールドを選択します
  • 方法2:同名照合。システムが、ソーステーブルと目標テーブルの同名フィールド間に照合関係を自動作成します
  • 方法3:同行照合。システムが、同じ行のフィールド間に照合関係を自動作成します

1つの目標フィールドに対応できるソースフィールドは1つだけであることに注意してください

パーティションテーブル/非パーティションテーブルの書き込み動作​

目標テーブルパーティションの状況insertInsert Overwrite
非パーティションテーブル—直接書き込み上書き書き込み
非自動パーティションテーブル(Partition)パーティションあり直接書き込み上書き書き込み
非自動パーティションテーブル(Partition)パーティションなし書き込み失敗(Unknown partition)書き込み失敗(Unknown partition)
自動パーティションテーブル(Auto Partition、デフォルトでenable_auto_create_when_overwrite = true)パーティションあり直接書き込み上書き書き込み
自動パーティションテーブル(Auto Partition)パーティションなしパーティションを作成して書き込みパーティションを作成して書き込み
元の画像を見る

基本情報の設定​

最後に、統合プランの基本情報を設定する必要があります。プラン名、責任者、統合の同期速度、備考などが含まれます。

設定が完了したら、「保存」 ボタンをクリックして統合プランの作成を完了できます。

注:プラン名は保存後に変更できません

詳細ページの表示:

オフライン同期プランのタスクフローへのマウント​

マウントされたタスクフロー​

1.マウント手順を開始する

  • 統合プランの詳細ページで、右上の「ジョブフローにマウントする」ボタンをクリックします

2.タスクフローを選択する

  • ドロップダウンメニューから対象のタスクフローを選択します

  • タスクフローを新規作成する場合:

    • ドロップダウンメニューの下にある「タスクフローを新規作成」ショートカットボタンをクリックします
    • または「開発」モジュールで作成します
  • ヒント:対象のタスクフローが表示されない場合は、右側の↻更新ボタンをクリックしてください

3.同期ノードを作成する

  • タスクフロー内で「オフライン同期プラン」タイプのノードを新規作成します
  • このノードは現在の統合プランに関連付けられ、ノードの実行時に対応する統合プランの実行がトリガーされます

4.マウントを完了する

  • 「ノードを作成し、マウントします」をクリックして設定を完了します
  • マウントに成功したら、「タスクフローに進む」をクリックしてマウント結果をすぐに確認できます
ヒント

注:タスクフローへのマウントで作成されたタスクノードは 未リリース状態 です。タスクフローを確認し、そのノードをリリースして配信を開始することをお勧めします。

タスクフローのマウント解除​

オフライン同期プランのタスクフローへのマウントを解除する場合:

  • タスクフローがまだリリースされていない場合は、そのプランがマウントされているタスクフローに移動し、開発モード でその「オフライン同期プラン」タスクノードを削除するだけです。
  • タスクフローがすでにリリースされている場合は、開発モード でその「オフライン同期プラン」タスクノードを削除した後、タスクフローを再リリースする必要があります。これにより、本番環境 でのそのノードのマウントも同時に解除されます。
このページは役に立ちましたか?