ロード時のデータ変換
StarRocks はロード時のデータ変換をサポートしています。
この機能は Stream Load、Broker Load、および Routine Load をサポートしていますが、Spark Load はサポートしていません。
StarRocks テーブルにデータを ロード するには、その StarRocks テーブルに対して INSERT 権限を持つユーザーである必要があります。INSERT 権限を持っていない場合は、 GRANT に記載されている手順に従って、StarRocks クラスターに接続するために使用するユーザーに INSERT 権限を付与してください。構文は GRANT INSERT ON TABLE <table_name> IN DATABASE <database_name> TO { ROLE <role_name> | USER <user_identity>} です。
このトピックでは、CSV データを例にとり、ロード時にデータを抽出および変換する方法を説明します。サポートされるデータファイル形式は、選択したロード方法によって異なります。
NOTE
CSV データの場合、UTF-8 文字列(カンマ (,) 、タブ、またはパイプ (|) など)をテキスト区切り文字として使用できますが、その長さは 50 バイトを超えないようにしてく ださい。
シナリオ
データファイルを StarRocks テーブルにロードする際、データファイルのデータが StarRocks テーブルのデータに完全にマッピングされない場合があります。このような場合、データを StarRocks テーブルにロードする前に抽出や変換を行う必要はありません。StarRocks はロード中にデータの抽出と変換を支援します。
-
ロードする必要のない列をスキップする。
ロードする必要のない列をスキップできます。また、データファイルの列が StarRocks テーブルの列と異なる順序である場合、データファイルと StarRocks テーブルの間に列マッピングを作成できます。
-
ロードしたくない行をフィルタリングする。
StarRocks がロードしたくない行をフィルタリングする条件を指定できます。
-
元の列から新しい列を生成する。
生成列は、データファイルの元の列から計算される特別な列です。生成列を StarRocks テーブルの列にマッピングできます。
-
ファイルパスからパーティションフィールドの値を抽出する。
データファイルが Apache Hive™ から生成された場合、ファイルパスからパーティションフィールドの値を抽出できます。