本文介绍如何使用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.
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)。
-
可选:在交互式建模(DSW)页面的搜索框,输入实例名称或关键字,搜索实例。
-
单击需要打开的实例操作列下的打开。
-
-
在Launcher页面,单击Text and terminal区域的SQL File,创建SQL查询文件。
配置MaxCompute数据源。
-
单击主工作区域右上角的数据源按钮。
-
在数据源设置配置面板,配置各项参数,并单击选择。
参数
描述
MaxCompute Endpoint
项目所在地域的Endpoint,详情请参见Endpoint。例如华东1(杭州)的Endpoint为
http://service.cn-hangzhou.maxcompute.aliyun.com/api
。Tunnel Endpoint
项目所在地域的Tunnel Endpoint,详情请参见Endpoint。例如华东1(杭州)的Endpoint为
http://dt.cn-hangzhou.maxcompute.aliyun.com
。MaxCompute项目空间
MaxCompute项目名称。
-
-
执行查询语句。
在SQL编辑框内编辑MaxCompute数据源的查询代码,完成后执行对应命令即可获取查询结果。
-
运行代码:支持通过单击SQL语句左侧的快捷运行按钮直接运行代码,或选中部分代码后单击
,运行完成后可查看对应代码的运行结果。
-
格式化:您也可以通过格式化将自行排版的代码一键规范化排版。
-
-
查看查询结果。
SQL语句执行成功后,您可以对查询结果进行如下操作:
功能
图示
操作说明
查看运行结果中表格数据
为您展示SQL语句的查询结果。
查询结果可视化图表展示
支持您使用折线图、柱状图、条形图、饼图、交叉表对查询结果进行可视化展现。您可以拖拽字段到维度、指标等区域创建图表。同时,支持您单击字段,修改字段类型、设置字段别名等。
查看查询结果对应的SQL语句
为您展示当前查询结果对应的SQL内容,支持对该查询结果对应的SQL语句进行快速复制和快速插入代码编辑区的操作。
查看查询过程对应的操作日志
为您展示执行当前查询语句的操作日志。如果SQL语句执行失败,您可以单击日志中的Logview链接,做进一步的排查。
内容没看懂? 不太想学习?想快速解决? 有偿解决: 联系专家
阿里云企业补贴进行中: 马上申请
腾讯云限时活动1折起,即将结束: 马上收藏
同尘科技为腾讯云授权服务中心。
购买腾讯云产品享受折上折,更有现金返利:同意关联,立享优惠转转请注明出处:https://www.yunxiaoer.com/163866.html
赞 (0)阿里云人工智能平台PAI基于开源库so-vits-svc生成AI歌手-云淘科技上一篇 2023年12月10日 上午5:46阿里云人工智能平台PAI准备工作-云淘科技下一篇 2023年12月10日详情页2本站为广大会员提供阿里云、腾讯云、华为云、百度云等一线大厂的购买,续费优惠,保证底价,买贵退差。 -