阿里云PyODPS 0.7.18发布,针对聚合函数进行优化同时新增对Python 3.7支持

近日,阿里云发布PyODPS 0.7.18,主要是针对聚合函数进行优化同时新增对Python 3.7支持。web

PyODPS是MaxCompute的Python版本的SDK,SDK的意思很是普遍,辅助开发某一类软件的相关文档、范例和工具的集合均可以叫作“SDK”。 PyODPS在这里的做用是提供了对MaxCompute对象的基本操做和DataFrame框架,能够轻松地在MaxCompute上进行数据分析。算法

PyODPS对于MaxCompute来讲有多重要?
首先MaxCompute是一种快速、彻底托管的GB/TB/PB级数据仓库解决方案。MaxCompute能够为用户提供完善的数据导入方案以及多种经典的分布式计算模型,更快速的解决海量数据计算问题,有效下降企业成本,并保障数据安全。sql

在MaxCompute上,你们有不少种分析和机器学习的方式。你们能够用在数加的web界面编写SQL,提交SQL做业;能够用console直接执行SQL,等等等。那机器学习呢,你们须要经过PAI命令提交PAI任务,或者在xlab上操做xlib;画图呢?导出数据绘图或者使用xlab。而这一切工具,都是割裂的,你不得不在各个地方进行切换,并且,也没有传统的数据分析和机器学习的快感。安全

那传统的任务是怎么作的呢,使用RStudio或者jupyter notebook,但对于Pythoner,用pandas进行数据分析、绘图,再用scikit-learn执行机器学习算法,在一个notebook里,能作全部想作的事情,很是高效。框架

如今呢,整合这一切的就是PyODPS,包含有基础MaxCompute SDK,所以一切对MaxCompute模型均可以操做。除此以外,还包括了DataFrame框架,和机器学习模块,这一切操做都进行了整合。机器学习

PyODPS具体实操
安装
PyODPS支持Python2.6以上(包括Python3),系统安装pip后,只需运行pip install pyodps,PyODPS的相关依赖便会自动安装。
快速开始
首先,用阿里云帐号初始化一个MaxCompute的入口,以下所示:
1分布式

根据上述操做初始化后,即可对表、资源、函数等进行操做。
项目空间
项目空间是MaxCompute的基本组织单元,相似于Database的概念。
您可经过 get_project获取到某个项目空间,以下所示:
2函数

表操做
经过调用 list_tables能够列出项目空间下的全部表,以下所示:
3工具

经过调用 exist_table能够判断表是否存在,经过调用 get_table能够获取表。学习

4
5

建立表的Schema
初始化的方法有两种,以下所示:
经过表的列和可选的分区来初始化。
6

经过调用Schema.from_lists,虽然调用更加方便,但显然没法直接设置列和分区的注释。
7

建立表
您可使用表的Schema来建立表,操做以下所示:
8

也可使用逗号链接的 字段名 字段类型字符串组合来建立表,操做以下所示:
9

在未经设置的状况下,建立表时,只容许使用bigint、double、decimal、string、datetime、boolean、map和array类型。
若是您的服务位于公共云,或者支持tinyint、struct等新类型,能够设置 options.sql.use_odps2_extension = True,以打开这些类型的支持,示例以下:
11

获取表数据
您可经过如下两种方法获取表数据。
经过调用head获取表数据,但仅限于查看每张表开始的小于1万条的数据,以下所示:
12

经过在table上执行open_reader操做,打开一个reader来读取数据。您可使用with表达式,也能够不使用。
 

经过使用Tunnel API读取表数据,open_reader操做其实也是对Tunnel API的封装。
写入数据
相似于 open_reader,table对象一样能够执行 open_writer来打开writer,并写数据。以下所示:
 

一样,向表中写入数据也是对Tunnel API的封装,更多详情请参见数据上传下载通道。
删除表
删除表的操做,以下所示:

15

相关文章
相关标签/搜索