MaxCompute catalog
StarRocks は v3.3 以降、Alibaba Cloud MaxCompute (以前は ODPS として知られていました) の catalog をサポートしています。
MaxCompute catalog は、データを取り込むことなく MaxCompute からデータをクエリすることを可能にする一種の external catalog です。
MaxCompute catalog を使用すると、INSERT INTO を使用して MaxCompute からデータを直接変換してロードすることもできます。
使用上の注意
MaxCompute catalog は、MaxCompute からデータをクエリするためにのみ使用できます。MaxCompute catalog を使用して、MaxCompute クラスター内のデータを削除、削除、または挿入することはできません。
統合準備
MaxCompute catalog を作成する前に、StarRocks クラスターが MaxCompute サービスに適切にアクセスできることを確認してください。
MaxCompute catalog の作成
構文
CREATE EXTERNAL CATALOG <catalog_name>
[COMMENT <comment>]
PROPERTIES
(
"type" = "odps",
CatalogParams,
ScanParams,
CachingMetaParams
)
パラメータ
catalog_name
MaxCompute catalog の名前です。命名規則は次のとおりです。
- 名前には文字、数字 (0-9)、およびアンダースコア (_) を含めることができます。文字で始める必要があります。
- 名前は大文字と小文字を区別し、長さは 1023 文字を超えることはできません。
comment
MaxCompute catalog の説明です。このパラメータはオプションです。
type
データソースのタイプです。値を odps に設定します。
CatalogParams
StarRocks が MaxCompute クラスターのメタデータにアクセスする方法に関する一連のパラメータです。
次の表は、CatalogParams で設定する必要があるパラメータを説明しています。
| パラメータ | 必須 | 説明 |
|---|---|---|
| odps.endpoint | はい | MaxCompute サービスの接続アドレス (すなわち、エンドポイント) です。MaxCompute プロジェクトを作成する際に選択したリージョンおよびネットワーク接続モードに応じてエンドポイントを設定する必要があります。異なるリージョンおよびネットワーク接続モードで使用されるエンドポイントの詳細については、Endpoint を参照してください。現在、Alibaba Cloud の 2 つのネットワーク接続モードのみがサポートされており、最良の体験を提供します: VPC およびクラシックネットワーク。 |
| odps.project | はい | アクセスしたい MaxCompute プロジェクトの名前です。標準モードのワークスペースを作成した場合、このパラメータを設定する際に本番環境と開発環境 (_dev) のプロジェクト名の違いに注意してください。MaxCompute Console にログインし、Workspace > Project Management ページで MaxCompute プロジェクト名を取得できます。 |
| odps.access.id | はい | Alibaba Cloud アカウントまたは RAM ユーザーの AccessKey ID です。AccessKey Management ページにアクセスして AccessKey ID を取得できます。 |
| odps.access.key | はい | AccessKey ID に対応する AccessKey Secret です。AccessKey Management ページにアクセスして AccessKey Secret を取得できます。 |
| odps.tunnel.endpoint | いいえ | Tunnel サービスのパブリックネットワークアクセスリンクです。Tunnel エンドポイントを設定していない場合、Tunnel は自動的に MaxCompute サービスが所在するネットワークに一致する Tunnel エンドポイントにルーティングします。Tunnel エンドポイントを設定している場合、設定されたエンドポイントが使用され、自動ルーティングされません。 |
| odps.tunnel.quota | はい | MaxCompute にアクセスするために使用されるクォータの名前です。MaxCompute はデータ転送のために 2 種類のリソースを提供します: MaxCompute Tunnel 用の専用リソースグループ (サブスクリプション) とストレージ API (従量課金制)。リソースタイプに基づいてクォータ名を取得するために、次の操作を実行できます。 MaxCompute Tunnel 用の専用リソースグループ: MaxCompute console にログインします。トップナビゲーションバーでリージョンを選択します。左側のナビゲーションペインで Workspace > Quotas を選択して、利用可能なクォータを表示します。詳細については、Manage quotas for computing resources in the MaxCompute console を参照してください。 Storage API: MaxCompute console にログインします。左側のナビゲーションペインで Tenants > Tenant Property を選択します。Tenants ページで Storage API Switch をオンにします。詳細については、Use storage API (pay-as-you-go) を参照してください。ストレージ API のデフォルト名は "pay-as-you-go" です。 |
ScanParams
StarRocks が MaxCompute クラスターに保存されているファイルにアクセスする方法に関する一連のパラメータです。このパラメータセットはオプションです。
次の表は、ScanParams で設定する必要があるパラメータを説明しています。
| パラメータ | 必須 | 説明 |
|---|---|---|
| odps.split.policy | いいえ | データスキャン時に使用さ れるシャードポリシーです。 有効な値: size (データサイズでシャード) および row_offset (行数でシャード)。デフォルト値: size。 |
| odps.split.row.count | いいえ | odps.split.policy が row_offset に設定されている場合のシャードごとの最大行数です。デフォルト値: 4 * 1024 * 1024 = 4194304。 |
CachingMetaParams
StarRocks が Hive のメタデータをキャッシュする方法に関する一連のパラメータです。このパラメータセットはオプションです。
次の表は、CachingMetaParams で設定する必要があるパラメータを説明しています。
| パラメータ | 必須 | 説明 |
|---|---|---|
| odps.cache.table.enable | いいえ | StarRocks が MaxCompute テーブルのメタデータをキャッシュするかどうかを指定します。有効な値: true および false。デフォルト値: true。値 true はキャッシュを有効にし、値 false はキャッシュを無効にします。 |
| odps.cache.table.expire | いいえ | StarRocks が MaxCompute テーブルまたはパーティションのキャッシュされたメタデータを自動的に削除する時間間隔 (秒単位) です。デフォルト値: 86400 (24 時間)。 |
| odps.cache.table.size | いいえ | StarRocks がキャッシュする MaxCompute テーブルのメタデータエントリの数です。デフォルト値: 1000。 |
| odps.cache.partition.enable | いいえ | StarRocks が MaxCompute テーブルのすべてのパーティションのメタデータをキャッシュするかどうかを指定します。有効な値: true および false。デフォルト値: true。値 true はキャッシュを有効にし、値 false はキャッシュを無効にします。 |
| odps.cache.partition.expire | いいえ | StarRocks が MaxCompute テーブルのすべてのパーティションのキャッシュされたメタデータを自動的に削除する時間間隔 (秒単位) です。デフォルト値: 86400 (24 時間)。 |
| odps.cache.partition.size | いいえ | StarRocks がすべてのパーティションのメタデータをキャッシュする MaxCompute テーブルの数です。デフォルト値: 1000。 |
| odps.cache.table-name.enable | いいえ | StarRocks が MaxCompute プロジェクトからのテーブル情報をキャッシュするかどうかを指定します。有効な値: true および false。デフォルト値: false。値 true はキャッシュを有効にし、値 false はキャッシュを無効にします。 |
| odps.cache.table-name.expire | いいえ | StarRocks が MaxCompute プロジェクトからのテーブル情報を自動的に削除する時間間隔 (秒単位) です。デフォルト値: 86400 (24 時間)。 |
| odps.cache.table-name.size | いいえ | StarRocks がキャッシュする MaxCompute プロジェクトの数です。デフォルト値: 1000。 |