本文介绍如何使用PyODPS读写MaxCompute表数据。

PyODPS

您可以使用PyODPS与MaxCompute或PAI-Studio中的数据进行通信。PyODPS是阿里云提供的Python SDK,详情请参见PyODPS开发文档

  1. 安装PyODPS。
    在PAI-DSW的Terminal中,执行如下命令。
    pip install pyodps
  2. 执行如下命令,检查是否安装完成。
    python -c "from odps import ODPS"
  3. 通过SQL读取MaxCompute数据。
    import numpy as np
    import pandas as pd
    
    from odps import ODPS
    from odps.df import DataFrame
    # 建立链接。
    o = ODPS(
        '<your_AccessKey_ID>', 
        '<your_AccessKey_Secret>', 
        '<your_MaxCompute_project>',
        endpoint='<your_Project_Endpoint>')
        
    # 读取数据。
    sql = '''
    SELECT  
        *
    FROM
        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时可以开启多线程加速。
    需要根据实际情况替换以下参数值。
    参数 描述
    <your_AccessKey_ID> 阿里云的AccessKey ID。
    <your_AccessKey_Secret> 阿里云的AccessKey Secret。
    <your_MaxCompute_project> MaxCompute项目名称。
    <your_Project_Endpoint> 项目所在地域的Endpoint,详情请参见Endpoint。例如华东1(杭州)的Endpoint为http://service.cn-hangzhou.maxcompute.aliyun.com/api