本文介绍如何使用PyODPS和SQL File读MaxCompute表数据。
前提条件
在开始执行操作前,请确认您已经完成以下准备工作:
- 已开通MaxCompute,详情请参见开通MaxCompute 。
- 可选:已创建支持登录PAI控制台的RAM角色,详情请参见RAM角色登录并使用PAI。
- 可选:已为RAM角色授权MaxCompute项目操作权限,详情请参见通过控制台(新版)管理用户权限。
PyODPS
您可以使用PyODPS与MaxCompute或PAI-Designer中的数据进行通信。PyODPS是阿里云提供的Python SDK,详情请参见PyODPS开发文档。
- 安装PyODPS。在PAI-DSW的Terminal中,执行如下命令。
pip install pyodps
- 执行如下命令,检查是否安装完成。
python -c "from odps import ODPS"
- 通过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 <your_MaxCompute_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时可以开启多线程加速。
关于如何使用PyODPS对MaxCompute表进行其他操作(例如写入数据),详情请参见表。参数 描述 <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
。<table> MaxCompute项目中的表名称。
SQL File
PAI-DSW提供了SQL File功能,支持您通过SQL语句的方式对有查询权限的MaxCompute数据源进行快速的数据查询,具体操作步骤如下。
说明 使用SQL语句进行数据查询时,PAI-DSW暂时不收取额外费用,仅收取MaxCompute的计算和存储费用。
- 进入PAI-DSW开发环境。
- 登录PAI控制台。
- 在左侧导航栏单击工作空间列表,在工作空间列表页面中单击待操作的工作空间名称,进入对应工作空间内。
- 在页面左上方,选择使用服务的地域。
- 在左侧导航栏,选择 。
- 可选:在交互式建模(DSW)页面的搜索框,输入实例名称或关键字,搜索实例。
- 单击需要打开的实例操作列下的打开。
- 在Launcher页面,单击Text and terminal区域的SQL File,创建SQL查询文件。
- 配置MaxCompute数据源。
- 执行查询语句。在SQL编辑框内编辑MaxCompute数据源的查询代码,完成后执行对应命令即可获取查询结果。
- 运行代码:支持通过单击SQL语句左侧的快捷运行按钮直接运行代码,或选中部分代码后单击
,运行完成后可查看对应代码的运行结果。
- 格式化:您也可以通过格式化将自行排版的代码一键规范化排版。
- 运行代码:支持通过单击SQL语句左侧的快捷运行按钮直接运行代码,或选中部分代码后单击
- 查看查询结果。SQL语句执行成功后,您可以对查询结果进行如下操作:
功能 图示 操作说明 查看运行结果中表格数据 为您展示SQL语句的查询结果。 查询结果可视化图表展示 支持您使用折线图、柱状图、条形图、饼图、交叉表对查询结果进行可视化展现。您可以拖拽字段到维度、指标等区域创建图表。同时,支持您单击字段,修改字段类型、设置字段别名等。 查看查询结果对应的SQL语句 为您展示当前查询结果对应的SQL内容,支持对该查询结果对应的SQL语句进行快速复制和快速插入代码编辑区的操作。 查看查询过程对应的操作日志 为您展示执行当前查询语句的操作日志。如果SQL语句执行失败,您可以单击日志中的Logview链接,做进一步的排查。