Microsoft Azure Storage からのデータロード
StarRocks は、Azure からデータをロードするために次のオプションを提供しています。
- INSERT+
FILES()を使用した同期ロード - Broker Load を使用した非同期ロード
これらの各オプションにはそれぞれの利点があり、以下のセクションで詳しく説明します。
ほとんどの場合、使用が簡単な INSERT+FILES() メソッドをお勧めします。
ただし、INSERT+FILES() メソッドは現在、Parquet、ORC、および CSV ファイル形式のみをサポートしています。そのため、JSON などの他のファイル形式のデータをロードする必要がある場合や、データロード中に DELETE などのデータ変更を行う必要がある場合は、Broker Load を利用できます。
始める前に
ソースデータの準備
StarRocks にロードしたいソースデータが、Azure ストレージアカウント内のコンテナに適切に保存されていることを確認してください。
このトピックでは、Azure Data Lake Storage Gen2 (ADLS Gen2) ストレージアカウント (starrocks) 内のコンテナ (starrocks-container) のルートディレクトリに保存されている Parquet 形式のサンプルデータセット (user_behavior_ten_million_rows.parquet) のデータをロードすることを想定しています。
権限の確認
StarRocks テーブルにデータを ロード するには、その StarRocks テーブルに対して INSERT 権限を持つユーザーである必要があります。INSERT 権限を持っていない場合は、 GRANT に記載されている手順に従って、StarRocks クラスターに接続するために使用するユーザーに INSERT 権限を付与してください。構文は GRANT INSERT ON TABLE <table_name> IN DATABASE <database_name> TO { ROLE <role_name> | USER <user_identity>} です。
認証情報の収集
このトピックの例では、Shared Key 認証方法を使用します。ADLS Gen2 からデータを読み取る権限があることを確認するために、Azure Data Lake Storage Gen2 > Shared Key (ストレージアカウントのアクセスキー) を読み、設定する必要のある認証パラメータを理解することをお勧めします。
簡単に言うと、Shared Key 認証を実践する場合、次の情報を収集する必要があります。
- ADLS Gen2 ストレージアカウントのユーザー名
- ADLS Gen2 ストレージアカウントの共有キー
利用可能なすべての認証方法については、Azure クラウドストレージへの認証 を参照してください。
INSERT+FILES() の使用
このメソッドは v3.2 以降で利用可能で、現在は Parquet、ORC、および CSV (v3.3.0 以降) ファイル形式のみをサポートしています。
INSERT+FILES() の利点
FILES() は、指定したパス関連のプロパティに基づいてクラウドストレージに保存されているファイルを読み取り、ファイル内のデータのテーブルスキーマを推測し、ファイルからデータをデータ行として返すことができます。
FILES() を使用すると、次のことが可能です。
- SELECT を使用して Azure から直接データをクエリする。
- CREATE TABLE AS SELECT (CTAS) を使用してテーブルを作成し、ロードする。
- INSERT を使用して既存のテーブルにデータをロードする。