Google Cloud Storage への認証
認証方法
v3.0以降、StarRocks は Google Cloud Storage (GCS) にアクセスするために、以下の認証方法のいずれかをサポートしています。
-
VM ベースの認証
Google Cloud Compute Engine にアタッチされたクレデンシャルを使用して GCS を認証します。
-
サービスアカウントベースの認証
サービスアカウントを使用して GCS を認証します。
-
なりすましベースの認証
サービスアカウントまたは仮想マシン (VM) インスタンスを他のサービスアカウントになりすまさせます。
シナリオ
StarRocks は以下のシナリオで GCS に認証できます。
- GCS からデータをバッチロードする。
- GCS からデータをバックアップし、GCS にデータを復元する。
- GCS 内の Parquet および ORC ファイルをクエリする。
- GCS 内の Hive、Iceberg、Hudi、および Delta Lake テーブルをクエリする。
このトピック では、Hive catalog、file external table、および Broker Load を例として、StarRocks が異なるシナリオで GCS と統合する方法を示します。例中の StorageCredentialParams に関する情報は、このトピックの「Parameters」セクションを参照してください。
注意
StarRocks は、gs プロトコルに従ってのみ GCS からデータをロードしたり、ファイルを直接クエリしたりすることをサポートしています。したがって、GCS からデータをロードしたりファイルをクエリしたりする場合は、ファイルパスに
gsをプレフィックスとして含める必要があります。
External catalog
GCS からファイルをクエリするために、hive_catalog_gcs という名前の Hive catalog を作成するには、CREATE EXTERNAL CATALOG ステートメントを使用します。
CREATE EXTERNAL CATALOG hive_catalog_gcs
PROPERTIES
(
"type" = "hive",
"hive.metastore.uris" = "thrift://xx.xx.xx.xx:9083",
StorageCredentialParams
);
File external table
GCS からメタストアな しで test_file_external_tbl という名前のデータファイルをクエリするために、external_table_gcs という名前のファイル外部テーブルを作成するには、CREATE EXTERNAL TABLE ステートメントを使用します。
CREATE EXTERNAL TABLE external_table_gcs
(
id varchar(65500),
attributes map<varchar(100), varchar(2000)>
)
ENGINE=FILE
PROPERTIES
(
"path" = "gs:////test-gcs/test_file_external_tbl",
"format" = "ORC",
StorageCredentialParams
);
Broker load
GCS から StarRocks テーブル target_table にデータをバッチロードするために、ラベルが test_db.label000 の Broker Load ジョブを作成するには、LOAD LABEL ステートメントを使用します。
LOAD LABEL test_db.label000
(
DATA INFILE("gs://bucket_gcs/test_brokerload_ingestion/*")
INTO TABLE target_table
FORMAT AS "parquet"
)
WITH BROKER
(
StorageCredentialParams
);