本文目錄一覽:
高中生學什麼專業好?
比如說it行業的話是一個不錯的選擇,因為薪資比較高,雖然說比較勞累,但是目前互聯網是一個不斷向上發展的事業,在工資上是遙遙領先於其他的職業的。
學醫都是很多家長希望孩子選擇的一條專業,學醫固然是很吃香的,但是同樣的也要付出很多的金錢,還有時間的努力。尤其是在社會上會有所謂的醫患關係,還有醫生出現身體勞累的狀況,這也是很多人所擔心的。
但是如果出生很普通,學醫是個很好的選擇,因為沒有各方面的人脈資源,這才能憑藉真本事獲得出路。像那一些有人脈資源的都去金融行業了,而且還需要朝大城市發展。學醫可以說拼的是醫術,還有職稱,根本就不畏懼年齡上的困擾。
介紹幾個國產數據庫?
一、DM
軟件名稱:達夢數據庫(DM)。
開發商:武漢達夢數據庫有限公司。
軟件描述:
達夢數據庫具有如下技術特色:支持多個平台之間的互聯互訪、高效的並發控制機制、有效的查詢優化策略、靈活的系統配置、支持各種故障恢復並提供多種備份和還原方式。
具有高可靠性、支持多種多媒體數據類型、提供全文檢索功能、各種管理工具簡單易用、各種客戶端編程接口都符合國際通用標準、用戶文檔齊全。
官網:
二、OpenBASE
軟件名稱:OpenBASE。
開發商:東軟集團有限公司。
軟件描述:
主要包括OpenBASE 多媒體數據庫管理系統、OpenBASE Web應用服務器、OpenBASE Mini嵌入式數據庫管理系統、OpenBASE Secure安全數據庫系統等產品。
所有的這些產品涵蓋了企業應用、Internet/Intranet、移動計算等不同的應用領域,具有不同的應用模式。
形成了OpenBASE面向各種應用的全面的解決方案。多媒體數據庫管理系統OpenBASE是OpenBASE產品系列的核心和基礎,其它的產品都是在其基礎上,根據各自應用領域的不同特點發展、演變而成的。
官網:
三、思極有容
軟件名稱:思極有容分布式數據庫。
開發商:國網信通和創意信息聯合研發
軟件描述:
一款國產自主可控的分布式關係型數據庫。支持國產CPU、操作系統生態,支持雲平台和容器。在安全方面,設定多種權限訪問、審計、流量控制機制,實現真正資源隔離。
產品採用當前領先分布式技術,提供多種隔離級別,保障完整分布式事務。通過讀寫分離、並行計算、在線橫向擴展,實現集群性能準線性提升,可達數百萬級TPM。
官網:
四、KingbaseES
軟件名稱:金倉數據庫管理系統KingbaseES。
開發商:北京人大金倉信息技術有限公司。
軟件描述:
交互式工具ISQL;圖形化的數據轉換工具; 多種方式的數據備份與恢復; 提供作業調度工具;方便的用戶管理;支持事務處理;支持各種數據類型;提供各種操作函數;提供完整性約束;支持視圖;支持存儲過程/函數;支持觸發器。
官網:
五、阿里的數據庫系統
軟件名稱:OceanBase PolarDB
官方稱為“完全自主研發的金融級分布式關係數據庫”。下面是其官網的介紹:OceanBase 對傳統的關係數據庫進行了開創性的革新。
在普通硬件上實現金融級高可用,在金融行業首創“三地五中心”城市級故障自動無損容災新標準,同時具備在線水平擴展能力,創造了4200萬次/秒處理峰值的紀錄(註:當時TPS官宣為25.6w)。
現在OceanBase的版本已經2.x了,OceanBase TPC-C的評測刷遍了朋友圈,TPS達到了100w (6088w tpmc),榜單第一。
官網:
六、騰訊的數據庫系統
軟件名稱:TDSQL
其官網簡介:分布式數據庫(Tencent Distributed SQL,TDSQL)是騰訊打造的一款分布式數據庫產品,具備強一致高可用、全球部署架構、分布式水平擴展、高性能、企業級安全等特性。
同時提供智能 DBA、自動化運營、監控告警等配套設施,為用戶提供完整的分布式數據庫解決方案。
目前 TDSQL 已經為超過500+的政企和金融機構提供數據庫的公有雲及私有雲服務,客戶覆蓋銀行、保險、證券、互聯網金融、計費、第三方支付、物聯網、互聯網+、政務等領域。TDSQL 亦憑藉其高質量的產品及服務,獲得了多項國際和國家認證,得到了客戶及行業的一致認可。
官網:
三、華為的數據庫系統
軟件名稱:GaussDB
全球首款AI-Native數據庫,內部有100、200、300多個版本,應該是基於PostgreSQL開發的。在國內,可能除了阿里,就到華為的團隊了(高斯實驗室)。和不少高校建立了合作。
官網:
總結
如果你傾向極強的定製性和高度兼容MySQL,推薦思極有容數據庫,因為它這兩者是優化到極致且比較簡潔,可控性強。
怎樣去學一項技能呢?又怎麼才知道是適合自己的呢
先找自己的興趣點,看你自己是不是喜歡他,然後再去考慮是不是要去從事。其次,你要看一下,你自己的性格是不是適合這個行業。比如,如果你是一個特別內向的人,你覺得自己適合做銷售嗎。見了客戶話也說不完整,這樣的話是做不好的。
大數據三大核心技術:拿數據、算數據、賣數據!
大數據的由來
對於“大數據”(Big data)研究機構Gartner給出了這樣的定義。“大數據”是需要新處理模式才能具有更強的決策力、洞察發現力和流程優化能力來適應海量、高增長率和多樣化的信息資產。
1
麥肯錫全球研究所給出的定義是:一種規模大到在獲取、存儲、管理、分析方面大大超出了傳統數據庫軟件工具能力範圍的數據集合,具有海量的數據規模、快速的數據流轉、多樣的數據類型和價值密度低四大特徵。
大數據技術的戰略意義不在於掌握龐大的數據信息,而在於對這些含有意義的數據進行專業化處理。換而言之,如果把大數據比作一種產業,那麼這種產業實現盈利的關鍵,在於提高對數據的“加工能力”,通過“加工”實現數據的“增值”。
從技術上看,大數據與雲計算的關係就像一枚硬幣的正反面一樣密不可分。大數據必然無法用單台的計算機進行處理,必須採用分布式架構。它的特色在於對海量數據進行分布式數據挖掘。但它必須依託雲計算的分布式處理、分布式數據庫和雲存儲、虛擬化技術。
大數據需要特殊的技術,以有效地處理大量的容忍經過時間內的數據。適用於大數據的技術,包括大規模並行處理(MPP)數據庫、數據挖掘、分布式文件系統、分布式數據庫、雲計算平台、互聯網和可擴展的存儲系統。
最小的基本單位是bit,按順序給出所有單位:bit、Byte、KB、MB、GB、TB、PB、EB、ZB、YB、BB、NB、DB。
大數據的應用領域
大數據無處不在,大數據應用於各個行業,包括金融、 汽車 、餐飲、電信、能源、體能和 娛樂 等在內的 社會 各行各業都已經融入了大數據的印跡。
製造業,利用工業大數據提升製造業水平,包括產品故障診斷與預測、分析工藝流程、改進生產工藝,優化生產過程能耗、工業供應鏈分析與優化、生產計劃與排程。
金融行業,大數據在高頻交易、社交情緒分析和信貸風險分析三大金融創新領域發揮重大作用。
汽車 行業,利用大數據和物聯網技術的無人駕駛 汽車 ,在不遠的未來將走入我們的日常生活。
互聯網行業,藉助於大數據技術,可以分析客戶行為,進行商品推薦和針對性廣告投放。
電信行業,利用大數據技術實現客戶離網分析,及時掌握客戶離網傾向,出台客戶挽留措施。
能源行業,隨着智能電網的發展,電力公司可以掌握海量的用戶用電信息,利用大數據技術分析用戶用電模式,可以改進電網運行,合理設計電力需求響應系統,確保電網運行安全。
物流行業,利用大數據優化物流網絡,提高物流效率,降低物流成本。
城市管理,可以利用大數據實現智能交通、環保監測、城市規劃和智能安防。
體育 娛樂 ,大數據可以幫助我們訓練球隊,決定投拍哪種 題財的 影視作品,以及預測比賽結果。
安全領域,政府可以利用大數據技術構建起強大的國家安全保障體系,企業可以利用大數據抵禦網絡攻擊,警察可以藉助大數據來預防犯罪。
個人生活, 大數據還可以應用於個人生活,利用與每個人相關聯的“個人大數據”,分析個人生活行為習慣,為其提供更加周到的個性化服務。
大數據的價值,遠遠不止於此,大數據對各行各業的滲透,大大推動了 社會 生產和生活,未來必將產生重大而深遠的影響。
大數據方面核心技術有哪些?
大數據技術的體系龐大且複雜,基礎的技術包含數據的採集、數據預處理、分布式存儲、NoSQL數據庫、數據倉庫、機器學習、並行計算、可視化等各種技術範疇和不同的技術層面。首先給出一個通用化的大數據處理框架,主要分為下面幾個方面:數據採集與預處理、數據存儲、數據清洗、數據查詢分析和數據可視化。
數據採集與預處理
對於各種來源的數據,包括移動互聯網數據、社交網絡的數據等,這些結構化和非結構化的海量數據是零散的,也就是所謂的數據孤島,此時的這些數據並沒有什麼意義,數據採集就是將這些數據寫入數據倉庫中,把零散的數據整合在一起,對這些數據綜合起來進行分析。數據採集包括文件日誌的採集、數據庫日誌的採集、關係型數據庫的接入和應用程序的接入等。在數據量比較小的時候,可以寫個定時的腳本將日誌寫入存儲系統,但隨着數據量的增長,這些方法無法提供數據安全保障,並且運維困難,需要更強壯的解決方案。
Flume NG
Flume NG作為實時日誌收集系統,支持在日誌系統中定製各類數據發送方,用於收集數據,同時,對數據進行簡單處理,並寫到各種數據接收方(比如文本,HDFS,Hbase等)。Flume NG採用的是三層架構:Agent層,Collector層和Store層,每一層均可水平拓展。其中Agent包含Source,Channel和 Sink,source用來消費(收集)數據源到channel組件中,channel作為中間臨時存儲,保存所有source的組件信息,sink從channel中讀取數據,讀取成功之後會刪除channel中的信息。
NDC
Logstash
Logstash是開源的服務器端數據處理管道,能夠同時從多個來源採集數據、轉換數據,然後將數據發送到您最喜歡的 “存儲庫” 中。一般常用的存儲庫是Elasticsearch。Logstash 支持各種輸入選擇,可以在同一時間從眾多常用的數據來源捕捉事件,能夠以連續的流式傳輸方式,輕鬆地從您的日誌、指標、Web 應用、數據存儲以及各種 AWS 服務採集數據。
Sqoop
Sqoop,用來將關係型數據庫和Hadoop中的數據進行相互轉移的工具,可以將一個關係型數據庫(例如Mysql、Oracle)中的數據導入到Hadoop(例如HDFS、Hive、Hbase)中,也可以將Hadoop(例如HDFS、Hive、Hbase)中的數據導入到關係型數據庫(例如Mysql、Oracle)中。Sqoop 啟用了一個 MapReduce 作業(極其容錯的分布式並行計算)來執行任務。Sqoop 的另一大優勢是其傳輸大量結構化或半結構化數據的過程是完全自動化的。
流式計算
流式計算是行業研究的一個熱點,流式計算對多個高吞吐量的數據源進行實時的清洗、聚合和分析,可以對存在於社交網站、新聞等的數據信息流進行快速的處理並反饋,目前大數據流分析工具有很多,比如開源的strom,spark streaming等。
Strom集群結構是有一個主節點(nimbus)和多個工作節點(supervisor)組成的主從結構,主節點通過配置靜態指定或者在運行時動態選舉,nimbus與supervisor都是Storm提供的後台守護進程,之間的通信是結合Zookeeper的狀態變更通知和監控通知來處理。nimbus進程的主要職責是管理、協調和監控集群上運行的topology(包括topology的發布、任務指派、事件處理時重新指派任務等)。supervisor進程等待nimbus分配任務後生成並監控worker(jvm進程)執行任務。supervisor與worker運行在不同的jvm上,如果由supervisor啟動的某個worker因為錯誤異常退出(或被kill掉),supervisor會嘗試重新生成新的worker進程。
Zookeeper
Zookeeper是一個分布式的,開放源碼的分布式應用程序協調服務,提供數據同步服務。它的作用主要有配置管理、名字服務、分布式鎖和集群管理。配置管理指的是在一個地方修改了配置,那麼對這個地方的配置感興趣的所有的都可以獲得變更,省去了手動拷貝配置的繁瑣,還很好的保證了數據的可靠和一致性,同時它可以通過名字來獲取資源或者服務的地址等信息,可以監控集群中機器的變化,實現了類似於心跳機制的功能。
數據存儲
Hadoop作為一個開源的框架,專為離線和大規模數據分析而設計,HDFS作為其核心的存儲引擎,已被廣泛用於數據存儲。
HBase
HBase,是一個分布式的、面向列的開源數據庫,可以認為是hdfs的封裝,本質是數據存儲、NoSQL數據庫。HBase是一種Key/Value系統,部署在hdfs上,克服了hdfs在隨機讀寫這個方面的缺點,與hadoop一樣,Hbase目標主要依靠橫向擴展,通過不斷增加廉價的商用服務器,來增加計算和存儲能力。
Phoenix
Phoenix,相當於一個Java中間件,幫助開發工程師能夠像使用JDBC訪問關係型數據庫一樣訪問NoSQL數據庫HBase。
Yarn
Yarn是一種Hadoop資源管理器,可為上層應用提供統一的資源管理和調度,它的引入為集群在利用率、資源統一管理和數據共享等方面帶來了巨大好處。Yarn由下面的幾大組件構成:一個全局的資源管理器ResourceManager、ResourceManager的每個節點代理NodeManager、表示每個應用的Application以及每一個ApplicationMaster擁有多個Container在NodeManager上運行。
Mesos
Mesos是一款開源的集群管理軟件,支持Hadoop、ElasticSearch、Spark、Storm 和Kafka等應用架構。
Redis
Redis是一種速度非常快的非關係數據庫,可以存儲鍵與5種不同類型的值之間的映射,可以將存儲在內存的鍵值對數據持久化到硬盤中,使用複製特性來擴展性能,還可以使用客戶端分片來擴展寫性能。
Atlas
Atlas是一個位於應用程序與MySQL之間的中間件。在後端DB看來,Atlas相當於連接它的客戶端,在前端應用看來,Atlas相當於一個DB。Atlas作為服務端與應用程序通訊,它實現了MySQL的客戶端和服務端協議,同時作為客戶端與MySQL通訊。它對應用程序屏蔽了DB的細節,同時為了降低MySQL負擔,它還維護了連接池。Atlas啟動後會創建多個線程,其中一個為主線程,其餘為工作線程。主線程負責監聽所有的客戶端連接請求,工作線程只監聽主線程的命令請求。
Kudu
Kudu是圍繞Hadoop生態圈建立的存儲引擎,Kudu擁有和Hadoop生態圈共同的設計理念,它運行在普通的服務器上、可分布式規模化部署、並且滿足工業界的高可用要求。其設計理念為fast analytics on fast data。作為一個開源的存儲引擎,可以同時提供低延遲的隨機讀寫和高效的數據分析能力。Kudu不但提供了行級的插入、更新、刪除API,同時也提供了接近Parquet性能的批量掃描操作。使用同一份存儲,既可以進行隨機讀寫,也可以滿足數據分析的要求。Kudu的應用場景很廣泛,比如可以進行實時的數據分析,用於數據可能會存在變化的時序數據應用等。
在數據存儲過程中,涉及到的數據表都是成千上百列,包含各種複雜的Query,推薦使用列式存儲方法,比如parquent,ORC等對數據進行壓縮。Parquet 可以支持靈活的壓縮選項,顯著減少磁盤上的存儲。
數據清洗
MapReduce作為Hadoop的查詢引擎,用於大規模數據集的並行計算,”Map(映射)”和”Reduce(歸約)”,是它的主要思想。它極大的方便了編程人員在不會分布式並行編程的情況下,將自己的程序運行在分布式系統中。
隨着業務數據量的增多,需要進行訓練和清洗的數據會變得越來越複雜,這個時候就需要任務調度系統,比如oozie或者azkaban,對關鍵任務進行調度和監控。
Oozie
Oozie是用於Hadoop平台的一種工作流調度引擎,提供了RESTful API接口來接受用戶的提交請求(提交工作流作業),當提交了workflow後,由工作流引擎負責workflow的執行以及狀態的轉換。用戶在HDFS上部署好作業(MR作業),然後向Oozie提交Workflow,Oozie以異步方式將作業(MR作業)提交給Hadoop。這也是為什麼當調用Oozie 的RESTful接口提交作業之後能立即返回一個JobId的原因,用戶程序不必等待作業執行完成(因為有些大作業可能會執行很久(幾個小時甚至幾天))。Oozie在後台以異步方式,再將workflow對應的Action提交給hadoop執行。
Azkaban
Azkaban也是一種工作流的控制引擎,可以用來解決有多個hadoop或者spark等離線計算任務之間的依賴關係問題。azkaban主要是由三部分構成:Relational Database,Azkaban Web Server和Azkaban Executor Server。azkaban將大多數的狀態信息都保存在MySQL中,Azkaban Web Server提供了Web UI,是azkaban主要的管理者,包括project的管理、認證、調度以及對工作流執行過程中的監控等;Azkaban Executor Server用來調度工作流和任務,記錄工作流或者任務的日誌。
流計算任務的處理平台Sloth,是網易首個自研流計算平台,旨在解決公司內各產品日益增長的流計算需求。作為一個計算服務平台,其特點是易用、實時、可靠,為用戶節省技術方面(開發、運維)的投入,幫助用戶專註於解決產品本身的流計算需求
數據查詢分析
Hive
Hive的核心工作就是把SQL語句翻譯成MR程序,可以將結構化的數據映射為一張數據庫表,並提供 HQL(Hive SQL)查詢功能。Hive本身不存儲和計算數據,它完全依賴於HDFS和MapReduce。可以將Hive理解為一個客戶端工具,將SQL操作轉換為相應的MapReduce jobs,然後在hadoop上面運行。Hive支持標準的SQL語法,免去了用戶編寫MapReduce程序的過程,它的出現可以讓那些精通SQL技能、但是不熟悉MapReduce 、編程能力較弱與不擅長Java語言的用戶能夠在HDFS大規模數據集上很方便地利用SQL 語言查詢、匯總、分析數據。
Hive是為大數據批量處理而生的,Hive的出現解決了傳統的關係型數據庫(MySql、Oracle)在大數據處理上的瓶頸 。Hive 將執行計劃分成map-shuffle-reduce-map-shuffle-reduce…的模型。如果一個Query會被編譯成多輪MapReduce,則會有更多的寫中間結果。由於MapReduce執行框架本身的特點,過多的中間過程會增加整個Query的執行時間。在Hive的運行過程中,用戶只需要創建表,導入數據,編寫SQL分析語句即可。剩下的過程由Hive框架自動的完成。
Impala
Impala是對Hive的一個補充,可以實現高效的SQL查詢。使用Impala來實現SQL on Hadoop,用來進行大數據實時查詢分析。通過熟悉的傳統關係型數據庫的SQL風格來操作大數據,同時數據也是可以存儲到HDFS和HBase中的。Impala沒有再使用緩慢的Hive+MapReduce批處理,而是通過使用與商用並行關係數據庫中類似的分布式查詢引擎(由Query Planner、Query Coordinator和Query Exec Engine三部分組成),可以直接從HDFS或HBase中用SELECT、JOIN和統計函數查詢數據,從而大大降低了延遲。Impala將整個查詢分成一執行計劃樹,而不是一連串的MapReduce任務,相比Hive沒了MapReduce啟動時間。
Hive 適合於長時間的批處理查詢分析,而Impala適合於實時交互式SQL查詢,Impala給數據人員提供了快速實驗,驗證想法的大數據分析工具,可以先使用Hive進行數據轉換處理,之後使用Impala在Hive處理好後的數據集上進行快速的數據分析。總的來說:Impala把執行計劃表現為一棵完整的執行計劃樹,可以更自然地分發執行計划到各個Impalad執行查詢,而不用像Hive那樣把它組合成管道型的map-reduce模式,以此保證Impala有更好的並發性和避免不必要的中間sort與shuffle。但是Impala不支持UDF,能處理的問題有一定的限制。
Spark
Spark擁有Hadoop MapReduce所具有的特點,它將Job中間輸出結果保存在內存中,從而不需要讀取HDFS。Spark 啟用了內存分布數據集,除了能夠提供交互式查詢外,它還可以優化迭代工作負載。Spark 是在 Scala 語言中實現的,它將 Scala 用作其應用程序框架。與 Hadoop 不同,Spark 和 Scala 能夠緊密集成,其中的 Scala 可以像操作本地集合對象一樣輕鬆地操作分布式數據集。
Nutch
Nutch 是一個開源Java 實現的搜索引擎。它提供了我們運行自己的搜索引擎所需的全部工具,包括全文搜索和Web爬蟲。
Solr
Solr用Java編寫、運行在Servlet容器(如Apache Tomcat或Jetty)的一個獨立的企業級搜索應用的全文搜索服務器。它對外提供類似於Web-service的API接口,用戶可以通過http請求,向搜索引擎服務器提交一定格式的XML文件,生成索引;也可以通過Http Get操作提出查找請求,並得到XML格式的返回結果。
Elasticsearch
Elasticsearch是一個開源的全文搜索引擎,基於Lucene的搜索服務器,可以快速的儲存、搜索和分析海量的數據。設計用於雲計算中,能夠達到實時搜索,穩定,可靠,快速,安裝使用方便。
還涉及到一些機器學習語言,比如,Mahout主要目標是創建一些可伸縮的機器學習算法,供開發人員在Apache的許可下免費使用;深度學習框架Caffe以及使用數據流圖進行數值計算的開源軟件庫TensorFlow等,常用的機器學習算法比如,貝葉斯、邏輯回歸、決策樹、神經網絡、協同過濾等。
數據可視化
對接一些BI平台,將分析得到的數據進行可視化,用於指導決策服務。主流的BI平台比如,國外的敏捷BI Tableau、Qlikview、PowrerBI等,國內的SmallBI和新興的網易有數等。
在上面的每一個階段,保障數據的安全是不可忽視的問題。
基於網絡身份認證的協議Kerberos,用來在非安全網絡中,對個人通信以安全的手段進行身份認證,它允許某實體在非安全網絡環境下通信,向另一個實體以一種安全的方式證明自己的身份。
控制權限的ranger是一個Hadoop集群權限框架,提供操作、監控、管理複雜的數據權限,它提供一個集中的管理機制,管理基於yarn的Hadoop生態圈的所有數據權限。可以對Hadoop生態的組件如Hive,Hbase進行細粒度的數據訪問控制。通過操作Ranger控制台,管理員可以輕鬆的通過配置策略來控制用戶訪問HDFS文件夾、HDFS文件、數據庫、表、字段權限。這些策略可以為不同的用戶和組來設置,同時權限可與hadoop無縫對接。
簡單說有三大核心技術:拿數據,算數據,賣數據。
大數據培訓學校學哪些內容
首先我們要了解Java語言和Linux操作系統,這兩個是學習大數據的基礎,學習的順序不分前後。
大數據
大數據
Java :只要了解一些基礎即可,做大數據不需要很深的Java 技術,學java SE 就相當於有學習大數據基礎。
Linux:因為大數據相關軟件都是在Linux上運行的,所以Linux要學習的紮實一些,學好Linux對你快速掌握大數據相關技術會有很大的幫助,能讓你更好的理解hadoop、hive、hbase、spark等大數據軟件的運行環境和網絡環境配置,能少踩很多坑,學會shell就能看懂腳本這樣能更容易理解和配置大數據集群。還能讓你對以後新出的大數據技術學習起來更快。
Hadoop:這是現在流行的大數據處理平台幾乎已經成為大數據的代名詞,所以這個是必學的。Hadoop裡面包括幾個組件HDFS、MapReduce和YARN,HDFS是存儲數據的地方就像我們電腦的硬盤一樣文件都存儲在這個上面,MapReduce是對數據進行處理計算的,它有個特點就是不管多大的數據只要給它時間它就能把數據跑完,但是時間可能不是很快所以它叫數據的批處理。
Zookeeper:這是個萬金油,安裝Hadoop的HA的時候就會用到它,以後的Hbase也會用到它。它一般用來存放一些相互協作的信息,這些信息比較小一般不會超過1M,都是使用它的軟件對它有依賴,對於我們個人來講只需要把它安裝正確,讓它正常的run起來就可以了。
Mysql:我們學習完大數據的處理了,接下來學習學習小數據的處理工具mysql數據庫,因為一會裝hive的時候要用到,mysql需要掌握到什麼層度那?你能在Linux上把它安裝好,運行起來,會配置簡單的權限,修改root的密碼,創建數據庫。這裡主要的是學習SQL的語法,因為hive的語法和這個非常相似。
Sqoop:這個是用於把Mysql里的數據導入到Hadoop里的。當然你也可以不用這個,直接把Mysql數據表導出成文件再放到HDFS上也是一樣的,當然生產環境中使用要注意Mysql的壓力。
Hive:這個東西對於會SQL語法的來說就是神器,它能讓你處理大數據變的很簡單,不會再費勁的編寫MapReduce程序。有的人說Pig那?它和Pig差不多掌握一個就可以了。
Oozie:既然學會Hive了,我相信你一定需要這個東西,它可以幫你管理你的Hive或者MapReduce、Spark腳本,還能檢查你的程序是否執行正確,出錯了給你發報警並能幫你重試程序,最重要的是還能幫你配置任務的依賴關係。我相信你一定會喜歡上它的,不然你看着那一大堆腳本,和密密麻麻的crond是不是有種想屎的感覺。
Hbase:這是Hadoop生態體系中的NOSQL數據庫,他的數據是按照key和value的形式存儲的並且key是唯一的,所以它能用來做數據的排重,它與MYSQL相比能存儲的數據量大很多。所以他常被用於大數據處理完成之後的存儲目的地。
Kafka:這是個比較好用的隊列工具,隊列是幹嗎的?排隊買票你知道不?數據多了同樣也需要排隊處理,這樣與你協作的其它同學不會叫起來,你幹嗎給我這麼多的數據(比如好幾百G的文件)我怎麼處理得過來,你別怪他因為他不是搞大數據的,你可以跟他講我把數據放在隊列里你使用的時候一個個拿,這樣他就不在抱怨了馬上灰流流的去優化他的程序去了,因為處理不過來就是他的事情。而不是你給的問題。當然我們也可以利用這個工具來做線上實時數據的入庫或入HDFS,這時你可以與一個叫Flume的工具配合使用,它是專門用來提供對數據進行簡單處理,並寫到各種數據接受方(比如Kafka)的。
Spark:它是用來彌補基於MapReduce處理數據速度上的缺點,它的特點是把數據裝載到內存中計算而不是去讀慢的要死進化還特別慢的硬盤。特別適合做迭代運算,所以算法流們特別稀飯它。它是用scala編寫的。Java語言或者Scala都可以操作它,因為它們都是用JVM的。
原創文章,作者:NZFPE,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/325087.html