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

ALTER ROUTINE LOAD

ALTER ROUTINE LOAD(ルーチンロードの変更)

説明

このコマンドは、作成されたルーチンロードジョブを変更するために使用されます。変更するジョブはPAUSED状態である必要があります。ロードジョブを一時停止させ、ジョブにALTER ROUTINE LOAD操作を行うために、PAUSE ROUTINE LOADコマンドを実行することができます。

構文

注意:角括弧[]で囲まれた内容は指定する必要はありません。

ALTER ROUTINE LOAD FOR [db.]<job_name>

[load_properties]

[job_properties]

FROM data_source

[data_source_properties]

パラメータ

  • [db.]<job_name>

変更したいジョブの名前です。

  • load_properties

インポートするデータのプロパティです。

構文:

[COLUMNS TERMINATED BY '<terminator>'],

[COLUMNS ([<column_name> [, ...] ] [, column_assignment [, ...] ] )],

[WHERE <expr>],

[PARTITION ([ <partition_name> [, ...] ])]



column_assignment:

<column_name> = column_expression
  1. カラムの区切り文字を指定します。インポートするCSVデータのカラムの区切り文字を指定することができます。たとえば、カンマ(,)をカラムの区切り文字として使用することができます。

    COLUMNS TERMINATED BY ","

    デフォルトの区切り文字は\tです。

  2. カラムのマッピングを指定します。ソーステーブルと宛先テーブルのカラムのマッピングを指定し、派生カラムの生成方法を定義します。ソーステーブルのどのカラムが宛先テーブルのどのカラムに対応しているかを順番に指定します。カラムをスキップする場合は存在しないカラム名を指定することができます。たとえば、宛先テーブルにはk1、k2、v1の3つのカラムがあります。ソーステーブルには4つのカラムがあり、そのうちの1つ目、2つ目、および4つ目のカラムがk2、k1、v1に対応しています。次のコードを書くことができます。

    COLUMNS (k2 , k1 , xxx , v1)

    xxxは存在しないカラムで、ソーステーブルの3番目のカラムをスキップするために使用されます。col_name = exprで表されるカラムは派生カラムです。これらのカラムはexprを使用して生成されます。派生カラムは通常、マッピングされたカラムの後に配置されます。これは強制的なルールではありませんが、StarRocksは常にマッピングされたカラムを派生カラムよりも優先して解析します。たとえば、宛先テーブルにはk1とk2を足した結果である4番目のカラムv2があります。次のコードを書くことができます。

    COLUMNS (k2 , k1 , xxx , v1 , v2 = k1 + k2);

    CSVデータの場合、COLUMNS内のマッピングされたカラムの数はCSVファイルのカラム数と一致する必要があります。

    • マッピングされたカラム(Mapped columns)
    • 派生カラム(Derived columns)
  3. フィルタ条件を指定します。フィルタ条件を使用して、不要なカラムをフィルタリングすることができます。フィルタカラムはマッピングされたカラムまたは派生カラムのどちらでも構いません。たとえば、k1の値が100より大きく、k2の値が1000と等しい列からデータをインポートする必要がある場合、次のコードを書くことができます。

    WHERE k1 > 100 and k2 = 1000
  4. データをインポートしたいパーティションを指定します。パーティションが指定されていない場合、データはCSVデータのパーティションキーの値に基づいて自動的にStarRocksパーティションにインポートされます。例:

    PARTITION(p1 , p2 , p3)
  • job_properties

変更したいジョブのパラメータです。現在、次のパラメータを変更することができます:

  1. desired_concurrent_number
  2. max_error_number
  3. max_batch_interval
  4. max_batch_rows
  5. max_batch_size
  6. jsonpaths
  7. json_root
  8. strip_outer_array
  9. strict_mode
  10. timezone
  • data_source

データソースのタイプです。現在、Kafkaデータソースのみがサポートされています。

  • data_source_properties

データソースのプロパティです。次のプロパティがサポートされています:

  1. kafka_partitions取り込まれたKafkaパーティションのみを変更することができます。
  2. kafka_offsets未消費のパーティションオフセットのみを変更することができます。
  3. property.group.idproperty.group.idなどのカスタムプロパティ

kafka_partitionsには、消費されたKafkaパーティションのみを指定できます。kafka_offsetsには、未消費のパーティションオフセットのみを指定できます。

例1:desired_concurrent_numberの値を1に変更します。このパラメータはKafkaデータを消費するために使用するジョブの並列性を指定します。

ALTER ROUTINE LOAD FOR db1.label1

PROPERTIES

(

"desired_concurrent_number" = "1"

);

例2:desired_concurrent_numberの値を10に変更し、パーティションオフセットとグループIDを変更します。

ALTER ROUTINE LOAD FOR db1.label1

PROPERTIES

(

"desired_concurrent_number" = "10"

)

FROM kafka

(

"kafka_partitions" = "0, 1, 2",

"kafka_offsets" = "100, 200, 100",

"property.group.id" = "new_group"

);

例3:フィルタ条件をa > 0に変更し、宛先パーティションをp1に設定します。

ALTER ROUTINE LOAD FOR db1.label1

WHERE a > 0

PARTITION (p1)