MaxCompute プロジェクトを作成した後、開発、分析、O&M などの後続の操作を実行するには、プロジェクトを入力する必要があります。このトピックでは、プロジェクトへの移動、プロジェクトの表示、プロジェクトのプロジェクトレベルのプロパティの設定、プロジェクトのプロジェクトレベルのプロパティの表示など、プロジェクトに対する一般的な操作について説明します。
次の表に、一般的なプロジェクト操作を示します。
操作 | 説明 | ロール | プラットフォーム |
アクセス権限を持つプロジェクトに移動します。 | プロジェクトアクセス権限を持つユーザー | MaxCompute クライアント で、このトピックで説明されているステートメントを実行します。 | |
プロジェクトのプロパティを表示します。 | プロジェクトオーナー | ||
プロジェクトのプロパティを設定します。 | プロジェクトオーナー | ||
プロジェクトでサポートされているアカウントシステムの情報を表示します。 | プロジェクトオーナー | ||
プロジェクトに Resource Access Management (RAM) アカウントシステムを追加します。 | プロジェクトオーナー | ||
プロジェクトの RAM アカウントシステムを削除します。 | プロジェクトオーナー |
注意事項
プロジェクトはワークスペースではありません。プロジェクト名を取得するには、MaxCompute コンソール にログインしてリージョンを選択すると、[プロジェクト管理] ページで [プロジェクト名] を表示できます。
MaxCompute は、プロジェクトの作成と削除に使用するステートメントを提供していません。プロジェクトの作成方法については、「MaxCompute プロジェクトを作成する」をご参照ください。
プロジェクトに移動する
アクセス権限を持つ特定のプロジェクトに移動します。プロジェクトに移動すると、プロジェクト内のすべてのオブジェクトを管理できます。
構文
-- プロジェクトに移動します。 USE <project_name>;パラメーター
project_name: 移動先のプロジェクトの名前。プロジェクトが存在しない場合、またはプロジェクトに対するアクセス権限がない場合は、エラーが返されます。
例
例 1: 特定のプロジェクトに移動し、プロジェクト内のオブジェクトにアクセスします。
-- 現在のプロジェクトは my_project で、移動先のプロジェクトは my_project_test です。 my_project_test プロジェクトに対するアクセス権限があります。 odps@ my_project>USE my_project_test; -- my_project_test プロジェクトに移動した後、他の操作を実行できます。たとえば、my_project_test プロジェクトの test_src テーブルをクエリできます。 odps@ my_project_test>SELECT * FROM test_src;MaxCompute は、my_project_test プロジェクトで test_src テーブルを検索します。テーブルが存在する場合は、テーブル内のデータが返されます。テーブルが存在しない場合は、エラーが返されます。
例 2: 別のプロジェクトからプロジェクト内のオブジェクトにアクセスするには、オブジェクトに対する権限を付与し、オブジェクトが属するプロジェクトの名前を指定します。
MaxCompute でスキーマ機能が有効になっていない場合に使用できるサンプルコード:
-- my_project_test プロジェクトから my_project2 プロジェクトの test_src テーブルにアクセスします。 odps@ my_project_test>SELECT * FROM my_project2.test_src;MaxCompute でスキーマ機能が有効になっている場合に使用できるサンプルコード:
-- my_project_test プロジェクトから my_project2 プロジェクトの test_src テーブルにアクセスします。デフォルトでは、my_project2 プロジェクトのスキーマ名は DEFAULT です。 odps@ my_project_test>SELECT * FROM my_project2.default.test_src;
プロジェクトのプロパティを表示する
プロジェクトのプロジェクトレベルのプロパティを表示します。MaxCompute では、プロジェクトのセッションレベルのプロパティを表示することもできます。詳細については、「SET 操作」の「SHOW FLAGS」セクションをご参照ください。
構文
SETPROJECT;プロパティ
次の表に、一般的なプロジェクトプロパティを示します。
プロパティ (KEY)
説明
有効な値 (VALUE)
odps.sql.allow.fullscan
プロジェクトで全表スキャンを有効にするかどうかを指定します。全表スキャンは大量のリソースを消費するため、データ処理効率が低下します。したがって、この機能を有効にしないことをお勧めします。
true: 全表スキャンが有効になります。
false: 全表スキャンが無効になります。
odps.table.lifecycle
プロジェクト内のテーブルのライフサイクルを設定するかどうかを指定します。
optional: テーブル作成ステートメントで lifecycle 句はオプションです。テーブルのライフサイクルを設定しない場合、テーブルは期限切れになりません。
mandatory: テーブル作成ステートメントで lifecycle 句は必須です。
inherit: テーブルの作成時にテーブルのライフサイクルを設定しない場合、デフォルトで odps.table.lifecycle.value の値が使用されます。
odps.table.lifecycle.value
テーブルのライフサイクル。単位: 日。
1 ~ 37231 。デフォルト値: 37231 。
odps.security.ip.whitelist
クラウド製品相互接続ネットワーク経由でプロジェクトにアクセスすることを承認されている IP アドレスのホワイトリスト。詳細については、「IP アドレスホワイトリストの管理」をご参照ください。
カンマ (,) で区切られた IP アドレスのリスト。
odps.security.vpc.whitelist
特定の VPC (Virtual Private Cloud) 経由でプロジェクトにアクセスすることを承認されている IP アドレスのホワイトリスト。詳細については、「IP アドレスホワイトリストの管理」をご参照ください。
VPC インスタンス ID1, VPC インスタンス ID2 [IP リスト]。
READ_TABLE_MAX_ROW
SELECT ステートメントで返すことができるデータレコードの最大数。
1 ~ 10000 。デフォルト値: 10000 。
odps.sql.type.system.odps2
MaxCompute V2.0 データ型エディションを有効にするかどうかを指定します。MaxCompute V2.0 データ型エディションの詳細については、「MaxCompute V2.0 データ型エディション」をご参照ください。
true: MaxCompute V2.0 データ型エディションが有効になります。
false: MaxCompute V2.0 データ型エディションが無効になります。
odps.sql.hive.compatible
Hive 互換データ型エディションを有効にするかどうかを指定します。MaxCompute は、
inputRecordReader、outputRecordReader、Serdeなどの Hive 構文を、Hive 互換データ型エディションが有効になった後にのみサポートします。Hive 互換データ型エディションの詳細については、「Hive 互換データ型エディション」をご参照ください。true: Hive 互換データ型エディションが有効になります。
false: Hive 互換データ型エディションが無効になります。
odps.sql.decimal.odps2
MaxCompute V2.0 データ型エディションで
DECIMAL(precision,scale)を有効にするかどうかを指定します。詳細については、「MaxCompute V2.0 データ型エディション」をご参照ください。true: MaxCompute V2.0 データ型エディションの DECIMAL 型が有効になります。
false: MaxCompute V2.0 データ型エディションの DECIMAL 型が無効になります。
odps.sql.metering.value.max
SQL ステートメントで消費されるリソースの上限。詳細については、「消費制御」をご参照ください。
該当なし。
odps.sql.timezone
アクセスした MaxCompute プロジェクトのタイムゾーン。タイムゾーンの詳細については、「タイムゾーン設定操作」をご参照ください。
該当なし。
odps.sql.unstructured.oss.commit.mode
OSS (Object Storage Service) のマルチパートアップロード機能を有効にして、OSS 外部テーブルにデータを書き込むかどうかを指定します。詳細については、「OSS にデータを書き込む」をご参照ください。
true: マルチパートアップロード機能が有効になります。
false: マルチパートアップロード機能が無効になります。
odps.sql.groupby.orderby.position.alias
GROUP BY句とORDER BY句の整数定数を SELECT ステートメントの列 ID として使用するかどかを指定します。説明既存のプロジェクトでこのパラメーターを true に設定すると、データの解析やその他の操作が実行されない場合があります。このパラメーターを true に設定する場合は、元のロジックが既存のプロジェクトで正しく実行できることを確認する必要があります。そうでない場合は、セッションに対してこのパラメーターを設定します。
true: GROUP BY 句と ORDER BY 句の整数定数を SELECT ステートメントの列 ID として使用できます。
false: GROUP BY 句と ORDER BY 句の整数定数を SELECT ステートメントの列 ID として使用できません。
odps.forbid.fetch.result.by.bearertoken
Logview の [結果] タブにジョブの結果を表示するかどうかを指定します。このパラメーターは、データセキュリティを保護するために使用されます。
true: Logview の [結果] タブにジョブの結果は表示されません。
false: Logview の [結果] タブにジョブの結果が表示されます。
odps.cupidhistory.inprogress.remain.days
実行中の Spark on MaxCompute ジョブの実行履歴を記録するログの保存期間。単位: 日。
1 ~ 7 。デフォルト値: 7 。
odps.cupidhistory.remain.days
実行が完了した Spark on MaxCompute ジョブの実行履歴を記録するログの保存期間。単位: 日。
1 ~ 3 。デフォルト値: 3 。
odps.ext.oss.orc.native
プロジェクト内のジョブが外部テーブルからデータを読み取って ORC データファイルを解析するときに、オープンソースコミュニティの Java ライブラリを C++ ネイティブラ イブラリにアップグレードするかどうかを指定します。 C++ ネイティブラ イブラリを使用して、ORC データファイルの新しいバージョンを解析し、オープンソースデータの解析パフォーマンスを大幅に向上させることができます。
true: C++ ネイティブラ イブラリが使用されます。
false: オープンソースコミュニティの Java ライブラリが使用されます。
odps.ext.parquet.native
プロジェクト内のジョブが外部テーブルからデータを読み取って Parquet データファイルを解析するときに、オープンソースコミュニティの Java ライブラリを C++ ネイティブラ イブラリにアップグレードするかどうかを指定します。 C++ ネイティブラ イブラリを使用すると、オープンソースデータの解析パフォーマンスを大幅に向上させることができます。オープンソースコミュニティの Java ライブラリを C++ ネイティブラ イブラリにアップグレードした後、多数の小さな Parquet データファイルと多数のデータ列が存在する場合、データソースへのアクセス数が増加する可能性があります。この場合、テーブルを作成するときに、WITH SERDEPROPERTIES 句で
parquet.file.cache.sizeプロパティとparquet.io.buffer.sizeプロパティを設定して、データソースへのアクセスごとにキャッシュできるデータ量を増やすことができます。WITH SERDEPROPERTIES を使用するtrue: C++ ネイティブラ イブラリが使用されます。
false: オープンソースコミュニティの Java ライブラリが使用されます。
odps.security.enabledownloadprivilege
ダウンロード制御機能を有効にするかどうかを指定します。この機能を有効にすると、Tunnel コマンドを使用して、ユーザーまたはロールのテーブルまたはインスタンスのデータをダウンロードする権限を管理できます。これは、プロジェクトデータのセキュリティを向上させ、データ漏洩を防ぐのに役立ちます。詳細については、「ダウンロード制御」をご参照ください。
true: ダウンロード制御機能が有効になります。
false: ダウンロード制御機能が無効になります。
odps.security.ip.whitelist.services
MaxCompute プロジェクトの Alibaba Cloud サービスホワイトリスト。 DataHub や Simple Log Service などの Alibaba Cloud サービスをこのホワイトリストに追加すると、後でサービスを使用して MaxCompute プロジェクトにアクセスするときに、サービスの IP アドレスを MaxCompute プロジェクトの IP アドレスホワイトリストに追加する必要がなくなります。
このパラメーターの値は、
service1,service2形式です。サービス名をホワイトリストに追加するには、事前に MaxCompute にサービス名を登録する必要があります。
たとえば、Simple Log Service をホワイトリストに追加するには、このパラメーターを
AliyunLogSLRService,AliyunLogDefaultServiceに設定します。
プロジェクトのプロパティを設定する
プロジェクトのプロジェクトレベルのプロパティを設定します。このステートメントは、実行後 5 分以内に有効になります。ステートメントが正常に実行されてから 5 分後に結果を確認できます。MaxCompute では、プロジェクトのセッションレベルのプロパティを設定することもできます。詳細については、「SET 操作」の「SET」セクションをご参照ください。
構文
SETPROJECT <KEY>=<VALUE>;パラメーター
KEY: プロパティの名前。
VALUE: プロパティの値。プロパティの詳細については、「プロジェクトのプロパティを表示する」をご参照ください。
例
プロジェクトの全表スキャンを有効にします。
SETPROJECT odps.sql.allow.fullscan=true;
プロジェクトのアカウントシステムを表示する
プロジェクトでサポートされているアカウントシステムの情報を表示します。アカウントシステムには、Alibaba Cloud アカウントシステムと RAM アカウントシステムが含まれます。構文:
LIST accountproviders;デフォルトでは、MaxCompute は Alibaba Cloud アカウントシステムのみを識別します。 RAM アカウントシステムは識別できません。
RAM アカウントシステムを追加する
プロジェクトに RAM アカウントシステムを追加します。構文:
ADD accountprovider ram;RAM アカウントシステムを削除する
プロジェクトの RAM アカウントシステムを削除します。構文:
REMOVE accountprovider ram;