大數據
Java:只要妳知道壹些基礎知識,妳就不需要很深的Java技術來做大數據。學習java SE相當於學習大數據。
Linux:因為大數據相關軟件運行在Linux上,所以必須牢固地學習Linux。學好Linux將對您快速掌握大數據相關技術有很大幫助,它將使您更好地了解hadoop、hive、hbase、spark等大數據軟件的運行環境和網絡環境配置。,這樣妳就可以少踩很多坑,學會理解腳本,這樣妳就可以更輕松地理解和配置大數據集群。它還允許您在未來更快地學習新的大數據技術。
Hadoop:這是壹個流行的大數據處理平臺,幾乎已經成為大數據的代名詞,所以這是必須的。Hadoop包括幾個組件:HDFS、MapReduce和YARN。HDFS是存儲數據的地方,就像我們電腦的硬盤壹樣。MapReduce處理和計算數據。它有壹個特點,只要給它時間,它就可以運行所有的數據,但時間可能不會很快,所以它被稱為數據批處理。
動物園管理員:這是靈丹妙藥。它將在安裝Hadoop的HA時使用,並且將在未來的Hbase中使用。壹般用來存儲壹些合作信息,比較小,壹般不超過1M。所有使用它的軟件都依賴於它。對於我們個人來說,我們只需要正確安裝它並讓它正常運行即可。
Mysql:我們已經學習完了大數據的處理,接下來我們將學習小數據的處理工具mysql數據庫,因為稍後安裝hive時會用到它。mysql需要掌握什麽水平?您可以在Linux上安裝它,運行它,配置簡單的權限,修改root的密碼,並創建壹個數據庫。這裏主要是學習SQL的語法,因為hive的語法與此非常相似。
Sqoop:用於將數據從Mysql導入Hadoop。當然,妳也可以將Mysql數據表直接導出到壹個文件中,並將其放在HDFS上,而無需此操作。當然,在生產環境中使用Mysql時,您應該註意它的壓力。
Hive:這個東西對於那些了解SQL語法的人來說是壹個神器。它可以使您輕松處理大數據,並且您不必費力編寫MapReduce程序。有人說是豬?幾乎和豬壹樣。掌握壹個就好。
現在妳已經學會了蜂巢,我相信妳需要這個東西。它可以幫助您管理您的Hive或MapReduce和Spark腳本,檢查您的程序是否正確執行,在出現問題時向您發出警報,幫助您重試程序,最重要的是,幫助您配置任務依賴性。我相信妳會喜歡它的,否則當妳看著那壹堆腳本和密密麻麻的crond時,妳會覺得自己像狗屎。
Hbase:這是Hadoop生態系統中的NOSQL數據庫。它的數據是以鍵和值的形式存儲的,並且鍵是唯壹的,因此可以用來復制數據。與MYSQL相比,它可以存儲更多的數據。因此,它通常用於大數據處理完成後的存儲目的地。
卡夫卡:這是壹個很好的排隊工具。排隊是為了什麽?排隊買票妳知道嗎?如果數據太多,還需要排隊處理,這樣其他和妳合作的同學就不會尖叫了。妳為什麽給我這麽多數據(例如,數百千兆字節的文件)?我該怎麽處理?不要因為他不會處理大數據而責怪他。妳可以告訴他,我把數據放在隊列中,妳在使用它們時壹個壹個地拿走它們,這樣他就不會對此抱怨並立即優化他的程序,因為不處理它是他的事情。不是妳問的問題。當然,我們也可以使用該工具將在線實時數據存入存儲器或HDFS。這時,您可以與壹個名為Flume的工具合作,該工具專門用於提供簡單的數據處理並將其寫入各種數據接收者(如Kafka)。
Spark:用於彌補基於MapReduce的數據處理速度的缺點。它的特點是將數據加載到內存中進行計算,而不是讀取慢得要死且進化特別慢的硬盤。特別適合叠代運算,所以算法流特別稀飯。它是用scala編寫的。Java語言或Scala都可以操作它,因為它們都使用JVM。