すべてのプロダクト
Search
ドキュメントセンター

Platform For AI:PyODPS を使用した MaxCompute テーブルの読み書き

最終更新日:Mar 27, 2026

DSW インスタンスに PyODPS をインストールすると、SQL を使用して MaxCompute テーブルからデータを読み取り、MaxCompute テーブルにデータを書き込むことができます。

前提条件

以下の要件が満たされていることを確認してください。

  • MaxCompute が有効化されていること。詳細については、「MaxCompute の有効化」をご参照ください。

  • ご利用のアカウントに MaxCompute プロジェクトに必要な権限が付与されていること。Alibaba Cloud アカウント (root ユーザー) には権限付与は不要です。RAM ユーザーの場合は、以下の手順に従って必要な権限を付与してください。

    手順

    1. Alibaba Cloud アカウントで MaxCompute コンソールにログインし、左上隅でリージョンを選択します。

    2. ナビゲーションウィンドウで、[Workspace] > [Projects] を選択します。

    3. [Projects] ページで、対象のプロジェクトを見つけ、[Actions] 列の [Manage] をクリックします。

    4. [Role Permissions] タブで role_project_dev を見つけ、[Manage Members] をクリックして RAM ユーザーを追加します。

    MaxCompute の権限管理の詳細については、「コンソールを使用したユーザー権限の管理」をご参照ください。

  • PyODPS をインストールする前に、Python 3.6 以降をインストールしてください。

操作手順

PyODPS を使用して、MaxCompute または ビジュアルモデリングのデータとやり取りします。詳細については、PyODPS ドキュメントをご参照ください。

  1. PyODPS のインストール

    DSW ターミナルで、次のコマンドを実行します。

    pip install pyodps
  2. 次のコマンドを実行して、インストールを検証します。コマンドが何も出力またはエラーを生成せずに実行された場合、インストールは成功しています。

    # Windows では、python -c "from odps import ODPS" を使用します。
    python3 -c "from odps import ODPS"
  3. デフォルト以外の Python バージョン用のパッケージをインストールするには、その特定の Python 環境で次のコマンドを実行します。

    /home/tops/bin/python3.7 -m pip install setuptools>=3.0
    # 例: /home/tops/bin/python3.7 はインストールパスです。
  4. SQL を使用した MaxCompute からのデータ読み取り

    import numpy as np
    import pandas as pd
    import os
    
    from odps import ODPS
    from odps.df import DataFrame
    
    # 接続を確立します。
    o = ODPS(
        os.getenv('ALIBABA_CLOUD_ACCESS_KEY_ID'),
        os.getenv('ALIBABA_CLOUD_ACCESS_KEY_SECRET'),
        project='your-default-project',
        endpoint='your-end-point',
    )
    
    # MaxCompute からデータを読み取ります。
    sql = '''
    SELECT
        *
    FROM
        your-default-project.<table>
    LIMIT 100
    ;
    '''
    query_job = o.execute_sql(sql)
    result = query_job.open_reader(tunnel=True)
    
    # n_process > 1 に設定すると、マルチスレッドが有効になり、データ読み取りが高速化されます。
    df = result.to_pandas(n_process=1)

    設定パラメーター:

    • ALIBABA_CLOUD_ACCESS_KEY_ID および ALIBABA_CLOUD_ACCESS_KEY_SECRET: AccessKey ID と AccessKey Secret。認証情報の漏洩を防ぐため、これらを環境変数として設定してください。

      • AccessKey ペアを取得します。詳細については、「AccessKey ペアの作成」をご参照ください。

      • 環境変数を設定します。詳細については、「環境変数の設定」をご参照ください。

      • your-default-project および your-end-point: ご利用のデフォルトプロジェクト名とエンドポイントに置き換えてください。リージョンエンドポイントについては、「エンドポイント」をご参照ください。

    データ書き込みなど、MaxCompute テーブルに対するその他の PyODPS 操作については、「テーブル」をご参照ください。