MaxCompute 2.0 生态开放之路及最新发展-阿里云开发者社区

开发者社区> 隐林> 正文

MaxCompute 2.0 生态开放之路及最新发展

简介: MaxCompute(原ODPS)是阿里云自主研发的分布式大数据处理系统。
+关注继续查看

文章转自yizhuo

MaxCompute(原ODPS)是阿里云自主研发的分布式大数据处理系统。长久以来,这套阿里自研的系统为阿里内部服务,有自己的类型系统,配套工具以及 SDK 和编程接口。但是随着公共领域对 MaxCompute 的需求越来越强烈,我们也在尽自己所能,使 MaxCompute 能够兼容现有生态,提高使用体验以及最重要的,保护用户投资。

用户接口层的基本简介

首先整体介绍一下 MaxCompute 的用户接口层。

MaxCompute 从研发的第一天起就被设计统一由 Restful API 提供服务。在 Restful API 之上,我们各种语言的 SDK。由 SDK 编写形成的各种工具、驱动等等构成了 MaxCompute 的用户接口层,即外围生态。

structure

协议兼容:JDBC 和 Hive Proxy

JDBC 是 MaxCompute 第一次提供标准化协议的尝试。通过 JDBC,我们可以顺利对接如 Pentaho 这样的 BI 工具,如 TalentD 这样的 ETL 工具以及 SQL Workbench 这样的传统数据库管理工具(图为 ODPS JDBC on Zeppelin)。

jdbc6

同时,JDBC 的编程接口也为更多人所熟知,很多用户可以不用学习新的 SDK 即可编程完成常见的数据处理任务。这方面可以参考我们之前发表在云栖社区的文章《使用 odps-jdbc 接入 ODPS,不再从零开始》

ODBC 也是重要的兼容协议之一。为此我们正在研发 Hive Proxy,直接从 thrift 协议层进行兼容,以期可以提供包括 ODBC 在内的 Hive 整个生态的接入能力。Hive Proxy 部署在客户端,将 Hive 的 thrift 请求转换成 MaxCompute 的 Restful API 请求,可以用来直接对接诸如 Tableau、Qlik 这样不直接支持 JDBC 的 BI 工具,或者 HPL 这样的 Hive 组件。

目前 Hive Proxy 正在紧密的开发测试阶段,相信不久就可以和各位见面。

编程接口兼容:RODPS 和 PyODPS

MaxCompute 的强项是大规模数据分析,这是很多数据分析师每天的主要工作。因此提供数据分析师熟悉的用户接口就变成很重要的事情。目前,我们提供的 RODPS,使用户具备在 R 中提交 SQL,并将结果数据拖回本地进行 R 分析计算的能力。

rodps2

对于熟悉 Python DataFrame 的用户,我们提供的 PyODPS 则提供了更加强大的能力。PyODPS 提供了全新的分布式 ODPS DataFrame,可以直接用熟悉的 DF 来操作 MaxCompute 中的海量数据。PyODPS 能够自行构建对应的 SQL,进行优化并托管这些 SQL 的执行。PyODPS 甚至可以将本地的 Pandas DataFrame 和 ODPS DataFrame 进行混合操作(比如 join)!同时,PyODPS 天然可以与 Jupyter Notebook 相结合,构成强有力的交互开发环境。我们为此特意增加了如结果集的交互式可视化等功能,使基于 PyODPS 的数据分析空前的方便。这一切都可以通过 docker 镜像和免费体验服务快速获得。

pyodps_small

目前,PyODPS 正在对接 MaxCompute TensorFlow。

Hadoop MR Adapter

MaxCompute 提供的 MapReduce 实现叫 OpenMR,编程接口跟 Hadoop MR 不太一样。迁移 Hadoop MR 到 OpenMR 是个挺吃力不讨好的事情,因此对于已经拥有 Hadoop MR 任务的用户,我们准备了 Hadoop MR Adapter。只需替换一个运行时 jar 包,即可将 Hadoop MR 任务在运行时改写成 OpenMR 任务执行。

目前这个插件已经接近完成,正在小范围测试。我们将在后续专门推出相关文章。

开放源代码

目前,我们的 Java SDKPyODPSJDBC 驱动 等都是 github 开源项目(恕未一一列举,您可以关注 Github 的 aliyun group 来获取完整的项目列表)。我们非常希望通过开放源码的形式,获得社区的帮助和建议,和社区形成良性的互动。

同时,我们的 Restful API 也向最终用户开放,欢迎各界爱好者共同完善 MaxCompute 的生态环境。

可喜的是,我们已经收到了来自开源爱好者贡献的 RubyPHP SDK。基于 Ruby SDK,我们顺利的开发了 Fluentd 插件,实在是令人高兴的事情。


欢迎加入“数加·MaxCompute购买咨询”钉钉群(群号: 11782920)进行咨询,群二维码如下:

96e17df884ab556dc002c912fa736ef6558cbb51 

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
MaxCompute(原ODPS)开发入门指南——数据上云篇
根据《MaxCompute(原ODPS)开发入门指南——计量计费篇》的了解,大家清楚了MaxCompute可以做什么,计费模式如何,想必大家也开通了MaxCompute想进行一次POC,但是大家遇到第一个问题一定是我的数据如何上云?
9105 0
生态与兼容:MaxCompute大数据生态集成和开发工具
本文PPT来自阿里云数据事业部高级专家薛明/艺卓于10月15日在2016年杭州云栖大会上发表的《MaxCompute大数据生态集成和开发工具》。
4176 0
MaxCompute_SDK_开发指南
方便和辅助 MaxCompute 开发人员使用 Java / Python SDK 方式进行日常代码的开发工作。
3067 0
使用OpenApi弹性释放和设置云服务器ECS释放
云服务器ECS的一个重要特性就是按需创建资源。您可以在业务高峰期按需弹性的自定义规则进行资源创建,在完成业务计算的时候释放资源。本篇将提供几个Tips帮助您更加容易和自动化的完成云服务器的释放和弹性设置。
7734 0
MaxCompute(原ODPS)开发入门指南——数据开发工具篇
大家在使用大数据计算服务MaxCompute时,最头疼就是我现在已有的数据如何快速上云?我的日志数据如何采集到MaxCompute上?等等。。。具体详见《MaxCompute(原ODPS)开发入门指南——数据上云篇》。
6300 0
阿里云ECS云服务器初始化设置教程方法
阿里云ECS云服务器初始化是指将云服务器系统恢复到最初状态的过程,阿里云的服务器初始化是通过更换系统盘来实现的,是免费的,阿里云百科网分享服务器初始化教程: 服务器初始化教程方法 本文的服务器初始化是指将ECS云服务器系统恢复到最初状态,服务器中的数据也会被清空,所以初始化之前一定要先备份好。
10760 0
MaxCompute/DataWorks 数据集成与开发实践
摘要:在2017杭州云栖大会阿里云数加DataWorks专场上,阿里云产品专家代俊峰(花名:普阳)为大家分享了如何借助阿里云数加DataWorks工具进行数据集成和开发,分享了如何借助DataWorks实现从数据处理手工作坊到数据加工工厂的跨越转变。
7258 0
MaxCompute(原ODPS)开发入门指南——计量计费篇
近期介绍大量数据上云用户关于MaxCompute的一些问题,现就MaxCompute产品线的一些工具栈可以和大家进行交流,也欢迎大家拍砖和来扰,一起学习一起进步!也希望能够在帮助到大家!
5951 0
+关注
隐林
阿里云大数据产品专家,擅长MaxCompute、机器学习、分布式、可视化、人工智能等大数据领域;
288
文章
38
问答
来源圈子
更多
MaxCompute(原ODPS)是一项面向分析的大数据计算服务,它以Serverless架构提供快速、全托管的在线数据仓库服务,消除传统数据平台在资源扩展性和弹性方面的限制,最小化用户运维投入,使您经济并高效的分析处理海量数据。
+ 订阅
文章排行榜
最热
最新
相关电子书
更多
文娱运维技术
立即下载
《SaaS模式云原生数据仓库应用场景实践》
立即下载
《看见新力量:二》电子书
立即下载