大數(shù)據(jù)技術(shù)的體系龐大且復(fù)雜,基礎(chǔ)的技術(shù)包含數(shù)據(jù)的采集、數(shù)據(jù)預(yù)處理、分布式存儲、NoSQL數(shù)據(jù)庫、數(shù)據(jù)倉庫、機(jī)器學(xué)習(xí)、并行計算、可視化等各種技術(shù)范疇和不同的技術(shù)層面。通用化的大數(shù)據(jù)處理框架,主要分為下面幾個方面:大數(shù)據(jù)采集與預(yù)處理、大數(shù)據(jù)存儲、大數(shù)據(jù)清洗、大數(shù)據(jù)查詢分析和大數(shù)據(jù)可視化。
一、大數(shù)據(jù)采集
大數(shù)據(jù)采集,即對各種來源的結(jié)構(gòu)化和非結(jié)構(gòu)化海量數(shù)據(jù),所進(jìn)行的采集。
數(shù)據(jù)庫采集:流行的有Sqoop和ETL,傳統(tǒng)的關(guān)系型數(shù)據(jù)庫MySQL和Oracle 也依然充當(dāng)著許多企業(yè)的數(shù)據(jù)存儲方式。當(dāng)然了,目前對于開源的Kettle和Talend本身,也集成了大數(shù)據(jù)集成內(nèi)容,可實(shí)現(xiàn)hdfs,hbase和主流Nosq數(shù)據(jù)庫之間的數(shù)據(jù)同步和集成。
網(wǎng)絡(luò)數(shù)據(jù)采集:一種借助網(wǎng)絡(luò)爬蟲或網(wǎng)站公開API,從網(wǎng)頁獲取非結(jié)構(gòu)化或半結(jié)構(gòu)化數(shù)據(jù),并將其統(tǒng)一結(jié)構(gòu)化為本地數(shù)據(jù)的數(shù)據(jù)采集方式。
文件采集:包括實(shí)時文件采集和處理技術(shù)flume、基于ELK的日志采集和增量采集等等。
二、大數(shù)據(jù)預(yù)處理
大數(shù)據(jù)預(yù)處理,指的是在進(jìn)行數(shù)據(jù)分析之前,先對采集到的原始數(shù)據(jù)所進(jìn)行的諸如“清洗、填補(bǔ)、平滑、合并、規(guī)格化、一致性檢驗”等一系列操作,旨在提高數(shù)據(jù)質(zhì)量,為后期分析工作奠定基礎(chǔ)。數(shù)據(jù)預(yù)處理主要包括四個部分:數(shù)據(jù)清理、數(shù)據(jù)集成、數(shù)據(jù)轉(zhuǎn)換、數(shù)據(jù)規(guī)約。
三、大數(shù)據(jù)儲存
大數(shù)據(jù)每年都在激增龐大的信息量,加上已有的歷史數(shù)據(jù)信息,對整個業(yè)界的數(shù)據(jù)存儲、處理帶來了很大的機(jī)遇與挑戰(zhàn).為了滿足快速增長的存儲需求,云存儲需要具備高擴(kuò)展性、高可靠性、高可用性、低成本、自動容錯和去中心化等特點(diǎn).常見的云存儲形式可以分為分布式文件系統(tǒng)和分布式數(shù)據(jù)庫。其中,分布式文件系統(tǒng)采用大規(guī)模的分布式存儲節(jié)點(diǎn)來滿足存儲大量文件的需求,而分布式的NoSQL數(shù)據(jù)庫則為大規(guī)模非結(jié)構(gòu)化數(shù)據(jù)的處理和分析提供支持。
四、大數(shù)據(jù)清洗
MapReduce作為Hadoop的查詢引擎,用于大規(guī)模數(shù)據(jù)集的并行計算,”Map(映射)”和”Reduce(歸約)”,是它的主要思想。它極大的方便了編程人員在不會分布式并行編程的情況下,云主機(jī)租用,將自己的程序運(yùn)行在分布式系統(tǒng)中。隨著業(yè)務(wù)數(shù)據(jù)量的增多,需要進(jìn)行訓(xùn)練和清洗的數(shù)據(jù)會變得越來越復(fù)雜,這個時候就需要任務(wù)調(diào)度系統(tǒng),比如oozie或者azkaban,對關(guān)鍵任務(wù)進(jìn)行調(diào)度和監(jiān)控。
五、大數(shù)據(jù)查詢分析
Hive的核心工作就是把SQL語句翻譯成MR程序,可以將結(jié)構(gòu)化的數(shù)據(jù)映射為一張數(shù)據(jù)庫表,并提供 HQL(Hive SQL)查詢功能。Hive本身不存儲和計算數(shù)據(jù),它完全依賴于HDFS和MapReduce。可以將Hive理解為一個客戶端工具,將SQL操作轉(zhuǎn)換為相應(yīng)的MapReduce jobs,香港服務(wù)器,然后在hadoop上面運(yùn)行。Hive支持標(biāo)準(zhǔn)的SQL語法,免去了用戶編寫MapReduce程序的過程,它的出現(xiàn)可以讓那些精通SQL技能、但是不熟悉MapReduce 、編程能力較弱與不擅長Java語言的用戶能夠在HDFS大規(guī)模數(shù)據(jù)集上很方便地利用SQL 語言查詢、匯總、分析數(shù)據(jù)。
六、大數(shù)據(jù)可視化
大規(guī)模數(shù)據(jù)的可視化主要是基于并行算法設(shè)計的技術(shù),合理利用有限的計算資源,高效地處理和分析特定數(shù)據(jù)集的特性。通常情況下,大規(guī)模數(shù)據(jù)可視化的技術(shù)會結(jié)合多分辨率表示等方法,以獲得足夠的互動性能。 在科學(xué)大規(guī)模數(shù)據(jù)的并行可視化工作中,主要涉及數(shù)據(jù)流線化、任務(wù)并行化、管道并行化和數(shù)據(jù)并行化4 種基本技術(shù)。
綜上,就是大數(shù)據(jù)核心技術(shù)的一部分的簡介,想要了解他們具體功能和用處,還需要自己多下功夫,深入了解。