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

Platform For AI:PyODPS を使用して MaxCompute テーブルのデータを読み書きする方法

最終更新日:Jan 18, 2026

Data Science Workshop (DSW) インスタンスでは、PyODPS を使用して MaxCompute からデータを読み取ることができます。

事前準備

開始する前に、次の準備を完了してください。

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

  • ご利用のアカウントに、MaxCompute プロジェクトを操作するために必要な権限が付与されていること。 ルートアカウントを使用して DSW インスタンスにログインする場合、権限付与は不要です。 Resource Access Management (RAM) ユーザーを使用する場合は、次のように RAM ユーザーに権限を付与します。

    操作手順

    1. ルートアカウントを使用して MaxCompute コンソールにログインします。 左上のコーナーで、リージョンを選択します。

    2. ナビゲーションウィンドウで、[ワークスペース] > [プロジェクト管理] を選択します。

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

    4. [ロール権限] タブで role_project_dev を見つけ、[メンバーの管理] をクリックして、RAM ユーザーを追加します。

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

  • Python 3.6 以降がインストールされていることを確認してください。

操作手順

PyODPS を使用して、MaxCompute または Designer のデータを操作できます。 詳細については、「PyODPS 開発ドキュメント」をご参照ください。

  1. PyODPS のインストール

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

    pip install pyodps
  2. 次のコマンドを実行して、インストールを検証します。 値やエラーメッセージが返されなければ、インストールは成功です。

    # Windows の場合は、python -c "from odps import ODPS" を使用します
    python3 -c "from odps import ODPS"
  3. システムのデフォルトではない Python バージョンを使用する場合は、PIP をインストールした後に次のコマンドを実行して Python のバージョンを切り替えます。

    /home/tops/bin/python3.7 -m pip install setuptools>=3.0
    #/home/tops/bin/python3.7 は Python のインストールパスです。
  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',
    )
    
    # データを読み取ります。
    sql = '''
    SELECT  
        *
    FROM
        your-default-project.<table>
    LIMIT 100
    ;
    '''
    query_job = o.execute_sql(sql)
    result = query_job.open_reader(tunnel=True)
    df = result.to_pandas(n_process=1) # サーバーの構成に基づいて n_process を設定します。 1 より大きい値を設定すると、マルチスレッドアクセラレーションが有効になります。

    ここで:

    • ALIBABA_CLOUD_ACCESS_KEY_ID および ALIBABA_CLOUD_ACCESS_KEY_SECRET:ご利用の Alibaba Cloud アカウントの AccessKey ID と AccessKey Secret。 セキュリティリスクを防ぐため、AccessKey ID と AccessKey Secret を環境変数として設定してください。

      • AccessKey の取得方法の詳細については、「AccessKey の作成」をご参照ください。

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

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

    PyODPS を使用してデータの書き込みなど、MaxCompute テーブルで他の操作を実行する方法の詳細については、「テーブル」をご参照ください。

関連ドキュメント

DSW は SQL File 機能を提供しており、この機能を使用すると、クエリ権限を持つ MaxCompute データソースから SQL 文を使用してデータを迅速にクエリできます。 詳細については、「SQL File を使用した MaxCompute テーブルのクエリ」をご参照ください。