丰富、连接、待集成—MaxCompute 生态再出发

简介: 2019杭州云栖大会大数据生态专场,由阿里云高级技术专家李睿博带来以 “丰富、连接、待集成— MaxCompute 生态再出发” 为题的演讲。本文围绕 MaxCompute 生态进行讲述,主要包括 “更好的工具和接口”、“连接云上各种数据”、“开放自定义引擎” 三部分。主要内容包括 MaxCompute 获得了 Tableau 官方支持,更好的搬站工具和命令行工具体验,大数据+AI 在 Python 生态部分的工作进展,以及开放自定义引擎的能力。

摘要:2019杭州云栖大会大数据生态专场,由阿里云高级技术专家李睿博带来以 “丰富、连接、待集成— MaxCompute 生态再出发” 为题的演讲。本文围绕 MaxCompute 生态进行讲述,主要包括 “更好的工具和接口”、“连接云上各种数据”、“开放自定义引擎” 三部分。主要内容包括 MaxCompute 获得了 Tableau 官方支持,更好的搬站工具和命令行工具体验,大数据+AI 在 Python 生态部分的工作进展,以及开放自定义引擎的能力。

视频直播回放 >>>
以下为精彩视频内容整理:


MaxCompute 是来自阿里巴巴的一款旗舰级大数据服务,属于全托管式。看待MaxCompute的生态有不同的角度。如上图的右半部分,将MaxCompute看作是服务,则服务外围则是相应的工具和接口,例如Java SDK、JDBC驱动等,是生态。从另一个角度,从MaxCompute的功能来看,分为两部分,一部分是计算属性,另一部分是存储属性。右下角的数据属于存储属性,左上角的引擎属于计算属性。MaxCompute作为一站式的大数据解决方案,既提供了存储能力,也提供了计算能力。从不同的角度看,整个环形构成了MaxCompute生态。

image.png

工具接口更丰富

MaxCompute是云原生的大数据服务,服务其实就是一套Rest接口,在外部通过SDK跟服务进行交互。交互分为两部分,一部分是控制,例如,提交作业时使用XML来提交作业以及获取作业的状态,另一部分是数据通道,当作业跑完之后需要在服务端获取下来时,将会大量用到PB。在SDK中大量用到XML到Java object Binding的技术,一直沿用的就是JDK自带的JAXB技术,但是随着Java版本的迭代,Jaxb会退出标准Java,而编程JavaEE的特性,需要用户额外引用包来完成一个项目,这对于使用者来说非常不方便。另一方面,对于PB来说也是如此,跨版本的兼容问题一直存在。如果需要将MaxCompute集成到某个框架中,产生了依赖库的冲突时,用户处理起来是比较难的。现在从最新版的SDK开始,包含了完整的XML Binding的实现,可以完全不依赖JAXB,在面向Java 9/10/11时,都可以无障碍运行。使得Java SDK依赖层变得很薄。JavaSDK作为上层工具的基础,包括命令行工具、JDBC等都有收益。

image.png

在JavaSDK之后,MaxCompute团队对JDBC驱动也做了改进。除了新增支持MaxCompute所有新类型之外,阿里也基于最新的JDBC驱动做了MaxCompute的Tableau到数据源的连接器。Tableau是业界中做交互式数据分析非常领先的厂商,对数据连接器的质量有非常高的要求。基于JDBC的MaxCompute Connector是完整的通过了Tableau TDVT测试,大概700个测试用例,被Tableau官方所收录。从2019.4版本开始,Tableau数据源列表中可以找到MaxCompute。

image.png

在工具层面,console提供了两处明显的改进,包括多行编辑体验和支持4 Bytes UTF-8。此外,在2019年,阿里新开发了搬站工具,是能完整表达搬站意图的工具链,如上图所示。从搬站数据开始,然后做网路情况的探测,以及数据源的探查,生成搬迁计划,最后执行。这套工具链提供了足够灵活的接口来满足各种搬站中的特殊需求,比如原来命名不够好,可以做更名。在执行层面,无论是推模式和拉模式都支持,还可以和DataWorks的数据同步集成,带给用户很好的体验。这套搬站工具已经应用到了58到家和百合网等客户。

image.png

Python生态对于AI来讲是不可或缺的一部分,在提到MaxCompute生态时,不仅仅是指Python SDK,也涉及DataFrame兼容。可以用类似DataFrame的API执行在MaxCompute上,能满足很多的场景,但不是全部,如上表中,几乎与index相关的操作都不支持。因此,在2018年,阿里开源了一个新的Mars引擎,是基于Tensor分布式引擎,可以更好的实现大数据的科学计算。同时,Mars也非常适合作为大数据平台和其他系统,比如机器学习、图计算系统的桥梁。

image.png

如上图所示,展示了使用Mars的例子,其中Mars作为中间层,用到Mars一系列新的特点,左侧为图计算系统,有自己的存储和表达,可以生成高维array,然后,根据自己的index将Tensor写到下一步,最后,数据会进入到TenserFlow进行深度学习的训练,中间的过程还需要经过大数据系统的补充,用来补充维度。

image.png

上图为Mars+DCPM在某种负载条件下的工作,输入数据分别为250G和500G,负载规模为矩阵乘运算,问题规模是平方级的。当矩阵变大一倍时,计算规模会相应的变大四倍。在使用DCPM后,当问题规模扩大时,性能也会有所提升。例如,在500G的场景下,可以做到25%的性能提升。

云上数据可连接

image.png

在阿里巴巴内部,99%的结构化数据都存储在MaxCompute上,且能够支撑EB级别的存储。对于公共云上具体的用户来讲,不可能全部都是结构化的数据,也有非结构化的场景,比如图中的OSS和OTS。很久以前,MaxCompute就可以支持外表,但外表在很长一段时间里只支持OSS和OTS,这与网络的基础架构是相关的。MaxCompute、OSS、OTS都是云原生的基础服务,在网络上随时随地都可以被访问和打通。一直以来,缺少的是VPC里的服务,如上图中的右部分,因为这些服务不是云原生,不具备在官网上开放的能力。但是随着更多的用户对这方面的需求的增加,MaxCompute已经开始支持以外表、Spark/Flink、SQL UDF的形式访问VPC里的数据。

image.png

上图为Spark访问RDS的一个例子。在Spark on MaxCompute中访问线下VPC里的ADS需要两步,第一步,在RDS中添加一套白名单,左侧为MaxCompute可能会访问出来的IP白名单,第二步,在启动Spark作业之前,将VPC里必要的信息填充进去。如右侧所示。
这样的VPC打通开启了更多应用场景,包括可以直读Kafka实时数据流,可以联合计算RDS维度表,或者使用Redis加速引擎执行等。当VPC打通的网络和带宽足够稳定时,阿里有可能会实现云上和云下混合的架构。

image.png

开放引擎待集成

image.png

上图为MaxCompute的联合计算平台。将MaxCompute的计算能力包装成各种开源引擎都可以适配,好处是可以统一的管理,利用统一的资源池,直接可以在MaxCompute上运行各种开源引擎编写的作业。

image.png

在2019年4月,阿里正式将Spark推向了公共云,试点国内几个region,收到了很高的欢迎度。现在MaxCompute已经实现全域可用,标配开箱即用。MaxCompute最初是一个离线的数据系统,擅长运行大规模作业,现在使用联合计算平台作业的形式,将Spark和Flink引入进来,开始支持流计算属性。

image.png

最初,MaxCompute Spark为了能够在MaxCompute上运行,是在原生Spark上做了一些改动的。我们也看到有一些用户提到,对于他们也有过改动的Spark,是否能够兼容。因此我们希望做到对开源引擎核心代码的无入侵,这意味着,用户在开源引擎上做的修改也可以不经过改动可以运行在阿里的平台上。如上图所示,在Spark上做切分,其中,一部分为Engine Core,一部分是引擎与MaxCompute数据源对接的部分,一部分是与资源对接的部分。数据方面,抽象了Cupid SDK方便用户开发与阿里平台对接的部分。资源方面则提供YarnClient的原地替换,对接阿里基于飞天的分布式系统的调度接口。目前可以实现的是,Spark 2.4/Flink 1.9的原生Jar包可以无改动直接使用。
因此,MaxCompute完全可以向用户开放自定义引擎,用户通过下载原生或自己定制的引擎包,创建自定义引擎,然后向这个自定义引擎提交作业。

更多MaxCompute产品与技术信息请访问官网 >>>

欢迎加入“MaxCompute开发者社区”,扫码或点击链接均可加入 https://h5.dingtalk.com/invite-page/index.html?bizSource=____source____&corpId=dingb682fb31ec15e09f35c2f4657eb6378f&inviterUid=E3F28CD2308408A8&encodeDeptId=0054DC2B53AFE745
image.png

相关实践学习
基于MaxCompute的热门话题分析
本实验围绕社交用户发布的文章做了详尽的分析,通过分析能得到用户群体年龄分布,性别分布,地理位置分布,以及热门话题的热度。
SaaS 模式云数据仓库必修课
本课程由阿里云开发者社区和阿里云大数据团队共同出品,是SaaS模式云原生数据仓库领导者MaxCompute核心课程。本课程由阿里云资深产品和技术专家们从概念到方法,从场景到实践,体系化的将阿里巴巴飞天大数据平台10多年的经过验证的方法与实践深入浅出的讲给开发者们。帮助大数据开发者快速了解并掌握SaaS模式的云原生的数据仓库,助力开发者学习了解先进的技术栈,并能在实际业务中敏捷的进行大数据分析,赋能企业业务。 通过本课程可以了解SaaS模式云原生数据仓库领导者MaxCompute核心功能及典型适用场景,可应用MaxCompute实现数仓搭建,快速进行大数据分析。适合大数据工程师、大数据分析师 大量数据需要处理、存储和管理,需要搭建数据仓库?学它! 没有足够人员和经验来运维大数据平台,不想自建IDC买机器,需要免运维的大数据平台?会SQL就等于会大数据?学它! 想知道大数据用得对不对,想用更少的钱得到持续演进的数仓能力?获得极致弹性的计算资源和更好的性能,以及持续保护数据安全的生产环境?学它! 想要获得灵活的分析能力,快速洞察数据规律特征?想要兼得数据湖的灵活性与数据仓库的成长性?学它! 出品人:阿里云大数据产品及研发团队专家 产品 MaxCompute 官网 https://www.aliyun.com/product/odps 
目录
相关文章
|
4天前
|
存储 消息中间件 Cloud Native
AutoMQ 生态集成 CubeFS
立方体文件系统(CubeFS)是一个云原生存储解决方案,现为CNCF孵化项目,支持S3、POSIX、HDFS等协议,提供多租户、多AZ部署和跨区域复制等功能,适用于大数据、AI、容器平台等场景。要部署AutoMQ集群,需先准备CubeFS集群,启用对象网关,创建用户并配置S3接口,然后创建Bucket。接着,下载AutoMQ二进制包,使用S3 URL生成器配置并启动集群,确保所有主机在同一网络并配置正确端口。启动时,先启动控制器,再启动Broker节点。注意,部署在私有数据中心时,需考虑SSD的可靠性,可能需要RAID配置。
37 4
|
12天前
|
分布式计算 NoSQL 大数据
MaxCompute产品使用合集之自定义udf连接云上vpc网络的redis获取数据的步骤是什么
MaxCompute作为一款全面的大数据处理平台,广泛应用于各类大数据分析、数据挖掘、BI及机器学习场景。掌握其核心功能、熟练操作流程、遵循最佳实践,可以帮助用户高效、安全地管理和利用海量数据。以下是一个关于MaxCompute产品使用的合集,涵盖了其核心功能、应用场景、操作流程以及最佳实践等内容。
|
11天前
|
DataWorks NoSQL Java
DataWorks操作报错合集之数据集成使用公共数据集成资源组写入到redis数据源(使用的是VPC连接),提示以下错误:request action:[InnerVpcGrantVpcInstanceAccessToApp], message:[InvalidInstanceId.怎么解决
DataWorks是阿里云提供的一站式大数据开发与治理平台,支持数据集成、数据开发、数据服务、数据质量管理、数据安全管理等全流程数据处理。在使用DataWorks过程中,可能会遇到各种操作报错。以下是一些常见的报错情况及其可能的原因和解决方法。
|
11天前
|
分布式计算 DataWorks 大数据
MaxCompute操作报错合集之连接Tableau时,遇到所有日期字段无法使用并报错,是什么原因
MaxCompute是阿里云提供的大规模离线数据处理服务,用于大数据分析、挖掘和报表生成等场景。在使用MaxCompute进行数据处理时,可能会遇到各种操作报错。以下是一些常见的MaxCompute操作报错及其可能的原因与解决措施的合集。
|
13天前
|
分布式计算 大数据 Java
MaxCompute产品使用合集之在datawoks的datastudio和odpscmd里执行时间没有问题,但是用jdbc连接大数据计算MaxCompute获取getdate()时间就不对,该怎么办
MaxCompute作为一款全面的大数据处理平台,广泛应用于各类大数据分析、数据挖掘、BI及机器学习场景。掌握其核心功能、熟练操作流程、遵循最佳实践,可以帮助用户高效、安全地管理和利用海量数据。以下是一个关于MaxCompute产品使用的合集,涵盖了其核心功能、应用场景、操作流程以及最佳实践等内容。
|
11天前
|
分布式计算 运维 DataWorks
MaxCompute产品使用合集之如何直接连接Tableau Cloud
MaxCompute作为一款全面的大数据处理平台,广泛应用于各类大数据分析、数据挖掘、BI及机器学习场景。掌握其核心功能、熟练操作流程、遵循最佳实践,可以帮助用户高效、安全地管理和利用海量数据。以下是一个关于MaxCompute产品使用的合集,涵盖了其核心功能、应用场景、操作流程以及最佳实践等内容。
|
13天前
|
分布式计算 DataWorks 关系型数据库
MaxCompute产品使用合集之DataWorks是否支持通过SQL方式在MaxCompute中查询数据,并通过数据集成服务将查询结果同步至MySQL数据库
MaxCompute作为一款全面的大数据处理平台,广泛应用于各类大数据分析、数据挖掘、BI及机器学习场景。掌握其核心功能、熟练操作流程、遵循最佳实践,可以帮助用户高效、安全地管理和利用海量数据。以下是一个关于MaxCompute产品使用的合集,涵盖了其核心功能、应用场景、操作流程以及最佳实践等内容。
|
28天前
|
消息中间件 JSON Kafka
AutoMQ 生态集成 Apache Doris
Apache Doris 是一个高性能的分析型数据库,以其亚秒级查询响应和对复杂分析的支持而知名。它适合报表分析、即席查询等场景,能从 AutoMQ 通过 Routine Load 导入 Kafka 主题数据。本文详述了如何配置 Doris 环境,创建测试数据,以及设置 Routine Load 作业从 AutoMQ 导入 JSON 数据到 Doris 表的过程。最后,文中展示了验证数据成功导入的方法。Apache Doris 提供了低成本、高弹性的数据处理解决方案,其团队由 Apache RocketMQ 和 Linux LVS 的核心成员组成。
36 0
|
29天前
|
监控 关系型数据库 分布式数据库
【PolarDB开源】PolarDB开源生态构建:插件开发与第三方工具集成
【5月更文挑战第23天】PolarDB开源项目成熟,生态成为开发者关注点。其插件机制和接口设计允许添加自定义功能,无需修改核心代码,促进扩展建设。本文涵盖插件开发流程和第三方工具集成实践,如性能监控插件示例和数据迁移工具、监控系统集成。PolarDB通过开放生态与标准化接口,激发开发者潜力,共同推动数据库技术创新。
46 0
|
1月前
|
Cloud Native 关系型数据库 分布式数据库
数据库性能诊断工具DBdoctor通过阿里云PolarDB产品生态集成认证
DBdoctor(V3.1.0)成功通过阿里云PolarDB分布式版(V2.3)集成认证,展现优秀兼容性和稳定性。此工具是聚好看科技的内核级数据库性能诊断产品,运用eBPF技术诊断SQL执行,提供智能巡检、根因分析和优化建议。最新版V3.1.1增加了对PolarDB-X和OceanBase的支持,以及基于cost的索引诊断功能。PolarDB-X是阿里巴巴的高性能云原生分布式数据库,兼容MySQL生态。用户可通过提供的下载地址、在线试用链接和部署指南体验DBdoctor。
204 0

热门文章

最新文章

相关产品

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