文章转自yizhuo

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

用户接口层的基本简介

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

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

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

协议兼容:JDBC 和 Hive Proxy

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

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

同时,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 分析计算的能力。

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

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

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

目前,PyODPS 正在对接 MaxCompute TensorFlow。

Hadoop MR Adapter

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

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

开放源代码

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

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

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

原文链接:http://click.aliyun.com/m/14007/