共计 3131 个字符,预计需要花费 8 分钟才能阅读完成。
作者:向师富 转自:阿里巴巴数据中台官网 https://dp.alibaba.com
采集 & 传输层
- Sqoop
Hadoop、关系型数据库之间传输数据的工具。传输时,会启动多个 MR 作业并发的传输数据 - DataX
阿里巴巴开源的数据同步工具,用来在各种异构数据源之间同步数据。比如 RDBMS<->Hadoop/MaxCompute、RDBMS<->hbase/ftp 等等。部署、运维非常简单,将 DataX 的 jar 包 copy 到 linux 系统中即可运行 - Flume
分布式的高可用的数据收集、聚集的工具。通常用于从其他系统搜集数据,如 web 服务器产生的日志,结合 Kafka 的消息队列功能,实现实时日志处理、离线日志投递。典型的使用方案是:
离线计算:应用系统日志 -> flume -> kafka -> hdfs -> MR 作业
实时计算:应用系统日志 -> flume -> kafka -> blink/jstorm/storm/spark streaming
- Logstash
服务器端数据收集工具,能够同时从多个来源采集、转换数据。日志收集功能与 Flume 比较类似 - Kafka
基于发布 / 订阅机制的分布式的消息系统。常用于日志投递、分发场景 - RocketMQ
阿里巴巴开源的消息队列工具。经过了双 11 场景的洗礼,稳定性、可靠性非常好
存储层
- HDFS
Hadoop 分布式文件系统 (HDFS) 被设计成适合运行在通用硬件 (commodity hardware) 上的分布式文件系统。HDFS 是一个高度容错性的系统,适合部署在廉价的机器上。HDFS 能提供高吞吐量的数据访问,非常适合大规模数据集上的应用。HDFS 放宽了一部分 POSIX 约束,来实现流式读取数据文件 - HBase
Hbase 是分布式、KV 查询的开源数据库(其实准确的说是面向列族)。HDFS 为 Hbase 提供可靠的底层数据存储服务,MapReduce 为 Hbase 提供高性能的计算能力,Zookeeper 为 Hbase 提供稳定服务和 Failover 机制,LSM 数据存储格式提供了高性能读写能力 - Redis
Redis 是 key-value 存储系统。采用 ANSI C 语言编写、遵守 BSD 协议、支持网络、可基于内存亦可持久化的日志格式,并提供多种语言的 API。提供了哈希 (Hash), 列表(list), 集合(sets) 和 有序集合(sorted sets) 等数据结构 - Ceph
开源分布式存储系统,提供了块储存 RDB、分布式文件储存 Ceph FS、以及分布式对象存储 Radosgw 三大储存功能,是目前为数不多的集各种存储能力于一身的开源存储中间件 - 存储格式
常见的有 Apache Parquet,Apache ORC、华为 Carbondata、Kudu、Avro 等。在大数据领域,面向不同的业务场景,采用不同的数据存储格式。这几类存储格式的差异点,主要体现在行、列存储、预计算
计算层
1、离线计算
- Hive
Hive 是基于 Hadoop 的一个数据仓库工具,可以将结构化的数据文件映射为一张数据库表,并提供简单的 sql 查询功能,可以将 sql 语句转换为 MapReduce 任务进行运行。其优点是学习成本低,可以通过类 SQL 语句快速实现简单的 MapReduce 统计,不必开发专门的 MapReduce 应用,十分适合数据仓库的统计分析。是事实上的离线数据仓库标准。 - Spark
Apache Spark 是专为大规模数据处理而设计的快速通用的计算引擎。Spark 是 UC Berkeley AMP lab (加州大学伯克利分校的 AMP 实验室)所开源的类 Hadoop MapReduce 的通用并行框架,Spark,拥有 Hadoop MapReduce 所具有的优点;但不同于 MapReduce 的是——Job 中间输出结果可以保存在内存中,从而不再需要读写 HDFS,因此 Spark 能更好地适用于数据挖掘与机器学习等需要迭代的 MapReduce 的算法。 - MaxCompute
阿里巴巴开发,基于 MR 原理的大数据处理平台,已经通过阿里云对外输出,是一种快速、完全托管的 TB/PB 级数据仓库解决方案。 - CDH
CDH 是 Cloudera 的软件发行版,包含 Apache Hadoop 及相关项目。所有组件都是 100%的开源(Apache 许可证)。
2、实时计算
- Storm/Jstorm
分布式的、高容错的实时计算系统,2014 年以前应用非常广泛,近几年初步被其他流计算产品替代。 - Flink
Flink 是一个低延迟、高吞吐、统一的大数据计算引擎。在阿里巴巴的生产环境中,Flink 的计算平台可以实现毫秒级的延迟情况下,每秒钟处理上亿次的消息或者事件。同时 Flink 提供了一个 Exactly-once 的一致性语义。保证了数据的正确性。这样就使得 Flink 大数据引擎可以提供金融级的数据处理能力。 - Spark Streaming
Spark Streaming 类似于 Apache Storm,是一个流计算处理框架。Spark Streaming 有高吞吐量和容错能力强这两个特点。
在 Spark Streaming 中,处理数据的单位是一批而不是单条,而数据采集却是逐条进行的,因此 Spark Streaming 系统需要设置间隔使得数据汇总到一定的量后再一并操作,这个间隔就是批处理间隔。批处理间隔是 Spark Streaming 的核心概念和关键参数,它决定了 Spark Streaming 提交作业的频率和数据处理的延迟,同时也影响着数据处理的吞吐量和性能。
数据服务层
- Kylin
开源的分布式分析引擎,提供 Hadoop/Spark 之上的 SQL 查询接口及多维分析(OLAP)能力以支持超大规模数据。核心原理是数据预计算,利用空间换时间来加速查询模式固定的 OLAP 查询。最新的版本已经支持了实时数据导入。 - Druid
Druid 也是一款非常流行的 olap 引擎,基于 MPP 架构,采用了 预聚合、列式存储、字典编码、位图索引 4 个方法,加速查询性能。截止 2019 年 9 月 22 日,Druid 原生不支持数据精确去重功能。快手已经将 Druid 应用于生产环境。 - Presto
Presto 是一个开源的分布式 SQL 查询引擎,适用于交互式分析查询,数据量支持 GB 到 PB 字节。Presto 的设计和编写完全是为了解决像 Facebook 这样规模的商业数据仓库的交互式分析和处理速度的问题。 - Lucene
Lucene 是一个基于 Java 的全文信息检索工具包,目前主流的搜索系统 Elasticsearch 和 solr 都是基于 lucene 的索引和搜索能力进行。 - ElasticSearch
基于 Lucene 的搜索服务器。它提供了一个分布式多用户能力的全文搜索引擎。 - Solr
Solr 是 Apache Lucene 项目的开源企业搜索平台。其主要功能包括全文检索、命中标示、分面搜索、动态聚类、数据库集成,以及富文本的处理。Solr 是高度可扩展的,并提供了分布式搜索和索引复制。Solr 是最流行的企业级搜索引擎,Solr 4 还增加了 NoSQL 支持。 - Palo
百度开源的 olap 引擎,在百度内部使用比较广泛。基于 MPP 架构,集成了 Google Mesa、Cloudera Impala。
阿里巴巴数据中台团队,致力于输出阿里云数据智能的最佳实践,助力每个企业建设自己的数据中台,进而共同实现新时代下的智能商业!
阿里巴巴数据中台解决方案,核心产品:
Dataphin,以阿里巴巴大数据核心方法论 OneData 为内核驱动,提供一站式数据构建与管理能力;
Quick BI,集阿里巴巴数据分析经验沉淀,提供一站式数据分析与展现能力;
Quick Audience,集阿里巴巴消费者洞察及营销经验,提供一站式人群圈选、洞察及营销投放能力,连接阿里巴巴商业,实现用户增长。
原文链接
本文为云栖社区原创内容,未经允许不得转载。
正文完
发表至: javascript
2019-11-04