rabbitmq大數據
⑴ ActiveMQ 消息消費者不主動監聽消息隊列是否有消息,只監聽是是否有消息進去消息隊列
Queue模式獲取之後,消息隊列中消息就應該會被刪除:
Topic模式 在持久化之後,才可能被拿走之後,依然存在
⑵ 大數據如何入門
導讀:
第一章:初識Hadoop
第二章:更高效的WordCount
第三章:把別處的數據搞到Hadoop上
第四章:把Hadoop上的數據搞到別處去
第五章:快一點吧,我的SQL
第六章:一夫多妻制
第七章:越來越多的分析任務
第八章:我的數據要實時
第九章:我的數據要對外
第十章:牛逼高大上的機器學習
經常有初學者會問,自己想往大數據方向發展,該學哪些技術,學習路線是什麼樣的,覺得大數據很火,就業很好,薪資很高……首先,如果你確定了想往這個方面發展,先考慮自己的過去從業經歷、專業、興趣是什麼。計算機專業——操作系統、硬體、網路、伺服器?軟體專業——軟體開發、編程、寫代碼?還是數學、統計學專業——對數據和數字特別感興趣?
其實這就是想告訴你大數據的三個發展方向,平台搭建/優化/運維/監控、大數據開發/設計/架構、數據分析/挖掘。
先扯一下大數據的4V特徵:
數據量大,TB->PB
數據類型繁多,結構化、非結構化文本、日誌、視頻、圖片、地理位置等;
商業價值高,但是這種價值需要在海量數據之上,通過數據分析與機器學習更快速的挖掘出來;
處理時效性高,海量數據的處理需求不再局限在離線計算當中。
Hadoop 1.0、Hadoop 2.0
MapRece、HDFS
NameNode、DataNode
JobTracker、TaskTracker
Yarn、ResourceManager、NodeManager
HDFS目錄操作命令;
上傳、下載文件命令;
提交運行MapRece示常式序;
打開Hadoop WEB界面,查看Job運行狀態,查看Job運行日誌。
知道Hadoop的系統日誌在哪裡。
- SELECT word,COUNT(1) FROM wordcount GROUP BY word;
- 這時,使用Flume採集的數據,不是直接到HDFS上,而是先到Kafka,Kafka中的數據可以由多個消費者同時消費,其中一個消費者,就是將數據同步到HDFS。
- 至此,大數據平台底層架構已經成型了,其中包括了數據採集、數據存儲與計算(離線和實時)、數據同步、任務調度與監控這幾大模塊。接下來是時候考慮如何更好的對外提供數據了。
現如今,正式為了應對大數據的這幾個特點,開源的大數據框架越來越多,越來越強,先列舉一些常見的:
文件存儲:Hadoop HDFS、Tachyon、KFS
離線計算:Hadoop MapRece、Spark
流式、實時計算:Storm、Spark Streaming、S4、Heron
K-V、NOSQL資料庫:HBase、Redis、MongoDB
資源管理:YARN、Mesos
日誌收集:Flume、Scribe、Logstash、Kibana
消息系統:Kafka、StormMQ、ZeroMQ、RabbitMQ
查詢分析:Hive、Impala、Pig、Presto、Phoenix、SparkSQL、Drill、Flink、Kylin、Druid
分布式協調服務:Zookeeper
集群管理與監控:Ambari、Ganglia、Nagios、Cloudera Manager
數據挖掘、機器學習:Mahout、Spark MLLib
數據同步:Sqoop
任務調度:Oozie
······
第一章:初識Hadoop
1.1學會網路與Google
不論遇到什麼問題,先試試搜索並自己解決。
Google首選,翻不過去的,就用網路吧。
1.2參考資料首選官方文檔
特別是對於入門來說,官方文檔永遠是首選文檔。
相信搞這塊的大多是文化人,英文湊合就行,實在看不下去的,請參考第一步。
1.3先讓Hadoop跑起來
Hadoop可以算是大數據存儲和計算的開山鼻祖,現在大多開源的大數據框架都依賴Hadoop或者與它能很好的兼容。
關於Hadoop,你至少需要搞清楚以下是什麼:
自己搭建Hadoop,請使用第一步和第二步,能讓它跑起來就行。
建議先使用安裝包命令行安裝,不要使用管理工具安裝。
另外:Hadoop1.0知道它就行了,現在都用Hadoop 2.0.
1.4嘗試使用Hadoop
1.5了解它們的原理
MapRece:如何分而治之;
HDFS:數據到底在哪裡,什麼是副本;
Yarn到底是什麼,它能幹什麼;
NameNode到底在幹些什麼;
ResourceManager到底在幹些什麼;
1.6自己寫一個MapRece程序
仿照WordCount例子,自己寫一個(照抄也行)WordCount程序,
打包並提交到Hadoop運行。
不會java的話,Shell、python都可以,有個東西叫Hadoop Streaming。
如果能認真完成了以上幾步,恭喜你,你的一隻腳已經進來了。
第二章:更高效的WordCount
2.1學點SQL吧
如果不懂資料庫的童鞋先學習使用SQL句。
2.2 SQL版WordCount
在1.6中,你寫(或者抄)的WordCount一共有幾行代碼?
如果用SQL的話:
這便是SQL的魅力,編程需要幾十行,甚至上百行代碼,SQL一句就搞定;使用SQL處理分析Hadoop上的數據,方便、高效、易上手、更是趨勢。不論是離線計算還是實時計算,越來越多的大數據處理框架都在積極提供SQL介面。
2.3安裝配置Hive
Hive算是數據倉庫工具,安裝不難,網上有很多教程,配置完成後,可以正常進入Hive命令行。
2.4試試使用Hive
嘗試在Hive中創建wordcount表,並運行2.2中的SQL語句。在Hadoop WEB界面中找到剛才運行的SQL任務。看SQL查詢結果是否和1.4中MapRece中的結果一致。
明明寫的是SQL,為什麼Hadoop WEB界面中看到的是MapRece任務?
2.5學會Hive的基本命令
創建、刪除表;載入數據到表;下載Hive表的數據;並學習更多關於Hive的語法和命令。
以上如果按照第一章和第二章的流程認真完整的走了一遍後,應該已經具備以下技能和知識點:
0和Hadoop2.0的區別
MapRece的原理(還是那個經典的題目,一個10G大小的文件,給定1G大小的內存,如何使用Java程序統計出現次數最多的10個單詞及次數);
HDFS讀寫數據的流程;向HDFS中PUT數據;從HDFS中下載數據;
自己會寫簡單的MapRece程序,運行出現問題,知道在哪裡查看日誌;
會寫簡單的SELECT、WHERE、GROUP BY等SQL語句;
Hive SQL轉換成MapRece的大致流程;
Hive中常見的語句:創建表、刪除表、往表中載入數據、分區、將表中數據下載到本地;
從上面的學習,你已經了解到,HDFS是Hadoop提供的分布式存儲框架,它可以用來存儲海量數據,MapRece是Hadoop提供的分布式計算框架,它可以用來統計和分析HDFS上的海量數據,而Hive則是SQL On Hadoop,Hive提供了SQL介面,開發人員只需要編寫簡單易上手的SQL語句,Hive負責把SQL翻譯成MapRece,提交運行。
此時,你的認知中「大數據平台」是這樣的:
總結:
為什麼Spark比MapRece快。
使用SparkSQL代替Hive,更快的運行SQL。
使用Kafka完成數據的一次收集,多次消費架構。
自己可以寫程序完成Kafka的生產者和消費者。
前面的學習已經掌握了大數據平台中的數據採集、數據存儲和計算、數據交換等大部分技能,而這其中的每一步,都需要一個任務(程序)來完成,各個任務之間又存在一定的依賴性,比如,必須等數據採集任務成功完成後,數據計算任務才能開始運行。如果一個任務執行失敗,需要給開發運維人員發送告警,同時需要提供完整的日誌來方便查錯。
第七章:越來越多的分析任務
不僅僅是分析任務,數據採集、數據交換同樣是一個個的任務。這些任務中,有的是定時觸發,有點則需要依賴其他任務來觸發。當平台中有幾百上千個任務需要維護和運行時候,僅僅靠crontab遠遠不夠了,這時便需要一個調度監控系統來完成這件事。調度監控系統是整個數據平台的中樞系統,類似於AppMaster,負責分配和監控任務。
7.1 Apache Oozie
1. Oozie是什麼?有哪些功能?
2. Oozie可以調度哪些類型的任務(程序)?
3. Oozie可以支持哪些任務觸發方式?
4.安裝配置Oozie。
7.2其他開源的任務調度系統
Azkaban
light-task-scheler
alibaba/zeus
……
此時:
第八章:數據要實時
在第六章介紹Kafka的時候提到了一些需要實時指標的業務場景,實時基本可以分為絕對實時和准實時,絕對實時的延遲要求一般在毫秒級,准實時的延遲要求一般在秒、分鍾級。對於需要絕對實時的業務場景,用的比較多的是Storm,對於其他准實時的業務場景,可以是Storm,也可以是Spark Streaming。當然,如果可以的話,也可以自己寫程序來做。
8.1 Storm
1. 什麼是Storm?有哪些可能的應用場景?
2. Storm由哪些核心組件構成,各自擔任什麼角色?
3. Storm的簡單安裝和部署。
4. 自己編寫Demo程序,使用Storm完成實時數據流計算。
8.2 Spark Streaming
1. 什麼是Spark Streaming,它和Spark是什麼關系?
2. Spark Streaming和Storm比較,各有什麼優缺點?
3. 使用Kafka + Spark Streaming,完成實時計算的Demo程序。
此時:
第九章:數據要對外
通常對外(業務)提供數據訪問,大體上包含以下方面:
離線:比如,每天將前一天的數據提供到指定的數據源(DB、FILE、FTP)等;
離線數據的提供可以採用Sqoop、DataX等離線數據交換工具。
實時:比如,在線網站的推薦系統,需要實時從數據平台中獲取給用戶的推薦數據,這種要求延時非常低(50毫秒以內)。
根據延時要求和實時數據的查詢需要,可能的方案有:HBase、Redis、MongoDB、ElasticSearch等。
OLAP分析:OLAP除了要求底層的數據模型比較規范,另外,對查詢的響應速度要求也越來越高,可能的方案有:Impala、Presto、SparkSQL、Kylin。如果你的數據模型比較規模,那麼Kylin是最好的選擇。
即席查詢:即席查詢的數據比較隨意,一般很難建立通用的數據模型,因此可能的方案有:Impala、Presto、SparkSQL。
這么多比較成熟的框架和方案,需要結合自己的業務需求及數據平台技術架構,選擇合適的。原則只有一個:越簡單越穩定的,就是最好的。
如果你已經掌握了如何很好的對外(業務)提供數據,那麼你的「大數據平台」應該是這樣的:
第十章:牛逼高大上的機器學習
這里本人也沒有接觸太多,稍微講一下我們的業務場景應用,遇到的能用機器學習解決的問題大概這么三類:
分類問題:包括二分類和多分類,二分類就是解決了預測的問題,就像預測一封郵件是否垃圾郵件;多分類解決的是文本的分類;
聚類問題:從用戶搜索過的關鍵詞,對用戶進行大概的歸類。
推薦問題:根據用戶的歷史瀏覽和點擊行為進行相關推薦。
大多數行業,使用機器學習解決的,也就是這幾類問題。
入門學習線路:
數學基礎;
機器學習實戰(Machine Learning in Action),懂Python最好;
SparkMlLib提供了一些封裝好的演算法,以及特徵處理、特徵選擇的方法。
那麼把機器學習部分加進 「大數據平台」。
⑶ 大數據包括哪些
大數據技術龐大復雜,基礎的技術包含數據的採集、數據預處理、分布式存回儲、NoSQL資料庫答、數據倉庫、機器學習、並行計算、可視化等各種技術范疇和不同的技術層面。
大數據主要技術組件:Hadoop、HBase、kafka、Hive、MongoDB、Redis、Spark 、Storm、Flink等。
大數據技術包括數據採集,數據管理,數據分析,數據可視化,數據安全等內容。數據的採集包括感測器採集,系統日誌採集以及網路爬蟲等。數據管理包括傳統的資料庫技術,nosql技術,以及對於針對大規模數據的大數據平台,例如hadoop,spark,storm等。數據分析的核心是機器學習,當然也包括深度學習和強化學習,以及自然語言處理,圖與網路分析等。
⑷ 大數據具體是學習什麼內容呢主要框架是什麼
首先,學習大數據是需要有java,python和R語言的基礎。
1) Java學習到什麼樣的程度才可以學習大數據呢?
java需要學會javaSE即可。javaweb,javaee對於大數據用不到。學會了javase就可以看懂hadoop框架。
2) python是最容易學習的,難易程度:python java Scala 。
python不是比java更直觀好理解么,因為會了Python 還是要學習java的,你學會了java,再來學習python會很簡單的,一周的時間就可以學會python。
3) R語言也可以學習,但是不推薦,因為java用的人最多,大數據的第一個框架Hadoop,底層全是Java寫的。就算學會了R還是看不懂hadoop。
java在大數據中的作用是構成大數據的語言,大數據的第一個框架Hadoop以及其他大數據技術框架,底層語言全是Java寫的,所以推薦首選學習java
大數據開發學習路線:
第一階段:Hadoop生態架構技術
1、語言基礎
Java:多理解和實踐在Java虛擬機的內存管理、以及多線程、線程池、設計模式、並行化就可以,不需要深入掌握。
Linux:系統安裝、基本命令、網路配置、Vim編輯器、進程管理、Shell腳本、虛擬機的菜單熟悉等等。
Python:基礎語法,數據結構,函數,條件判斷,循環等基礎知識。
2、環境准備
這里介紹在windows電腦搭建完全分布式,1主2從。
VMware虛擬機、Linux系統(Centos6.5)、Hadoop安裝包,這里准備好Hadoop完全分布式集群環境。
3、MapRece
MapRece分布式離線計算框架,是Hadoop核心編程模型。
4、HDFS1.0/2.0
HDFS能提供高吞吐量的數據訪問,適合大規模數據集上的應用。
5、Yarn(Hadoop2.0)
Yarn是一個資源調度平台,主要負責給任務分配資源。
6、Hive
Hive是一個數據倉庫,所有的數據都是存儲在HDFS上的。使用Hive主要是寫Hql。
7、Spark
Spark 是專為大規模數據處理而設計的快速通用的計算引擎。
8、SparkStreaming
Spark Streaming是實時處理框架,數據是一批一批的處理。
9、SparkHive
Spark作為Hive的計算引擎,將Hive的查詢作為Spark的任務提交到Spark集群上進行計算,可以提高Hive查詢的性能。
10、Storm
Storm是一個實時計算框架,Storm是對實時新增的每一條數據進行處理,是一條一條的處理,可以保證數據處理的時效性。
11、Zookeeper
Zookeeper是很多大數據框架的基礎,是集群的管理者。
12、Hbase
Hbase是一個Nosql資料庫,是高可靠、面向列的、可伸縮的、分布式的資料庫。
13、Kafka
kafka是一個消息中間件,作為一個中間緩沖層。
14、Flume
Flume常見的就是採集應用產生的日誌文件中的數據,一般有兩個流程。
一個是Flume採集數據存儲到Kafka中,方便Storm或者SparkStreaming進行實時處理。
另一個流程是Flume採集的數據存儲到HDFS上,為了後期使用hadoop或者spark進行離線處理。
第二階段:數據挖掘演算法
1、中文分詞
開源分詞庫的離線和在線應用
2、自然語言處理
文本相關性演算法
3、推薦演算法
基於CB、CF,歸一法,Mahout應用。
4、分類演算法
NB、SVM
5、回歸演算法
LR、DecisionTree
6、聚類演算法
層次聚類、Kmeans
7、神經網路與深度學習
NN、Tensorflow
以上就是學習Hadoop開發的一個詳細路線,如果需要了解具體框架的開發技術,可咨詢加米穀大數據老師,詳細了解。
學習大數據開發需要掌握哪些技術呢?
(1)Java語言基礎
Java開發介紹、熟悉Eclipse開發工具、Java語言基礎、Java流程式控制制、Java字元串、Java數組與類和對象、數字處理類與核心技術、I/O與反射、多線程、Swing程序與集合類
(2)HTML、CSS與Java
PC端網站布局、HTML5+CSS3基礎、WebApp頁面布局、原生Java交互功能開發、Ajax非同步交互、jQuery應用
(3)JavaWeb和資料庫
資料庫、JavaWeb開發核心、JavaWeb開發內幕
Linux&Hadoop生態體系
Linux體系、Hadoop離線計算大綱、分布式資料庫Hbase、數據倉庫Hive、數據遷移工具Sqoop、Flume分布式日誌框架
分布式計算框架和Spark&Strom生態體系
(1)分布式計算框架
Python編程語言、Scala編程語言、Spark大數據處理、Spark—Streaming大數據處理、Spark—Mlib機器學習、Spark—GraphX 圖計算、實戰一:基於Spark的推薦系統(某一線公司真實項目)、實戰二:新浪網(www.sina.com.cn)
(2)storm技術架構體系
Storm原理與基礎、消息隊列kafka、Redis工具、zookeeper詳解、大數據項目實戰數據獲取、數據處理、數據分析、數據展現、數據應用
大數據分析—AI(人工智慧)Data
Analyze工作環境准備&數據分析基礎、數據可視化、Python機器學習
以上的回答希望對你有所幫助
⑸ 公司讓我從0開始學這些rabbitmq,mongodb,flume,storm,大數據處理這塊
給發上工資,還能有學習的機會,難得。
既然讓學習肯定會有用的。很多公司的產品也在使用大數據以及mongodb
⑹ 怎樣進行大數據的入門級學習
記住學到這里可以作為你學大數據的一個節點。
Zookeeper:這是個萬金油,安裝Hadoop的HA的時候就會用到它,以後的Hbase也會用到它。它一般用來存放一些相互協作的信息,這些信息比較小一般不會超過1M,都是使用它的軟體對它有依賴,對於我們個人來講只需要把它安裝正確,讓它正常的run起來就可以了。
Mysql:我們學習完大數據的處理了,接下來學習學習小數據的處理工具mysql資料庫,因為一會裝hive的時候要用到,mysql需要掌握到什麼層度那?你能在Linux上把它安裝好,運行起來,會配置簡單的許可權,修改root的密碼,創建資料庫。這里主要的是學習SQL的語法,因為hive的語法和這個非常相似。
Sqoop:這個是用於把Mysql里的數據導入到Hadoop里的。當然你也可以不用這個,直接把Mysql數據表導出成文件再放到HDFS上也是一樣的,當然生產環境中使用要注意Mysql的壓力。
Hive:這個東西對於會SQL語法的來說就是神器,它能讓你處理大數據變的很簡單,不會再費勁的編寫MapRece程序。有的人說Pig那?它和Pig差不多掌握一個就可以了。
Oozie:既然學會Hive了,我相信你一定需要這個東西,它可以幫你管理你的Hive或者MapRece、Spark腳本,還能檢查你的程序是否執行正確,出錯了給你發報警並能幫你重試程序,最重要的是還能幫你配置任務的依賴關系。我相信你一定會喜歡上它的,不然你看著那一大堆腳本,和密密麻麻的crond是不是有種想屎的感覺。
Hbase:這是Hadoop生態體系中的NOSQL資料庫,他的數據是按照key和value的形式存儲的並且key是唯一的,所以它能用來做數據的排重,它與MYSQL相比能存儲的數據量大很多。所以他常被用於大數據處理完成之後的存儲目的地。
Kafka:這是個比較好用的隊列工具,隊列是干嗎的?排隊買票你知道不?數據多了同樣也需要排隊處理,這樣與你協作的其它同學不會叫起來,你干嗎給我這么多的數據(比如好幾百G的文件)我怎麼處理得過來,你別怪他因為他不是搞大數據的,你可以跟他講我把數據放在隊列里你使用的時候一個個拿,這樣他就不在抱怨了馬上灰流流的去優化他的程序去了,因為處理不過來就是他的事情。而不是你給的問題。當然我們也可以利用這個工具來做線上實時數據的入庫或入HDFS,這時你可以與一個叫Flume的工具配合使用,它是專門用來提供對數據進行簡單處理,並寫到各種數據接受方(比如Kafka)的。
Spark:它是用來彌補基於MapRece處理數據速度上的缺點,它的特點是把數據裝載到內存中計算而不是去讀慢的要死進化還特別慢的硬碟。特別適合做迭代運算,所以演算法流們特別稀飯它。它是用scala編寫的。Java語言或者Scala都可以操作它,因為它們都是用JVM的。
⑺ 小白想轉行做大數據,怎麼入行
大數據現在這么火,想往大數據方面發展,但是英文、數學不好的可以嗎?? 學習大數據該學哪些技術??大數據和程序員比哪個要好學點??等等。。。很多人學大數據的原因就是大數據找工作好找,薪資很高,,當然,為了這個原因也是可以的,畢竟這個時代就業壓力確實很大,為了一個好的工作學一門技術,,但是我想問下你,你的專業是什麼呢??對於計算機/軟體,你的興趣是什麼?是計算機專業,對操作系統、硬體、網路、伺服器感興趣?是軟體專業,對軟體開發、編程、寫代碼感興趣?還是數學、統計學專業,對數據和數字特別感興趣。。
二、更高效的WordCount
首先,你得先學習SQL,訪問、查詢資料庫的基本語言還是要懂的。。然後SQL On Hadoop之Hive,Hive是數據倉庫工具,數據倉庫是邏輯上的概念,底層使用的是資料庫,數據倉庫的特點:數據全(海量)、穩定;所謂穩定,比如資料庫的數據經常要更新,而數據倉庫的數據是不會被更新,只會被查詢,所以說Hive適合做數據倉庫。最後就是了解hive的工作原理,學會Hive的工作命令。
三、把別處的數據搞到Hadoop上
四、把Hadoop上的數據搞到別處去
五、實例分析
六、實時數據
七、更新查詢數據
八、高大上的機器學習
完成了第一、二,說明你已經快步入大數據的行列了,寫的不好也請多多包涵。
詳細了解 可登錄網址:網頁鏈接
⑻ 大數據初學者應該怎麼學
記住學到這里可以作為你學大數據的一個節點。
Zookeeper:這是個萬金油,安裝Hadoop的HA的時候就會用到它,以後的Hbase也會用到它。它一般用來存放一些相互協作的信息,這些信息比較小一般不會超過1M,都是使用它的軟體對它有依賴,對於我們個人來講只需要把它安裝正確,讓它正常的run起來就可以了。
Mysql:我們學習完大數據的處理了,接下來學習學習小數據的處理工具mysql資料庫,因為一會裝hive的時候要用到,mysql需要掌握到什麼層度那?你能在Linux上把它安裝好,運行起來,會配置簡單的許可權,修改root的密碼,創建資料庫。這里主要的是學習SQL的語法,因為hive的語法和這個非常相似。
Sqoop:這個是用於把Mysql里的數據導入到Hadoop里的。當然你也可以不用這個,直接把Mysql數據表導出成文件再放到HDFS上也是一樣的,當然生產環境中使用要注意Mysql的壓力。
Hive:這個東西對於會SQL語法的來說就是神器,它能讓你處理大數據變的很簡單,不會再費勁的編寫MapRece程序。有的人說Pig那?它和Pig差不多掌握一個就可以了。
Oozie:既然學會Hive了,我相信你一定需要這個東西,它可以幫你管理你的Hive或者MapRece、Spark腳本,還能檢查你的程序是否執行正確,出錯了給你發報警並能幫你重試程序,最重要的是還能幫你配置任務的依賴關系。我相信你一定會喜歡上它的,不然你看著那一大堆腳本,和密密麻麻的crond是不是有種想屎的感覺。
Hbase:這是Hadoop生態體系中的NOSQL資料庫,他的數據是按照key和value的形式存儲的並且key是唯一的,所以它能用來做數據的排重,它與MYSQL相比能存儲的數據量大很多。所以他常被用於大數據處理完成之後的存儲目的地。
Kafka:這是個比較好用的隊列工具,隊列是干嗎的?排隊買票你知道不?數據多了同樣也需要排隊處理,這樣與你協作的其它同學不會叫起來,你干嗎給我這么多的數據(比如好幾百G的文件)我怎麼處理得過來,你別怪他因為他不是搞大數據的,你可以跟他講我把數據放在隊列里你使用的時候一個個拿,這樣他就不在抱怨了馬上灰流流的去優化他的程序去了,因為處理不過來就是他的事情。而不是你給的問題。當然我們也可以利用這個工具來做線上實時數據的入庫或入HDFS,這時你可以與一個叫Flume的工具配合使用,它是專門用來提供對數據進行簡單處理,並寫到各種數據接受方(比如Kafka)的。
Spark:它是用來彌補基於MapRece處理數據速度上的缺點,它的特點是把數據裝載到內存中計算而不是去讀慢的要死進化還特別慢的硬碟。特別適合做迭代運算,所以演算法流們特別稀飯它。它是用scala編寫的。Java語言或者Scala都可以操作它,因為它們都是用JVM的。
⑼ 一個典型的大數據解決方案,包含哪些組件
首先,一抄個典型的大數據解決方案,也就是大數據系統平台的構建,涉及到多個層次,數據採集和傳輸、數據存儲、數據計算、資源管理、任務調度等,每個流程階段當中,都有多個組件可選擇,關鍵是要能夠滿足實際的需求。
簡單舉例說明一下典型的一些組件:
文件存儲:Hadoop HDFS
離線計算:Hadoop MapRece、Spark
流式、實時計算:Storm、Spark Streaming
K-V、NOSQL資料庫:HBase、Redis、MongoDB
資源管理:YARN、Mesos
日誌收集:Flume、Scribe、Logstash、Kibana
消息系統:Kafka、StormMQ、ZeroMQ、RabbitMQ
查詢分析:Hive、Impala、Presto、Phoenix、SparkSQL、Flink、Kylin、Druid
分布式協調服務:Zookeeper
集群管理與監控:Ambari、Ganglia、Nagios、Cloudera Manager
數據挖掘、機器學習:Mahout、Spark MLLib
數據同步:Sqoop
任務調度:Oozie
⑽ 大數據方面核心技術有哪些
總的來說大數據有5個部分。數據採集,數據存儲,數據清洗,數據挖掘,數據可視化。還有新興的實時流處理,可能還有別的