简介:MaxCompute 是阿里巴巴自研的云原生数据仓库,同时也兼容大部分大数据生态系统。一个平台无奈实现所有性能和解决所有问题,MaxCompute 需继续加强生态与开放性建设,方能走得更远。本文作者 夏俊伟 阿里云智能高级产品专家 MaxCompute 产品与生态架构 MaxCompute 是一个具备先进架构的 Serverless 云数据仓库,自从商业化后,应用的用户波及各个行业的头部客户。在生态上须要反对支流的开源产品以及阿里云云产品。其次要包含以下几个方面:数据接入生态。目前官网提供多种数据接入形式,能够接入绝大多数的数据库,NOSQL 库,音讯队列,日志等业务零碎。数据引擎生态。MaxCompute 除了本身反对 SQL 引擎,Spark,mars,Graph 等,还反对第三方引擎平台接入,例如实现底层直读 Hologres 引擎,PAI 人工智能平台,智能搜寻,智能举荐等。数据开发管理工具生态。MaxCompute 除了官网推出的 Dataworks 以外,还反对开源的 Kettle,Airflow 以及 Azkaban 平台,对数据进行开发治理调度等操作。数据湖生态。MaxCompute 除了能够计算本身存储数据,还能够联结 mysql 等关系型数据库,Hbase,TableStore,Lindorm 等 NoSQL 数据库,DLF+OSS 对象存储,HDFS 和 HUDI 等大数据文件系统做联结计算。数据利用生态。目前除了能够间接接入 QuickBI 官网数据 BI 平台,同时也反对市面支流的开源和商业化 BI 数据分析工具,例如 Superset 和 Tableau 等。MaxCompute 产品生态架构
MaxCompute 产品生态
数据接入生态 MaxCompute 官网提供 DataWorks 数据集成,能够反对几十种数据集成接入或者数据导出。同时也反对支流的时实 Kafka,Datahub 数据间接写入;也反对 SLS 日志间接写入。DataWorks 数据集成提供数据读取(Reader)和写入插件(Writer)实现对数据源的读写操作,您能够依据要同步的起源与去向数据源,并联合离线同步反对的数据源状况,进行同步工作的配置。离线同步反对单表的增量与全量数据读写、分库分表的增量与全量数据读。也能够反对您将多种输出及输入数据源搭配组成同步链路进行单表或整库数据的实时增量同步,还能够反对多种数据源之间进行不同数据同步场景(整库离线同步、全增量实时同步)的同步解决方案。数据集成为 MaxCompute 提供丰盛的数据通道,不便用户间接接入数据或者导出数据。具体操作请点击。DataHubDataHub 是流式数据(Streaming Data)的解决平台,提供对流式数据的公布 (Publish),订阅(Subscribe)和散发性能,让您能够轻松构建基于流式数据的剖析和利用。数据总线 DataHub 服务能够对各种挪动设施,应用软件,网站服务,传感器等产生的大量流式数据进行继续一直的采集,存储和解决。用户能够编写应用程序或者应用流计算引擎来解决写入到数据总线 DataHub 的流式数据比方实时 Web 拜访日志、利用日志、各种事件等,官网曾经深度集成 DataHub 数据写入 MaxCompute。具体操作请点击。音讯队列 Kafka 版音讯队列 Kafka 版是阿里云提供的分布式、高吞吐、可扩大的音讯队列服务。音讯队列 Kafka 版宽泛用于日志收集、监控数据聚合、流式数据处理、在线和离线剖析等大数据畛域,已成为 MaxCompute 大数据生态中不可或缺的局部,用户能够不便的通过 Kafka 把数据写入 MaxCompute。具体操作请点击。日志服务 SLS 日志服务 SLS 是云原生观测与剖析平台,为 Log、Metric、Trace 等数据提供大规模、低成本、实时的平台化服务。日志服务一站式提供数据采集、加工、查问与剖析、可视化、告警、生产与投递等性能,全面晋升您在研发、运维、经营、平安等场景的数字化能力。用户能够方便快捷的把数据从 SLS 写入 MaxCompute。具体操作请点击。DTS 数据传输服务 DTS(Data Transmission Service)是阿里云提供的实时数据流服务,反对 RDBMS、NoSQL、OLAP 等,集数据迁徙 / 订阅 / 同步于一体,为您提供稳固平安的传输链路。具体操作请点击。数据引擎生态 MaxCompute 自研 SQL 引擎,兼容 hive 语法,同时也反对开源 Spark 引擎,集成了 Mars,Graph 图计算引擎。用户还能够通过 MaxCompute CUPID 自主接入 Presto,kylin 等开源引擎进行数据分析计算。同时用户能够适配不同业务场景,引入不同计算引擎,其中就包含:Hologres 用户在做实时报表,实时数据看板,在线数据服务等高可用,高响应的场景,须要引入 Hologres 做实时数仓剖析服务。为用户提供疾速响应的在线数据分析服务。目前 MaxCompute 跟 Hologres 曾经实现底层数据买通,能够间接进行读写。更进一步晋升数据服务效率。具体操作请点击。PAI 人工智能平台用户在营销场景,金融交易风控场景,曾经智能决策,智能语音客服等场景都须要智能化算法模型反对,PAI 能够提供一站式的机器学习解决方案。同时 PAI 也跟 MaxCompute 深度集成,PAI 能够利用 MaxCompue 弱小的分布式计算能力,为 PAI 进行模型训练,数据计算。具体操作请点击。智能搜索引擎用户在文字、图片等搜寻场景须要弱小的搜索引擎,MaxComput 能够为搜寻和举荐引擎提供海量的数据存储和计算能力。OpenSearchOpenSearch 是大规模分布式搜索引擎搭建的一站式智能搜寻业务开发平台,通过内置各行业的查问语义了解、机器学习排序算法等能力,提供充沛凋谢的引擎能力,助力开发者疾速搭建智能搜寻服务。同时跟 MaxCompute 深度集成,MaxCompute 为 OpenSearch 提供海量数据存储与数据计算能力。具体操作请点击。ElasticsearchElasticsearch 致力于打造基于开源生态的、低成本、场景化的云上 Elasticsearch 解决方案,源于开源,又不止于开源。基于云上超强的计算和存储能力,以及在集群平安和运维畛域积攒的技术教训,阿里云 Elasticsearch 不仅反对集群一键部署、弹性伸缩、智能运维和各类内核引擎优化,还提供了迁徙、容灾、备份和监控等全套解决方案。MaxCompute 为 Elasticsearch 提供海量数据存储与数据计算能力。具体操作请点击。智能举荐智能举荐 AIRec(Artificial Intelligence Recommendation,简称 AIRec)基于阿里巴巴大数据和人工智能技术,联合在电商、内容、新闻资讯、视频直播和社交等多个行业畛域的积攒,MaxCompute 为 AIRec 提供海量数据存储与数据计算能力。具体操作请点击。数据开发管理工具生态 数据管理目前 MaxCompute 反对以下几种开源数据仓库管理工具对接 MaxCompute,对 MaxCompute 的我的项目进行治理。DBeaverDBeaver 是一款收费的多平台数据库工具,实用于开发人员、数据库管理员、分析师和所有须要应用数据库的人员。更多 DBeaver 信息,请参见 DBeaver。对接 MaxCompute 后,能够通过 DBeaver 对 MaxCompute 的我的项目进行治理,能够间接查看 MaxCompute 的表,表构造,以及表数据等操作。具体操作请点击。DataGripDataGrip 是面向开发人员的数据库治理环境,为查问、创立和治理数据库提供便当。数据库能够在本地、服务器或云中工作。更多 DataGrip 信息,请参见 DataGrip。对接 MaxCompute 后,能够通过 DataGrip 对 MaxCompute 的我的项目进行治理,能够间接查看 MaxCompute 的表,表构造,以及表数据等操作。具体操作请点击。SQL Workbench/JSQL Workbench/ J 是一个收费的、独立于 DBMS(Database Management System)的、跨平台的 SQL 查问工具。SQL Workbench/ J 采纳 Java 语言编写,能够在任何提供 Java 运行环境的操作系统上运行。更多 SQL Workbench/ J 信息,请参见 SQL Workbench/J。对接 MaxCompute 后,能够通过 SQL Workbench/ J 对 MaxCompute 的我的项目进行治理,能够间接查看 MaxCompute 的表,表构造,以及表数据等操作。具体操作请点击。数据开发调度平台 MaxCompute 除了能够用官网推出的 DataWorks 做数据集成,数据开发任务调度,工作运维,数据分析以及数据服务等,同时也反对支流开元数据开发管理工具。官网平台 DataWorksDataWorks 基于 MaxCompute 大数据引擎,为数据仓库、数据湖、湖仓一体等解决方案提供对立的全链路大数据开发治理平台。具体操作请点击。开源工具目前 MaxCompute 反对以下开源数据开发调度工具对接 MaxCompute,能够在这些平台上开发数据工作作业,作业调度等。KettleMaxCompute 反对您通过 ETL 工具 Kettle 实现 MaxCompute 作业调度。您能够通过拖拽控件的形式,不便地定义数据传输的拓扑构造。具体操作请点击。AirflowMaxCompute 反对您应用 Apache Airflow 通过 Python 接口实现作业调度。具体操作请点击。AzkabanMaxCompute 反对您通过 Azkaban 实现作业调度,帮忙您高效地实现高频数据分析工作。具体操作请点击。数据湖生态 MaxCompute 不仅能够对本身存储的数据进行高效快捷的进行计算,同时也能够通过表面,湖仓一体(External Schema+Foriegn Server)的形式进行数据联结计算。内部表目前 MaxCompute 反对 RDS,OSS,TableStore,Hbase/Lindorm 以表面的形式进行联结计算。用户能够不加载数据进 MaxCompute,也能够不便的用 MaxCompute 进行数据联结计算。具体操作请点击。湖仓一体目前 MaxCompute 湖仓一体,能够反对 DLF+OSS/HDFS/HUDI 等多种数据源,进行湖仓一体联结计算。用户能够在 MaxCompute 建设外围数据源,通过 External Schema 对外围数据源进行元数据对立治理,做联结计算。具体操作请点击。数据利用生态目前 MaxCompute 曾经对接市场上支流的 BI 智能剖析工具,能够让用户不便的在 BI 智能剖析工具上对 MaxCompute 的数据进行剖析以及展示。次要对接的商业智能剖析工具有阿里云产品 Quick BI,同时也反对支流的开源和商业化 BI 产品,例如开源 BI 剖析工具 superset 商业 BI 剖析工具 Tableau 等。Quick BI 智能剖析套件 Quick BI 是一个专为云上用户量身打造的新一代智能 BI 服务平台。Quick BI 能够提供海量数据实时在线剖析服务,反对拖拽式操作和丰盛的可视化成果,帮忙您轻松自如地实现数据分析、业务数据探查、报表制作等工作。MaxCompute 深度集成 Quick Bi,不便用户在 Quick BI 做数据分析展示。具体操作请点击。TableauMaxCompute 反对您将 MaxCompute 我的项目数据接入 Tableau 进行可视化剖析,您能够利用 Tableau 简便的拖放式界面,自定义视图、布局、形态、色彩等,帮忙您展示本人的数据视角。具体操作请点击。FineBIMaxCompute 反对您将 MaxCompute 我的项目数据接入 FineBI,帮忙企业的业务人员和数据分析师发展以问题为导向的摸索式剖析工作。连贯 FineBI 和 MaxCompute 我的项目,并进行可视化数据分析。具体操作请点击。FineReportMaxCompute 反对您将 MaxCompute 我的项目数据接入 FineReport,您通过简略拖拽式操作便可制作中国式简单报表。连贯 FineReport 和 MaxCompute 我的项目,并进行报表剖析。具体操作请点击。观远 BIMaxCompute 反对您将 MaxCompute 我的项目数据接入观远 BI,帮忙企业的业务人员和数据分析师发展以问题为导向的摸索式剖析工作以及制作数据卡片和数据看板。连贯观远 BI 和 MaxCompute 我的项目,并进行可视化数据分析。具体操作请点击。网易无数 BIMaxCompute 反对您将 MaxCompute 我的项目数据接入网易无数 BI,帮忙您轻松实现数据分析和数据可视化工作。应用网易无数 BI 连贯 MaxCompute 我的项目,并进行可视化数据分析具体具体操作请点击。Yonghong BIMaxCompute 反对您将 MaxCompute 我的项目数据接入 Yonghong BI,帮忙您轻松实现数据分析和数据可视化工作。具体操作请点击。SupersetMaxCompute 反对您将 MaxCompute 我的项目数据接入 Superset,帮忙您疾速、轻量、直观地摸索和可视化剖析数据。具体操作请点击。DavinciMaxCompute 反对您将 MaxCompute 我的项目数据接入 Davinci,您只需在可视化 UI 界面上简略配置即可服务多种数据可视化利用。具体操作请点击。MaxCompute 架构与开放性 MaxCompute 为了让用户更好的用好产品,对外提供了凋谢连贯集成能力。MaxCompute 团队聚焦做好外围存储与计算能力。目前能够通过以下几种对接形式与 MaxCompute 做集成。MaxCompute 凋谢架构
SDK 目前 MaxCompute 反对 Java 和 Python 版本的 SDK 提供给外围零碎进行集成治理。用户也能够通过 SDK 对 MaxCompute 的实例,资源,我的项目,表等进行治理,同时能够通过 SDK 提交 SQL Task 进行数据计算,如果用户须要自定义函数,能够通过 java/python 开发 UDF,UDAF 跟 UDTF,开发本人的业务逻辑,而后上传并注册。在 SQL 作业中间接应用。具体操作请点击。JDBC 为了不便用户应用,MaxCompute 还提供了 JDBC 驱动,用户能够通过 JDBC 接入,能够通过规范的 JDBC 接口基于 MaxCompute 执行海量数据的分布式计算查问,目前用户次要用 JDBC 对 MaxCompute 的数据进行查问,例如 BI 智能剖析平台,采纳的都是 JDBC 形式连贯进行数据分析查问。具体操作请点击。Tunnel 用户能够通过 Tunnel upload 命令把指定指标地址上数据上传到 MaxCompute,反对表,分区级别的数据上传。能够通过 download 的命令把 MaxCompute 的数据下载到指定指标地址或者本地,能够反对下载某个表或者某个分区的数据,同时也反对下载某个 SQL instance 计算好的后果数据。为了防止网络因素导致数据上传下载中断的状况,MaxCompute tunnel 还反对断点续传性能。具体操作请点击。开放性与生态场景实际 某金融互联网公司,全业务上了阿里云后,大数据抉择了 MaxCompute 作为外围计算引擎,搭建了大数据平台,相比之前自建的模式,计算速度晋升了 10 倍,老本节俭了三成。数据源的数据通过 kafka,DTS 实时同步。接入 Flink 后做实时数据计算,计算完后的数据实时写入 MaxCompute 做离线剖析,数据仓库搭建。集成 Dataworks 数据开发调度平台,对数据进行加工开发调度,数据管理,包含数据安全,数据品质,权限等。数据同步到 Hologres,kylin,ES,Hbase 做实时数据业务场景利用,包含在线剖析,标签服务,报表看板,搜寻,举荐等。产品架构
总结 MaxCompute 的生态在不断完善中,为企业带来更丰盛的组件,为用户提供更好服务。在开放性上,MaxCompute 会凋谢更多能力,跟大数据生态产品做集成。在资源调度上会基于 K8s 推出 fuxi 调度引擎对立调度版,在平台治理上会逐步开发规范 restful API 接口,更不便用户做集成。在凋谢更多能力的同时,会推出明确的产品限度项和能力边界,提供有保障的高质量服务。
原文链接:https://click.aliyun.com/m/10… 本文为阿里云原创内容,未经容许不得转载。