PyODPS は MaxCompute の Python SDK です。Python で MaxCompute のタスク開発、データ分析、リソース管理を行えます。
PyODPS
PyODPS は、DataFrame API と MaxCompute オブジェクトを管理するメソッドを提供します。Python 2 (バージョン 2.6 以降) と Python 3 をサポートしています。
PyODPS の詳細については、以下のリソースをご参照ください。
-
PyODPS の詳細:PyODPS ドキュメントおよびPyODPS コミュニティアルバム。
-
PyODPS のインストール:PyODPS インストールガイド。
-
PyODPS による開発:PyODPS 開発ガイド。
クライアントの初期化
PyODPS を使用する前に、Alibaba Cloud アカウントの認証情報で MaxCompute クライアントオブジェクトを初期化します:
import os
from odps import ODPS
# 環境変数 ALIBABA_CLOUD_ACCESS_KEY_ID と ALIBABA_CLOUD_ACCESS_KEY_SECRET に、
# ご自身の AccessKey ID と AccessKey Secret が設定されていることを確認してください。
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:これらの環境変数を、ターゲットの MaxCompute プロジェクト内のオブジェクト操作に必要な権限を持つ AccessKey ID と AccessKey Secret に設定します。これらの認証情報は、AccessKey 管理ページから取得できます。
-
your-default-project: ご使用の MaxCompute プロジェクトの名前です。プロジェクト名は、MaxCompute コンソール の左側のナビゲーションペインにある ワークスペース > プロジェクト管理 で確認できます。
-
your-end-point:プロジェクトのリージョンのエンドポイント。
メソッド
MaxCompute の操作で一般的に使用される PyODPS メソッドは次のとおりです:
|
オブジェクトタイプ |
メソッド |
説明 |
|
プロジェクト |
get_project(project_name) |
MaxCompute プロジェクトを取得します。 |
|
exist_project(project_name) |
MaxCompute プロジェクトが存在するかどうかを確認します。 |
|
|
テーブル |
list_tables() |
MaxCompute プロジェクト内のすべてのテーブルを一覧表示します。 |
|
exist_table(table_name) |
テーブルが存在するかどうかを確認します。 |
|
|
get_table(table_name, project=project_name) |
テーブルを取得します。クロスプロジェクトアクセスがサポートされています。 |
|
|
create_table() |
テーブルを作成します。 |
|
|
read_table() |
テーブルからデータを読み取ります。 |
|
|
write_table() |
テーブルにデータを書き込みます。 |
|
|
delete_table() |
テーブルを削除します。 |
|
|
テーブルパーティション |
exist_partition() |
テーブルパーティションが存在するかどうかを確認します。 |
|
get_partition() |
テーブルパーティションを取得します。 |
|
|
create_partition() |
テーブルパーティションを作成します。 |
|
|
delete_partition() |
テーブルパーティションを削除します。 |
|
|
SQL ステートメント |
execute_sql()/run_sql() |
SQL ステートメントを実行します。 |
|
open_reader() |
実行結果を読み取ります。 |
|
|
インスタンス |
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 の例:テーブル」をご参照ください。