Python on MaxCompute (PyODPS) は、MaxCompute 用の Python SDK です。PyODPS を使用して MaxCompute とやり取りし、データを処理できます。 PyODPS を使用すると、MaxCompute ジョブの開発、データの分析、および MaxCompute リソースの管理を行うことができます。このトピックでは、PyODPS の使用方法について説明します。
PyODPS の概要
PyODPS は、DataFrame フレームワークと MaxCompute オブジェクトの基本操作をサポートしています。 PyODPS は Python 2 と Python 3 をサポートしています。Python 2 は Python 2.6 以降である必要があります。
PyODPS の詳細については、次のドキュメントを参照してください。
PyODPS: ODPS Python SDK and data analysis framework および PyODPS 関連の記事。
詳細については、「PyODPS をインストールする」をご参照ください。
詳細については、「DataWorks で PyODPS を使用する」をご参照ください。
初期化
PyODPS を使用する前に、Alibaba Cloud アカウントを使用して MaxCompute への接続を初期化する必要があります。接続を初期化するには、次のコマンドを実行します。
import os
from odps import ODPS
# 環境変数 ALIBABA_CLOUD_ACCESS_KEY_ID と ALIBABA_CLOUD_ACCESS_KEY_SECRET を、Alibaba Cloud アカウントの 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',
)
パラメーター:
ALIBABA_CLOUD_ACCESS_KEY_ID と ALIBABA_CLOUD_ACCESS_KEY_SECRET: Alibaba Cloud アカウントの AccessKey ID と AccessKey シークレット。アカウントに対象の MaxCompute プロジェクト内のオブジェクトを管理するための 操作権限 があることを確認してください。アクセスキー ページで AccessKey ID を取得できます。
your-default-project: MaxCompute プロジェクトの名前。MaxCompute コンソール にログインできます。上部のナビゲーションバーでリージョンを選択します。左側のナビゲーションウィンドウで、[ワークエリア] > [プロジェクト管理] を選択して、MaxCompute プロジェクトの名前を表示します。
your-end-point: MaxCompute プロジェクトが存在するリージョンの エンドポイント。
説明
次の表に、MaxCompute オブジェクトに対して操作を実行するために使用できるメソッドを示します。
項目 | 操作 | 説明 |
プロジェクト | get_project(project_name) | MaxCompute プロジェクトの名前を取得します。 |
exist_project(project_name) | MaxCompute プロジェクトが存在するかどうかを確認します。 | |
テーブル | list_tables() | MaxCompute プロジェクト内のすべてのテーブルを一覧表示します。 |
exist_table(table_name) | テーブルが存在するかどうかを確認します。 | |
get_table(table_name, project=project_name) | 指定されたテーブルを取得します。別の MaxCompute プロジェクトからテーブルを取得できます。 | |
create_table() | テーブルを作成します。 | |
read_table() | テーブルからデータを読み取ります。 | |
write_table() | テーブルにデータを書き込みます。 | |
delete_table() | 既存のテーブルを削除します。 | |
テーブルパーティション | exist_partition() | パーティションが存在するかどうかを確認します。 |
get_partition() | パーティションに関する情報を取得します。 | |
create_partition() | パーティションを作成します。 | |
delete_partition() | 既存のパーティションを削除します。 | |
SQL | execute_sql()/run_sql() | SQL 文を実行します。 |
open_reader() | SQL 文の実行結果を読み取ります。 | |
インスタンス | list_instances() | MaxCompute プロジェクト内のすべてのインスタンスを一覧表示します。 |
exist_instance() | インスタンスが存在するかどうかを確認します。 | |
get_instance() | インスタンスに関する情報を取得します。 | |
stop_instance() | インスタンスを終了します。 | |
リソース | create_resource() | リソースを作成します。 |
open_resource() | リソースを開きます。 | |
get_resource() | リソースに関する情報を取得します。 | |
list_resources() | 既存のすべてのリソースを一覧表示します。 | |
exist_resource() | リソースが存在するかどうかを確認します。 | |
delete_resource() | 既存のリソースを削除します。 | |
関数 | create_function() | 関数を作成します。 |
delete_function() | 既存の関数を削除します。 | |
アップロードおよびダウンロードトンネル | create_upload_session() | データをアップロードするために使用されるセッションを作成します。 |
create_download_session() | データをダウンロードするために使用されるセッションを作成します。 |
create_table()、read_table()、write_table()、および delete_table() メソッドを使用する場合は、パラメーターを指定する必要があります。詳細については、「Python 用 SDK の使用例: テーブル」をご参照ください。