下图是 EMR 目前支持的开源软件栈。最底部是 EMR 的 Docker 和 ECS。通过 ECS 是目前在公有云上的主要形态,专有云可以通过 Docker 的方式,在 ECS之上部署一个 EMR Agent,主要负责集群管理和集群运行数据的采集,检测集群端前是否出现问题。数据导入时 EMR 提供了 Sqoop,使用开源的 DataX 组件、Flume 组件或 SLS 将数据导入到 EMR 上。数据存储这一块 EMR 支持 HDFS 和OSS。在 OSS 之上又开发了 jindoFS,jindoFS 可以用 OSS 作为数据湖的概念,通过 jindoFS catch 的方式做数据加速,提升 OSS 读取数据的效率。EMR 最新版本支持 Kudu 和 Delta Lake,帮助用户有效的构建实时数仓。用户利用 Kudu 或Delta Lake+ 流式计算,如 Spark 或 Flink 实现实时用户画像、实时推荐等功能。资源调度方面,EMR 目前主要使用 YARN。计算引擎方面,EMR 提供了较多的计算引擎,如 Spark、Flink、TensorFlow、Storm、Impala 和 Presto 等。同时在应用层面提供了开源的 Jupyter、NoteBook、Zepplin 以及 Hue。EMR 是一个半托管的形态,用户自建的系统也可以无缝迁移。阿里自研的EMR-Flow 可实现工作流的调度。
以上内容摘自《大数据工程师必读手册》电子书,点击https://developer.aliyun.com/topic/download?id=29可下载完整版
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。