文章目录
Background
资源调度
- 国内市面上的专用的大数据离线计算产品,一般都是采用 Hadoop 集群托管的方式,此类型的产品,大部分都是基于 YARN 来资源调度的。
- 国外已经有云厂商(AWS, Azure, GCP)提供基于 Kubernetes 的容器化计算产品。
产品形态
- Level0: Kubernetes 集群
- Level1: 定制化的平台,日志收集/分析,用户画像,推荐等产品
1 传统计算集群
1.1 腾讯云-弹性 MapReduce
弹性 MapReduce(EMR)结合云技术和 Hadoop、Hive、Spark、Storm 等社区开源技术,提供安全、低成本、高可靠、可弹性伸缩的云端托管 Hadoop 服务。您可以在数分钟内创建安全可靠的专属 Hadoop 集群,以分析位于集群内数据节点或 COS 上的 PB 级海量数据。
runzhliu: 关于 Spark 或者类似的离线/流计算,面向的是 Spark 开发者,自由度非常高,但是不适合分析师等用户,具体可以看相关的文档Spark 分析 COS 上的数据。
1.2 腾讯云-云数据仓库套件 Sparkling
云数据仓库套件 Sparkling(Tencent Sparkling Data Warehouse Suite)为您提供一套全托管、简单易用的、高性能的PB级云端数据仓库解决方案。Sparkling 基于业界领先的 Apache Spark 框架,您可以在数分钟内创建数千节点的企业级云端分布式数据仓库,并高效的按需快速弹性扩缩容。通过一站式大数据开发和科学平台 DataStudio 进行集群管控、数据集成、元数据管理、工作流开发、数据加工处理、结果可视化等操作,深度集成商业智能分析 BI,构建应用数据集市,提供海量数据的离线加工、数据建模、即席查询分析、数据挖掘和可视化探查能力。
提供强大的弹性扩缩容能力。计算存储分离,集群工作节点包括核心节点和弹性计算节点。用户通过 Data Studio 控制台或云API,实现手动/自动的大规模节点的快速线性横向的扩容,以及纵向计算和存储能力的变配。弹性计算节点同时支持自动化弹性缩容,以适配业务的发展。
1.3 阿里云-大数据计算服务 MaxCompute
https://www.aliyun.com/product/odps?spm=5176.10695662.dataTechnology.1.c266406bpxf3tz
MaxCompute Spark是MaxCompute提供的兼容开源的Spark计算服务。它在统一的计算资源和数据集权限体系之上,提供Spark计算框架,支持用户以熟悉的开发使用方式提交运行Spark作业,以满足更丰富的数据处理分析场景。
1.4 阿里云-E-MapReduce
https://www.aliyun.com/product/emapreduce?spm=a2c4g.11186623.dataTechnology.2.66a97af2xkoLkZ
提供半托管的 Hadoop、Hive、Spark 离线大规模分布式数据存储和计算,SparkStreaming、Flink、Storm 流式数据计算,Presto、Impala 交互式查询,Oozie、Pig 等 Hadoop 生态圈的组件,具体的组件信息可以在选择界面的列表中查看。
关于 E-MapReduce 的架构,可以参考下图。
2 容器化的计算产品
2.1 Azure Kubernetes Service - AKS
Apache Spark is a fast engine for large-scale data processing. As of the Spark 2.3.0 release, Apache Spark supports native integration with Kubernetes clusters. Azure Kubernetes Service (AKS) is a managed Kubernetes environment running in Azure. This document details preparing and running Apache Spark jobs on an Azure Kubernetes Service (AKS) cluster.
2.2 Amazon Elastic Kubernetes Service - EKS
Amazon EKS is a managed service that makes it easy for you to use Kubernetes on AWS without needing to install and operate your own Kubernetes control plane.
2.3 Google Kubernetes Engine - GKE
- Apache Spark is a unified analytics engine for large-scale data processing.
- Spark Operator aims to make specifying and running Spark applications as easy and idiomatic as running other workloads on Kubernetes. It uses a CustomResourceDefinition (CRD) of SparkApplication objects for specifying, running, and surfacing status of Spark applications.
3 Summary
离线计算的云产品还是比较丰富的,但是不管底层是用 YARN 还是 K8S,user-friendly 是首先要考虑的问题,所以说有个靠谱的产品和交互,对于工程师来说是有多么重要…
我们组也在做大规模离线计算的产品,我们的场景是离线任务和在线服务(游戏)混合部署的集群,如果对这个事情感兴趣,欢迎投递简历到 runzhliu@163.com ?