大數(shù)據(jù)平臺技術(shù)棧
下面自底向上介紹各個層的主要項(xiàng)目。
采集層
Sqoop
在hadoop和關(guān)系型數(shù)據(jù)庫之間轉(zhuǎn)換數(shù)據(jù)。
Flume
Flume是一個分布式的高可用的數(shù)據(jù)收集、聚集和移動的工具。通常用于從其他系統(tǒng)搜集數(shù)據(jù),如web服務(wù)器產(chǎn)生的日志,通過Flume將日志寫入到Hadoop的HDFS中。
Flume
Canal
數(shù)據(jù)抽取是 ETL 流程的第一步。我們會將數(shù)據(jù)從 RDBMS 或日志服務(wù)器等外部系統(tǒng)抽取至數(shù)據(jù)倉庫,進(jìn)行清洗、轉(zhuǎn)換、聚合等操作。在現(xiàn)代網(wǎng)站技術(shù)棧中,MySQL 是最常見的數(shù)據(jù)庫管理系統(tǒng),我們會從多個不同的 MySQL 實(shí)例中抽取數(shù)據(jù),存入一個中心節(jié)點(diǎn),或直接進(jìn)入 Hive。市面上已有多種成熟的、基于 SQL 查詢的抽取軟件,如著名的開源項(xiàng)目 Apache Sqoop,然而這些工具并不支持實(shí)時的數(shù)據(jù)抽取。MySQL Binlog 則是一種實(shí)時的數(shù)據(jù)流,用于主從節(jié)點(diǎn)之間的數(shù)據(jù)復(fù)制,我們可以利用它來進(jìn)行數(shù)據(jù)抽取。借助阿里巴巴開源的 Canal 項(xiàng)目,我們能夠非常便捷地將 MySQL 中的數(shù)據(jù)抽取到任意目標(biāo)存儲中。
Canal
Logstash
Logstash 是開源的服務(wù)器端數(shù)據(jù)處理管道,能夠同時從多個來源采集數(shù)據(jù),轉(zhuǎn)換數(shù)據(jù),然后將數(shù)據(jù)發(fā)送到您最喜歡的 “存儲庫” 中。
Kafka
消息隊(duì)列,一個分布式流平臺。
RocketMQ
阿里巴巴開源的消息隊(duì)列。
存儲層
HBase
HBase is the Hadoop database, a distributed, scalable, big data store.
Alluxio/Redis/Ignite
Alluxio以內(nèi)存為中心分布式存儲系統(tǒng),從下圖可以看出, Alluxio主要有兩大功能,第一提供一個文件系統(tǒng)層的抽象,統(tǒng)一文件系統(tǒng)接口,橋接儲存系統(tǒng)和計(jì)算框架;第二通過內(nèi)存實(shí)現(xiàn)對遠(yuǎn)程數(shù)據(jù)的加速訪問。詳情參考Alluxio document。
Alluxio
Redis是一個開源的內(nèi)存鍵值數(shù)據(jù)庫,相比于Memcache,支持豐富的數(shù)據(jù)結(jié)構(gòu)。
Ignit是一個以內(nèi)存為中心的分布式數(shù)據(jù)庫,緩存和處理平臺,用于事務(wù),分析和流式工作負(fù)載,在PB級別的數(shù)據(jù)上提供接近內(nèi)存速度訪問數(shù)據(jù)。
從上述分析可知,Alluxio/Redis/Ignite主要都是通過內(nèi)存來實(shí)現(xiàn)加速。
TiDB
TiDB是有PingCap開源的分布式NewSQL關(guān)系型數(shù)據(jù)庫。NewSQL數(shù)據(jù)庫有兩個流派,分別是以Google為代表的Spanner/F1和以Amazon 為代表的Aurora(極光),目前國內(nèi)做NewSQL數(shù)據(jù)庫主要是參考Google的Spanner架構(gòu),Google Spanner也是未來NewSQL的發(fā)展趨勢。具體請查閱相關(guān)資料,或者訪問Youtube,觀看黃旭東的分享。
HDFS
Hadoop的分布式文件系統(tǒng)。
Ceph
Linux中備受關(guān)注的開源分布式存儲系統(tǒng),除了GlusterFS,當(dāng)屬Ceph。目前Ceph已經(jīng)成為RedHat旗下重要的分布式存儲產(chǎn)品,并繼續(xù)開源。Ceph提供了塊儲存RDB、分布式文件儲存Ceph FS、以及分布式對象存儲Radosgw三大儲存功能,是目前為數(shù)不多的集各種存儲能力于一身的開源存儲中間件。
Kudu
Kudu是cloudera開源的運(yùn)行在hadoop平臺上的列式存儲系統(tǒng),擁有Hadoop生態(tài)系統(tǒng)應(yīng)用的常見技術(shù)特性,運(yùn)行在一般的商用硬件上,支持水平擴(kuò)展,高可用,目前是Apache Hadoop生態(tài)圈的新成員之一(incubating)。
Kudu的設(shè)計(jì)與眾不同,它定位于應(yīng)對快速變化數(shù)據(jù)的快速分析型數(shù)據(jù)倉庫,希望靠系統(tǒng)自身能力,支撐起同時需要高吞吐率的順序和隨機(jī)讀寫的應(yīng)用場景,提供一個介于HDFS和HBase的性能特點(diǎn)之間的一個系統(tǒng),在隨機(jī)讀寫和批量掃描之間找到一個平衡點(diǎn),并保障穩(wěn)定可預(yù)測的響應(yīng)延遲。可與MapReduce, Spark和其它hadoop生態(tài)系統(tǒng)集成。
計(jì)算層
Hive
Facebook 開源。Hive是一個構(gòu)建在Hadoop上的數(shù)據(jù)倉庫框架。Hive的設(shè)計(jì)目標(biāo)是讓精通SQL技能但Java編程技能相對較弱的分析師能對存放在Hadoop上的大規(guī)數(shù)據(jù)執(zhí)行查詢。
Hive的查詢語言HiveQL是基于SQL的。任何熟悉SQL的人都可以輕松使用HiveSQL寫查詢。和RDBMS相同,Hive要求所有數(shù)據(jù)必須存儲在表中,而表必須有模式(Schema),且模式由Hive進(jìn)行管理。
類似Hive的同類產(chǎn)品:kylin druid SparkSQL Impala。
KylinApache Kylin?是一個開源的分布式分析引擎,提供Hadoop/Spark之上的SQL查詢接口及多維分析(OLAP)能力以支持超大規(guī)模數(shù)據(jù),最初由eBay Inc. 開發(fā)并貢獻(xiàn)至開源社區(qū)。它能在亞秒內(nèi)查詢巨大的Hive表。
Druid 為監(jiān)控而生的數(shù)據(jù)庫連接池。
SparkSQL,Spark SQL is Apache Spark's module for working with structured data.
Impala,Impala是Apache Hadoop的開源,本地分析數(shù)據(jù)庫。它由Cloudera,MapR,Oracle和Amazon等供應(yīng)商提供。
Spark
Spark是一個分布式計(jì)算框架。
Storm
Storm是一個分布式的、高容錯的實(shí)時計(jì)算系統(tǒng)。Storm對于實(shí)時計(jì)算的的意義相當(dāng)于Hadoop對于批處理的意義。Hadoop為我們提供了Map和Reduce原語,使我們對數(shù)據(jù)進(jìn)行批處理變的非常的簡單和優(yōu)美。同樣,Storm也對數(shù)據(jù)的實(shí)時計(jì)算提供了簡單Spout和Bolt原語。
Storm適用的場景:①、流數(shù)據(jù)處理:Storm可以用來用來處理源源不斷的消息,并將處理之后的結(jié)果保存到持久化介質(zhì)中。②、分布式RPC:由于Storm的處理組件都是分布式的,而且處理延遲都極低,所以可以Storm可以做為一個通用的分布式RPC框架來使用。
Flink
Apache Flink is a framework and distributed processing engine for stateful computations over unbounded and bounded data streams. Flink has been designed to run in all common cluster environments, perform computations at in-memory speed and at any scale.
TensorFlow
TensorFlow? is an open source software library for high performance numerical computation. Its flexible architecture allows easy deployment of computation across a variety of platforms (CPUs, GPUs, TPUs), and from desktops to clusters of servers to mobile and edge devices. Originally developed by researchers and engineers from the Google Brain team within Google’s AI organization, it comes with strong support for machine learning and deep learning and the flexible numerical computation core is used across many other scientific domains.
分布式資源調(diào)度
YARN, Apache YARN(Yet Another Resource Negotiator)是hadoop的集群資源管理系統(tǒng)。YARN在Hadoop2時被引入,最初是為了改善MapReduce的實(shí)現(xiàn),但它具有足夠的通用性,也支持其他的分布式計(jì)算模式。
Mesos
Mesos 最初由 UC Berkeley 的 AMP 實(shí)驗(yàn)室于 2009 年發(fā)起,遵循 Apache 協(xié)議,目前已經(jīng)成立了 Mesosphere 公司進(jìn)行運(yùn)營。Mesos 可以將整個數(shù)據(jù)中心的資源(包括 CPU、內(nèi)存、存儲、網(wǎng)絡(luò)等)進(jìn)行抽象和調(diào)度,使得多個應(yīng)用同時運(yùn)行在集群中分享資源,并無需關(guān)心資源的物理分布情況。
如果把數(shù)據(jù)中心中的集群資源看做一臺服務(wù)器,那么 Mesos 要做的事情,其實(shí)就是今天操作系統(tǒng)內(nèi)核的職責(zé):抽象資源 + 調(diào)度任務(wù)。Mesos 項(xiàng)目是 Mesosphere 公司 Datacenter Operating System (DCOS) 產(chǎn)品的核心部件。
Kubernetes
Kubernetes是Google 2014年推出的開源容器集群管理系統(tǒng),基于Docker構(gòu)建一個容器調(diào)度服務(wù),為容器化的應(yīng)用提供資源調(diào)度、部署運(yùn)行、均衡容災(zāi)、服務(wù)注冊、擴(kuò)容縮容等功能。
Presto
Presto是FaceBook開源的一個開源項(xiàng)目。Presto被設(shè)計(jì)為數(shù)據(jù)倉庫和數(shù)據(jù)分析產(chǎn)品:數(shù)據(jù)分析、大規(guī)模數(shù)據(jù)聚集和生成報(bào)表。這些工作經(jīng)常通常被認(rèn)為是線上分析處理操作。
Presto通過使用分布式查詢,可以快速高效的完成海量數(shù)據(jù)的查詢。如果你需要處理TB或者PB級別的數(shù)據(jù),那么你可能更希望借助于Hadoop和HDFS來完成這些數(shù)據(jù)的處理。作為Hive和Pig(Hive和Pig都是通過MapReduce的管道流來完成HDFS數(shù)據(jù)的查詢)的替代者,Presto不僅可以訪問HDFS,也可以操作不同的數(shù)據(jù)源,包括:RDBMS和其他的數(shù)據(jù)源(例如:Cassandra)。
其他(區(qū)塊鏈框架)
Etherenum, 以太坊
HyperLedger,超級賬本
工具層和服務(wù)層
Zeppelin
Web-based notebook that enables data-driven,
interactive data analytics and collaborative documents with SQL, Scala and more.
Kylin
Apache Kylin?是一個開源的分布式分析引擎,提供Hadoop/Spark之上的SQL查詢接口及多維分析(OLAP)能力以支持超大規(guī)模數(shù)據(jù),最初由eBay Inc. 開發(fā)并貢獻(xiàn)至開源社區(qū)。它能在亞秒內(nèi)查詢巨大的Hive表。
kylin
?深圳市道路貨運(yùn)零排放走廊建設(shè)啟動大會圓滿落幕,雙輪驅(qū)動推動綠色轉(zhuǎn)型
1718 閱讀從城配到城際,新能源物流車正打開下一個萬億市場
1337 閱讀Temu前置倉投入使用
1051 閱讀順豐達(dá)成的新戰(zhàn)略聯(lián)盟,為何如此受關(guān)注?
969 閱讀理想的倉庫管理系統(tǒng)是啥樣的?
913 閱讀順豐集團(tuán)與上海迪士尼度假區(qū)宣布數(shù)年戰(zhàn)略聯(lián)盟
787 閱讀拼多多發(fā)布Q1財(cái)報(bào),加速推進(jìn)“千億扶持”新戰(zhàn)略,先商家后平臺扶持產(chǎn)業(yè)生態(tài)
727 閱讀拼多多最新財(cái)報(bào):利潤下跌近4成,“千億扶持”惠商投入遠(yuǎn)超市場預(yù)期
681 閱讀笨鳥速運(yùn)與中國電信達(dá)成大客戶合作
675 閱讀Shopee在巴西羅賴馬州新建物流中心
654 閱讀