StarRocks 出力コンポーネントを使用すると、StarRocks データソースへのデータ書き込みが可能になります。さまざまなソースから StarRocks へデータを同期する際は、まずソース情報を構成し、その後で StarRocks 出力コンポーネントを構成して、データが意図したターゲットに書き込まれるようにしてください。本トピックでは、StarRocks 出力コンポーネントの構成手順について説明します。
前提条件
StarRocks データソースを正常に作成済みである必要があります。詳細については、「StarRocks データソースの作成」をご参照ください。
StarRocks 出力コンポーネントのプロパティを構成するには、アカウントにデータソースに対するライトスルー権限が必要です。権限がない場合は、データソースから権限を取得する必要があります。詳細については、「データソース権限のリクエスト、更新、返却」をご参照ください。
Stream Load データ遅延の説明
StarRocks データベースへの Stream Load インポートでは、さまざまなステータスが返される可能性があります。その中に「publish timeout(公開タイムアウト)」も含まれます。これはタスクが成功していることを示していますが、クエリに遅延が発生する場合があります。実行ログで以下のステータスを確認してください。
Success(成功):インポートが正常に完了し、データは即座に参照可能です。
Publish Timeout(公開タイムアウト):インポートジョブは正常にコミットされていますが、データが即座に参照可能にならない場合があります。成功とみなされるため、リトライしないでください。
Label Already Exists(ラベルが既に存在):別のジョブがすでにこのラベルを使用しており、そのジョブは成功しているか、またはまだ進行中の可能性があります。
Fail(失敗):インポートが失敗しました。指定されたラベルを使用してジョブをリトライしてください。
操作手順
Dataphin ホームページで、上部メニューバーから 開発 > Data Integration を選択します。
統合ページの上部メニューバーから プロジェクト を選択します(Dev-Prod モードの場合は環境を選択する必要があります)。
左側のナビゲーションウィンドウで バッチパイプライン オプションをクリックします。バッチパイプライン リストから、開発対象の オフラインパイプライン を選択して、その構成ページを開きます。
[コンポーネントライブラリ] パネルを開くには、ページ右上の [コンポーネントライブラリ] をクリックします。
コンポーネントライブラリ パネルの左側ナビゲーションウィンドウで 出力 を選択します。右側のリストから StarRocks コンポーネントを見つけ、キャンバス上にドラッグします。
アイコンをクリックしてドラッグし、対象の入力コンポーネントを StarRocks 出力コンポーネントに接続します。StarRocks 出力コンポーネントカード上の
アイコンをクリックして、[Starrocks 出力設定] ダイアログボックスを開きます。
StarRocks 出力構成 ダイアログボックスで、必要なパラメーターを構成します。
パラメーター
説明
基本設定
ステップ名
これは StarRocks 出力コンポーネントの名前です。Dataphin はステップ名を自動生成しますが、ビジネスシナリオに応じて変更することもできます。命名規則は次のとおりです。
漢字、英字、アンダースコア (_)、数字のみ使用可能です。
最大 64 文字までです。
データソース
データソースのドロップダウンリストには、ライトスルー権限があるものとないものを含む、すべての StarRocks タイプのデータソースが表示されます。現在のデータソース名をコピーするには、
アイコンをクリックします。ライトスルー権限がないデータソースの場合、データソースの横にある リクエスト をクリックして、データソースのライトスルー権限をリクエストできます。詳細については、「データソース権限のリクエスト」をご参照ください。
StarRocks タイプのデータソースがない場合は、データソースの作成 をクリックしてデータソースを作成します。詳細については、「StarRocks データソースの作成」をご参照ください。
テーブル
出力データのターゲットテーブルを選択します。 テーブル名のキーワードを入力して検索するか、正確なテーブル名を入力して 完全一致検索 をクリックできます。テーブルを選択すると、システムが自動的にテーブルのステータスをチェックします。現在選択されているテーブル名をコピーするには、
アイコンをクリックします。StarRocks データソース内にデータ同期用のターゲットテーブルがない場合は、ワンクリックテーブル作成機能を使用して、ターゲットテーブルを迅速に生成できます。以下の手順を実行してください。
ワンクリックテーブル作成 をクリックします。Dataphin は、ターゲットテーブル名(デフォルトはソーステーブル名)、フィールドの型(Dataphin フィールドの初期変換に基づく)、その他の情報などを含む、ターゲットテーブル作成用のコードを自動的にマッチングします。
ビジネス状況に応じてターゲットテーブル作成用の SQL スクリプトを修正し、作成 をクリックします。
ターゲットテーブルが正常に作成されると、Dataphin は自動的に新しく作成されたターゲットテーブルを出力データのターゲットテーブルとして設定します。ワンクリックテーブル作成は、開発環境および本番環境でのデータ同期用ターゲットテーブル作成に使用されます。Dataphin はデフォルトで本番環境でのテーブル作成を選択します。本番環境にすでに同じ名前および構造のデータテーブルが存在する場合は、本番環境でのテーブル作成を選択する必要はありません。
説明開発環境または本番環境に同名のテーブルが存在する場合、[作成] をクリックすると「テーブルがすでに存在します」というエラーが Dataphin から報告されます。
該当する項目がない場合でも、手動で入力したテーブル名に基づく統合がサポートされています。
コピーモードではビューの選択はサポートされていません。
データフォーマット
CSV または JSON を選択できます。
CSV を選択した場合、CSV インポート列区切り文字 および CSV インポート行区切り文字 も構成する必要があります。
CSV インポート列区切り文字(任意)
StreamLoad を使用して CSV データをインポートする際に、列区切り文字を構成できます。デフォルト値は
_@dp@_です。デフォルト値を使用する場合は、指定しないでください。データに_@dp@_が含まれている場合は、別の文字をデリミタとして使用する必要があります。CSV インポート行区切り文字(任意)
StreamLoad を使用して CSV データをインポートする際に、行区切り文字を構成できます。デフォルト値は
_#dp#_です。デフォルト値を使用する場合は、指定しないでください。データに_#dp#_が含まれている場合は、別の文字をデリミタとして使用する必要があります。バッチ書き込みデータ量(任意)
一度に書き込むデータ量のサイズです。バッチ書き込み件数 も設定できます。システムは、この 2 つの設定のうち最初に達した制限に従って書き込みを実行します。デフォルトは 32 MB です。
バッチ書き込み件数(任意)
デフォルトは 2048 件 です。データを同期的に書き込む際は、バッチ書き込み戦略が使用されます。設定可能なパラメーターには、バッチ書き込み件数 および バッチ書き込みデータ量 が含まれます。
蓄積されたデータ量がいずれかの設定制限(バッチ書き込みデータ量または件数の制限)に達すると、システムはそのバッチのデータが満杯になったと判断し、即座にそのバッチのデータをターゲット側に一度に書き込みます。
バッチ書き込みデータ量は 32 MB に設定することを推奨します。バッチ挿入件数の制限については、単一レコードの実際のサイズに応じて柔軟に調整できます。一般的に、バッチ書き込みの利点を十分に活用するために、より大きな値に設定します。たとえば、単一レコードのサイズが約 1 KB の場合、バッチ挿入バイトサイズを 16 MB に設定できます。この条件を考慮して、バッチ挿入件数を 16 MB を単一レコードのサイズ(1 KB)で割った結果(16384 件)より大きい値、たとえば 20000 件 に設定します。この構成により、システムはバッチ挿入バイトサイズに基づいてバッチ書き込み操作をトリガーします。蓄積されたデータ量が毎回 16 MB に達すると、書き込み操作が実行されます。
準備ステートメント(任意)
データインポート前にデータベースで実行される SQL スクリプトです。
たとえば、サービスの継続的な可用性を確保するために、現在のステップでデータを書き込む前にターゲットテーブル Target_A を作成し、Target_A に書き込みを実行します。現在のステップでデータを書き込んだ後、データベース内で継続的にサービスを提供しているテーブル Service_B を Temp_C にリネームし、次にテーブル Target_A を Service_B にリネームし、最後に Temp_C を削除します。
終了ステートメント(任意)
データインポート後にデータベースで実行される SQL スクリプトです。
フィールドマッピング
入力フィールド
上流コンポーネントの出力に基づいて入力フィールドを表示します。
出力フィールド
出力フィールドを表示します。以下の操作を実行できます。
フィールド管理:フィールド管理 をクリックして、出力フィールドを選択します。

アイコンをクリックして、選択済み入力フィールド を 未選択入力フィールド に移動します。
アイコンをクリックして、未選択入力フィールド を 選択済み入力フィールド に移動します。
一括追加:一括追加 をクリックします。JSON、TEXT、DDL 形式での一括構成がサポートされています。
JSON 形式での一括構成例:
// 例: [{ "name": "user_id", "type": "String" }, { "name": "user_name", "type": "String" }]説明name はインポートするフィールドの名前を指定します。type はインポート後のフィールドのデータの型を指定します。たとえば、
"name":"user_id","type":"String"は user_id という名前のフィールドをインポートし、そのデータの型を String に設定します。TEXT 形式での一括構成例:
// 例: user_id,String user_name,String行区切り文字は各フィールドの情報を区切るために使用されます。デフォルトは改行 (\n) です。改行 (\n)、セミコロン (;)、ピリオド (.) がサポートされています。
列区切り文字はフィールド名とフィールドの型を区切るために使用されます。デフォルトはカンマ (,) です。
DDL 形式での一括構成例:
CREATE TABLE tablename ( id INT PRIMARY KEY, name VARCHAR(50), age INT );
新規出力フィールドの作成:+新規出力フィールドの作成 をクリックし、ページの指示に従って 列 を入力し、型 を選択します。現在行の構成が完了したら、
アイコンをクリックして保存します。
マッピング
上流の入力およびターゲットテーブルのフィールドに基づいて、手動でフィールドマッピングを選択できます。マッピング には 行マッピング および 名前マッピング が含まれます。
名前マッピング:フィールド名が同一のフィールドをマッピングします。
行マッピング:ソーステーブルとターゲットテーブルのフィールド名が一致しませんが、フィールドの対応する行のデータをマッピングする必要があります。同じ行にあるフィールドのみがマッピングされます。
「StarRocks 出力コンポーネント」のプロパティの構成を完了するには、[確認] をクリックしてください。