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 
相关实践学习
简单用户画像分析
本场景主要介绍基于海量日志数据进行简单用户画像分析为背景,如何通过使用DataWorks完成数据采集 、加工数据、配置数据质量监控和数据可视化展现等任务。
SaaS 模式云数据仓库必修课
本课程由阿里云开发者社区和阿里云大数据团队共同出品,是SaaS模式云原生数据仓库领导者MaxCompute核心课程。本课程由阿里云资深产品和技术专家们从概念到方法,从场景到实践,体系化的将阿里巴巴飞天大数据平台10多年的经过验证的方法与实践深入浅出的讲给开发者们。帮助大数据开发者快速了解并掌握SaaS模式的云原生的数据仓库,助力开发者学习了解先进的技术栈,并能在实际业务中敏捷的进行大数据分析,赋能企业业务。 通过本课程可以了解SaaS模式云原生数据仓库领导者MaxCompute核心功能及典型适用场景,可应用MaxCompute实现数仓搭建,快速进行大数据分析。适合大数据工程师、大数据分析师 大量数据需要处理、存储和管理,需要搭建数据仓库?学它! 没有足够人员和经验来运维大数据平台,不想自建IDC买机器,需要免运维的大数据平台?会SQL就等于会大数据?学它! 想知道大数据用得对不对,想用更少的钱得到持续演进的数仓能力?获得极致弹性的计算资源和更好的性能,以及持续保护数据安全的生产环境?学它! 想要获得灵活的分析能力,快速洞察数据规律特征?想要兼得数据湖的灵活性与数据仓库的成长性?学它! 出品人:阿里云大数据产品及研发团队专家 产品 MaxCompute 官网 https://www.aliyun.com/product/odps 
目录
相关文章
|
21天前
|
机器学习/深度学习 分布式计算 数据挖掘
阿里云 MaxCompute MaxFrame 开启免费邀测,统一 Python 开发生态
阿里云 MaxCompute MaxFrame 正式开启邀测,统一 Python 开发生态,打破大数据及 AI 开发使用边界。
198 1
|
4月前
|
大数据 Scala
大数据生态思维导图____2021最新最全Scala语法思维导图!(待更新)
大数据生态思维导图____2021最新最全Scala语法思维导图!(待更新)
17 0
|
4月前
|
分布式计算 大数据 Spark
大数据生态思维导图____2021最新最全Spark生态圈思维导图!
大数据生态思维导图____2021最新最全Spark生态圈思维导图!
21 0
|
4月前
|
分布式计算 资源调度 大数据
【大数据技术Hadoop+Spark】Spark架构、原理、优势、生态系统等讲解(图文解释)
【大数据技术Hadoop+Spark】Spark架构、原理、优势、生态系统等讲解(图文解释)
170 0
|
6月前
|
存储 分布式计算 数据可视化
MaxCompute生态
MaxCompute生态
|
6月前
|
SQL 分布式计算 安全
大数据生态安全框架的实现原理与最佳实践(下篇) 2
大数据生态安全框架的实现原理与最佳实践(下篇)
|
6月前
|
SQL 安全 大数据
大数据生态安全框架的实现原理与最佳实践(下篇) 1
大数据生态安全框架的实现原理与最佳实践(下篇)
|
6月前
|
SQL 分布式计算 安全
大数据生态安全框架的实现原理与最佳实践(上篇) 2
大数据生态安全框架的实现原理与最佳实践(上篇)
|
分布式计算 Kubernetes Cloud Native
《从Spark到Kubernetes MaxCompute 的云原生开源生态实践之路》电子版地址
从Spark到Kubernetes MaxCompute 的云原生开源生态实践之路
87 0
《从Spark到Kubernetes MaxCompute 的云原生开源生态实践之路》电子版地址

相关产品

  • 云原生大数据计算服务 MaxCompute