スキーマは、MaxCompute のプロジェクトをテーブル、リソース、および関数に関連付けるために使用されます。 スキーマを使用すると、テーブル、リソース、および関数をさらに分類できます。 このトピックでは、スキーマの基本操作について説明します。
ランタイム環境を準備する
PyODPS は、DataWorks の PyODPS ノードまたはオンプレミス マシンで実行できます。 PyODPS を実行する前に、ツールを選択し、ランタイム環境を準備する必要があります。
DataWorks: DataWorks で PyODPS を実行する場合は、PyODPS 2 ノードまたは PyODPS 3 ノードを作成する必要があります。 詳細については、「DataWorks での PyODPS の使用」をご参照ください。
オンプレミス マシン: オンプレミス マシンで PyODPS を実行する場合は、PyODPS をインストールし、MaxCompute エントリオブジェクトを初期化する必要があります。
基本操作を実行する
MaxCompute のスキーマ機能を使用する場合は、スキーマ関連の操作で有効にすることができます。
スキーマを作成します。
schema = o.create_schema("**schema_name**") print(schema)スキーマを削除します。
schema = o.delete_schema("**schema_name**")すべてのスキーマを一覧表示します。
for schema in o.list_schemas(): print(schema)スキーマ機能を有効にすると、MaxCompute エントリオブジェクトが操作を実行できるすべての MaxCompute オブジェクトは、
DEFAULTという名前のスキーマに配置されます。 他のスキーマ内のオブジェクトに対して操作を実行するには、エントリオブジェクトを作成するときにスキーマを指定する必要があります。 サンプルコード:# 環境変数 ALIBABA_CLOUD_ACCESS_KEY_ID を AccessKey ID に設定します。 # 環境変数 ALIBABA_CLOUD_ACCESS_KEY_SECRET を AccessKey シークレットに設定します。 # AccessKey ID または AccessKey シークレットを直接使用しないことをお勧めします。 o = ODPS( os.getenv('ALIBABA_CLOUD_ACCESS_KEY_ID'), os.getenv('ALIBABA_CLOUD_ACCESS_KEY_SECRET'), project='<your-default-project>', endpoint='<your-end-point>', schema='<your-schema-name>', )次の表にパラメーターを示します。
パラメーター
説明
your-default-project
MaxCompute プロジェクトの名前。
your-end-point
MaxCompute プロジェクトのエンドポイント。 MaxCompute プロジェクトの作成時に選択したリージョンとネットワーク接続方法に基づいて、このパラメーターを設定する必要があります。 各リージョンとネットワークに対応するエンドポイントの詳細については、「エンドポイント」をご参照ください。
重要無効なエンドポイントを指定すると、MaxCompute にアクセスしたときにエラーが発生します。
your-schema-name
スキーマの名前。
さまざまなオブジェクトの操作メソッドに
schemaパラメーターを指定します。 サンプルコード:# test_schema テーブル内のすべてのテーブルを一覧表示します。 for table in o.list_tables(schema='**schema_name**'): print(table)SQL 文を実行するときにデフォルトのスキーマを指定します。 サンプルコード:
o.execute_sql("SELECT * FROM dual", default_schema="**schema_name**")