Python on MaxCompute (PyODPS) は、MaxCompute SDK for Pythonであり、PyODPSを使用してMaxComputeと対話し、データを処理するのに役立ちます。 PyODPSを使用して、MaxComputeジョブの開発、データの分析、MaxComputeリソースの管理を行うことができます。 このトピックでは、PyODPSの使用方法について説明します。
Introduction to PyODPS
PyODPSは、DataFrameフレームワークとMaxComputeオブジェクトの基本操作をサポートしています。 PyODPSを使用して、MaxComputeジョブを開発し、MaxComputeでデータを処理できます。 PyODPSはPython 2とPython 3をサポートしています。 Python 2はPython 2.6またはそれ以降にすることができます。
PyODPの詳細については、次のドキュメントを参照してください。
PyODPSの詳細については、「PyODPS: ODPS Python SDKおよびデータ分析フレームワーク」および「PyODPS関連の記事」をご参照ください。
PyODPSのダウンロード方法の詳細については、GitHubをご参照ください。
PyODPSのインストール方法の詳細については、「PyODPSのインストール手順」をご参照ください。
PyODPSの開発方法の詳細については、「PyODPS開発者ガイド」をご参照ください。
PyODPSエコシステムの構築を支援する場合は、次の操作を実行できます。
PyODPSドキュメントを作成します。
GitHubでPyODPSコードを開発します。
リンクをクリックして、技術的なコミュニケーションのためにDingTalkグループに参加します。
初期化
PyODPSを使用する前に、Alibaba Cloudアカウントを使用してMaxComputeへの接続を初期化する必要があります。 接続を初期化するには、次のコマンドを実行します。
import os
from odps import ODPS
# Set the environment variable ALIBABA_CLOUD_ACCESS_KEY_ID to the AccessKey ID of your Alibaba Cloud account.
# Set the environment variable ALIBABA_CLOUD_ACCESS_KEY_SECRET to the AccessKey secret of your Alibaba Cloud account.
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アカウントのAccessKey IDです。 アカウントにMaxComputeプロジェクトのオブジェクトを管理する権限があることを確認します。 権限の詳細については、「操作権限」をご参照ください。 MaxComputeコンソールの右上隅にあるプロファイル画像をクリックし、AccessKey管理を選択してAccessKey IDを取得します。
ALIBABA_CLOUD_ACCESS_KEY_SECRET: AccessKey IDに対応するAccessKeyシークレット。 MaxComputeコンソールの右上隅にあるプロファイル画像をクリックし、[AccessKeyの管理] を選択してAccessKeyシークレットを取得します。
your-default-project: MaxComputeプロジェクトの名前。 MaxComputeコンソールにログインできます。 上部のナビゲーションバーで、リージョンを選択します。 左側のナビゲーションウィンドウで、[ワークスペース] > [プロジェクト] を選択して、MaxComputeプロジェクトの名前を表示します。
your-end-point: MaxComputeプロジェクトが存在するリージョンのエンドポイント。 詳細については、「エンドポイント」をご参照ください。
説明
次の表に、MaxComputeオブジェクトの基本操作を実行するために使用できるメソッドを示します。
項目 | API 操作 | 説明 |
Projects | 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() | インスタンスを終了します。 | |
Resources | 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() メソッドを使用する場合は、パラメーターを指定する必要があります。 詳細については、「SDK For Python: tablesの使用例」をご参照ください。