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