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

StarRocksデータソースの設定

最終更新 2026/10/05

StarRocksは高性能な分析型データウェアハウスです。ベクトル化、MPPアーキテクチャ、CBO、インテリジェントなマテリアライズドビュー、リアルタイム更新が可能な列指向ストレージエンジンなどの技術により、多次元かつリアルタイムで高い同時実行性を備えたデータ分析を実現します。

対応バージョン​

StarRocks 3.3+

使用制限​

現在、次の構成方法にのみ対応しています:

  • AEプリセット倉庫の空間テーブルからStarRocksへの書き込み(オフライン書き込み)に対応

注:

  • StarRocksデータソースの読み取り(オフライン読み取り)には現在対応していません

対応するフィールドタイプ​

ソースフィールドを流向先のフィールドに正しく書き込めるかどうかはStarRocksのエンジンが判断し、書き込めない場合はNullになります。

AEデータ開発プラットフォームの統合プランはデータタイプを強制的に変換せず、エンジンに処理を任せます。

StarRocksのタイプオフライン書き込み(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バイト

BINARY/VARBINARY

未対応

バージョン3.0以降、StarRocksはBINARY(M) / VARBINARY(M) データタイプに対応しています。バイナリデータの保存に使用し、単位はバイトです。

サポートされる最大長はVARCHARタイプと同じで、M の値の範囲は [1,1048576] です。M を指定しない場合、デフォルトは最大値の1048576です。

BINARYはVARBINARYの別名で、使い方はVARBINARYと同じです。

時間タイプ
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対応
集計タイプ
HLL未対応HyperLogLogタイプ。近似的な重複排除に使用します。
BITMAP未対応BITMAPはHLL (HyperLogLog) と同様に、count distinctによる重複排除カウントの高速化によく使われます。

テーブルタイプの説明​

  • 明細テーブル(Duplicate key table) はシンプルで使いやすく、テーブル内のデータには何の制約もなく、同じデータ行が重複して存在できます。制約や事前集計を必要としない、ログなどの元データの保存に適しています。
  • 主キーテーブル ( Primary Key table) は強力な機能を備え、一意性制約と非NULL制約があります。リアルタイム更新や部分列更新などのシナリオに対応しながらクエリのパフォーマンスも確保できるため、リアルタイムクエリに適しています。
  • 集計テーブル(Aggregate table) は事前集計後のデータの保存に適しており、集計クエリでスキャン・計算するデータ量を減らして、集計クエリの効率を大幅に向上できます。
  • 更新テーブル (Unique Key table) はリアルタイム更新が必要な業務シナリオに適していますが、現在は徐々に主キーテーブルに置き換えられています。
主キーテーブル (Primary Key table)明細テーブル (Duplicate Key table)集計テーブル (Aggregate table)更新テーブル (Unique Key table)
一意性制約主キー PRIMARY KEY には一意性制約と非NULL制約があります。DUPLICATE KEY には一意性制約がありません。集計キー AGGREGATE KEY には一意性制約があります。ユニークキー UNIQUE KEY には一意性制約があります。
Key列の論理関係新しいデータの主キーの値がテーブル内の元のデータの主キーの値と同じ場合は一意性制約の競合となり、新しいデータで元のデータが置き換えられます。
更新テーブルと比べて、主キーテーブルは基盤となるストレージエンジンが強化されており、すでに更新テーブルに代わるものとなっています。
Duplicate Key には一意性制約がないため、新しいデータのDuplicate Keyがテーブル内の元のデータと同じ場合、新旧両方のデータがテーブルに存在します。新しいデータとテーブル内の元のデータとの間で一意性制約の競合が発生した場合、集計キーとValue列の集計関数に従って新旧のデータが集計されます。新しいデータとテーブル内の元のデータとの間で一意性制約の競合が発生した場合、新しいデータで元のデータが置き換えられます。
更新テーブルは、実質的に集計関数がreplaceの集計テーブルとみなすことができます。

ソートキーで対応する

データタイプ

数値(整数、ブール値を含む)、文字列、日時。数値(整数、ブール値、Decimalを含む)、文字列、日時。
パーティション列/バケット列

パーティション列、バケット列 は主キーに含まれている必要があります。

なし

パーティション列、バケット列は集計キーに含まれている必要があります。

パーティション列、バケット列はユニークキーに含まれている必要があります。

集計タイプの説明​

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

REPLACE_IF_NOT_NULL

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

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

任意のタイプ

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

書き込みモード​

AEの統合プランでは、StarRocksへの書き込みに Insert +Files の書き込みモードを採用しています

対応しているソースデータソースのタイプ
  • データソース:
    • HDFS
    • S3

対応しているファイルタイプ

  • Parquet
  • ORC

CSV/Avro/Json/Textには現在対応していません

構文の例
INSERT INTO user_behavior_declared
SELECT * FROM FILES
(
"path" = "hdfs://<hdfs_ip>:<hdfs_port>/user/amber/user_behavior_ten_million_rows.parquet",
"format" = "parquet",
"hadoop.security.authentication" = "simple",
"username" = "<hdfs_username>",
"password" = "<hdfs_password>"
);

StarRocksデータソースの作成​

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

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

データソースに必要な設定情報を入力し、接続性テストが完了すると、StarRocksデータソースを作成できます。

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

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

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

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

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

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

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

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

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

補足説明:

書き込みモード主キーテーブル (Primary Key table)明細テーブル (Duplicate Key table)集計テーブル (Aggregate table)更新テーブル (Unique Key table)
Insert into
  • 対応

実際の操作はUpsert

  • 対応

Updateには未対応

  • 対応
  • 対応

フィールド照合の説明​

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

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

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

基本情報の設定​

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

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

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

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

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

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

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

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

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

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

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

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

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

4.マウントを完了する

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

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

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

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

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