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 を使用する前に、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 Management ページから取得できます。
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 の例:テーブル」をご参照ください。