IT行業中Java語言是基礎需要打牢,除此之外還要掌握其他的技能,大數據之所以被稱為大數據,是因為這些海量數據的數量級已經達到TB、PB、EB級。
傳統的數據處理手段早已滿足不了需求大數據處理技術涉及面非常廣,不再是以往“一招鮮吃遍天”的局面了。主要有分佈式計算、高併發處理、高可用處理、集群、實時性計算等。
作為一名大數據工程師需要掌握哪些知識?我們一起來看一下。
一、Java編程
Java語言是基礎,可以編寫Web應用、桌面應用、分佈式系統、嵌入式系統應用等。Java語言有很多優點,它的跨平臺能力贏得了很多工程師的喜愛。
二、linux基礎操作命令
大數據開發一般在Linux環境下進行。
大數據工程師使用的命令主要在三方面:查看進程,包括CPU、內存;排查故障,定位問題;排除系統慢的原因等。
三、hadoop
Hadoop中使用最多的是HDFS集群和MapReduce框架。
HDFS存儲數據,並優化存取過程。
MapReduce方便了工程師編寫應用程序。
四、HBase
HBase可以隨機、實時讀寫大數據,更適合於非結構化數據存儲,核心是分佈式的、面向列的Apache HBase數據庫。
HBase作為Hadoop的數據看,它的應用、架構和高級用法對大數據開發來說非常重要。
五、Hive
Hive作為Hadoop的一個數據倉庫工具,方便了數據彙總和統計分析。
六、ZooKeeper
ZooKeeper是Hadoop和Hbase的重要組件,可以協調為分佈式應用程序。
ZooKeeper的的功能主要有:配置維護、域名服務、分佈式同步、組件服務。
七、phoenix
phoenix是一種開源的sql引擎,是用Java語言編寫的。
八、Avro與Protobuf
Avro、Protobuf是適合做數據存儲的數據序列化系統,有較豐富的數據結構類型,可以在多種不同的語言間進行通信。
九、Cassandra
Apache Cassandra是運行在服務器或者雲基礎設施上的可以為數據提供完美平臺的數據庫,具有高性能、可擴展性、高線性。
Cassandra支持數據中心間互相複製,低延遲、不受斷電影響。它的數據模型有列索引、高性能視圖和內置緩存。
十、Kafka
Kafka可以通過集群來提供實時的消息的分佈式發佈訂閱消息系統,具有很高的吞吐量,主要是利用Hadoop的並行加載來統一線上、離線的消息處理。
十一、Chukwa
Chukwa是一個分佈式的數據採集監視系統,具有可伸縮性和健壯性。
Chukwa的工具包可以對結果進行顯示、監測、分析,充分使用收集到的數據。
十二、Flume
Flume是海量日誌處理系統,具有高可用、高可靠、分佈式的特點,可以對日誌進行採集、聚合和傳輸。
Flume可以定製數據發送方來收集數據,也可以對數據簡單處理後寫到數據接收方。
閱讀更多 python全棧工程師 的文章