大數據平臺常見開源工具集錦,看看你都知道哪些

2020-12-20 51CTO

 引言

大數據平臺是對海量結構化、非結構化、半機構化數據進行採集、存儲、計算、統計、分析處理的一系列技術平臺。大數據平臺處理的數據量通常是TB級,甚至是PB或EB級的數據,這是傳統數據倉庫工具無法處理完成的,其涉及的技術有分布式計算、高並發處理、高可用處理、集群、實時性計算等,匯集了當前IT領域熱門流行的各類技術。

本文整理了大數據平臺常見的一些開源工具,並且依據其主要功能進行分類,以便大數據學習者及應用者快速查找和參考。

大數據平臺常見的一些工具匯集 

大數據平臺常見開源工具集錦,看看你都知道哪些

主要包含:語言工具類、數據採集工具、ETL工具、數據存儲工具、分析計算、查詢應用及運維監控工具等。以下對各工具作為簡要的說明。

一、語言工具類

1.Java編程技術

Java編程技術是目前使用最為廣泛的網絡程式語言之一,是大數據學習的基礎。Java具有簡單性、面向對象、分布式、健壯性、安全性、平臺獨立與可移植性、多線程、動態性等特點,擁有極高的跨平臺能力,是一種強類型語言,可以編寫桌面應用程式、Web應用程式、分布式系統和嵌入式系統應用程式等,是大數據工程師最喜歡的編程工具,最重要的是,Hadoop以及其他大數據處理技術很多都是用Java,因此,想學好大數據,掌握Java基礎是必不可少的。

2.Linux命令

對於大數據開發通常是在Linux環境下進行的,相比Linux作業系統,Windows作業系統是封閉的作業系統,開源的大數據軟體很受限制,因此,想從事大數據開發相關工作,還需掌握Linux基礎操作命令。

3.Scala

Scala是一門多範式的程式語言,一方面吸收繼承了多種語言中的優秀特性,一方面又沒有拋棄 Java 這個強大的平臺,大數據開發重要框架Spark是採用Scala語言設計的,想要學好Spark框架,擁有Scala基礎是必不可少的,因此,大數據開發需掌握Scala編程基礎知識!

4.Python與數據分析

Python是面向對象的程式語言,擁有豐富的庫,使用簡單,應用廣泛,在大數據領域也有所應用,主要可用於數據採集、數據分析以及數據可視化等,因此,大數據開發需學習一定的Python知識。

二、數據採集類工具

  • Nutch是一個開源Java 實現的搜尋引擎。它提供了我們運行自己的搜尋引擎所需的全部工具,包括全文搜索和Web爬蟲。
  • Scrapy是一個為了爬取網站數據,提取結構性數據而編寫的應用框架,可以應用在數據挖掘,信息處理或存儲歷史數據等一系列的程序中。大數據的採集需要掌握Nutch與Scrapy爬蟲技術。

三、ETL工具

1.Sqoop

Sqoop是一個用於在Hadoop和關係資料庫伺服器之間傳輸數據的工具。它用於從關係資料庫(如MySQL,Oracle)導入數據到Hadoop HDFS,並從Hadoop文件系統導出到關係資料庫,學習使用Sqoop對關係型資料庫數據和Hadoop之間的導入有很大的幫助。

2.Kettle

Kettle是一個ETL工具集,它允許你管理來自不同資料庫的數據,通過提供一個圖形化的用戶環境來描述你想做什麼,而不是你想怎麼做。作為Pentaho的一個重要組成部分,現在在國內項目應用上逐漸增多。其數據抽取高效穩定。

四、數據存儲類工具

1.Hadoop分布式存儲與計算

Hadoop實現了一個分布式文件系統(Hadoop Distributed File System),簡稱HDFS。Hadoop的框架最核心的設計就是:HDFS和MapReduce。HDFS為海量的數據提供了存儲,MapReduce則為海量的數據提供了計算,因此,需要重點掌握,除此之外,還需要掌握Hadoop集群、Hadoop集群管理、YARN以及Hadoop高級管理等相關技術與操作!

2.Hive

Hive是基於Hadoop的一個數據倉庫工具,可以將結構化的數據文件映射為一張資料庫表,並提供簡單的SQL查詢功能,可以將SQL語句轉換為MapReduce任務進行運行。相對於用Java代碼編寫MapReduce來說,Hive的優勢明顯:快速開發,人員成本低,可擴展性(自由擴展集群規模),延展性(支持自定義函數)。十分適合數據倉庫的統計分析。對於Hive需掌握其安裝、應用及高級操作等。

3.ZooKeeper

ZooKeeper 是一個開源的分布式協調服務,是Hadoop和HBase的重要組件,是一個為分布式應用提供一致性服務的軟體,提供的功能包括:配置維護、域名服務、分布式同步、組件服務等,在大數據開發中要掌握ZooKeeper的常用命令及功能的實現方法。

4.HBase

HBase是一個分布式的、面向列的開源資料庫,它不同於一般的關係資料庫,更適合於非結構化數據存儲的資料庫,是一個高可靠性、高性能、面向列、可伸縮的分布式存儲系統,大數據開發需掌握HBase基礎知識、應用、架構以及高級用法等。

5.Redis

Redis是一個Key-Value存儲系統,其出現很大程度補償了Memcached這類Key/Value存儲的不足,在部分場合可以對關係資料庫起到很好的補充作用,它提供了Java,C/C++,C#,PHP,JavaScript,Perl,Object-C,Python,Ruby,Erlang等客戶端,使用很方便,大數據開發需掌握Redis的安裝、配置及相關使用方法。

6.Kafka

Kafka是一種高吞吐量的分布式發布訂閱消息系統,其在大數據開發應用上的目的是通過Hadoop的並行加載機制來統一線上和離線的消息處理,也是為了通過集群來提供實時的消息。大數據開發需掌握Kafka架構原理及各組件的作用和使用方法及相關功能的實現。

7.Neo4j

Neo4j是一個高性能的,NoSQL圖形資料庫,具有處理百萬和T級節點和邊的大尺度處理網絡分析能力。它是一個嵌入式的、基於磁碟的、具備完全的事務特性的Java持久化引擎,但是它將結構化數據存儲在網絡(從數學角度叫做圖)上而不是表中。Neo4j因其嵌入式、高性能、輕量級等優勢,越來越受到關注。

8.Cassandra

Cassandra是一個混合型的非關係的資料庫,類似於Google的BigTable,其主要功能比Dynamo(分布式的Key-Value存儲系統)更豐富。這種NoSQL資料庫最初由Facebook開發,現已被1500多家企業組織使用,包括蘋果、歐洲原子核研究組織(CERN)、康卡斯特、電子港灣、GitHub、GoDaddy、Hulu、Instagram、Intuit、Netflix、Reddit等。是一種流行的分布式結構化數據存儲方案。

9.SSM

SSM框架是由Spring、Spring MVC、MyBatis三個開源框架整合而成,常作為數據源較簡單的Web項目的框架。大數據開發需分別掌握Spring、Spring MVC、MyBatis三種框架的同時,再使用SSM進行整合操作。

五、分析計算類工具

1.Spark

Spark是專為大規模數據處理而設計的快速通用的計算引擎,其提供了一個全面、統一的框架用於管理各種不同性質的數據集和數據源的大數據處理的需求,大數據開發需掌握Spark基礎、SparkJob、Spark RDD部署與資源分配、Spark Shuffle、Spark內存管理、Spark廣播變量、Spark SQL、Spark Streaming以及Spark ML等相關知識。

2.Storm

Storm 是自由的開源軟體,一個分布式的、容錯的實時計算系統,可以非常可靠的處理龐大的數據流,用於處理Hadoop的批量數據。Storm支持許多種程式語言,並且有許多應用領域:實時分析、在線機器學習、不停頓的計算、分布式RPC(遠過程調用協議,一種通過網路從遠程電腦程式上請求服務)、ETL等等。Storm的處理速度驚人:經測試,每個節點每秒鐘可以處理100萬個數據元組。

3.Mahout

Mahout目的是"為快速創建可擴展、高性能的機器學習應用程式而打造一個環境",主要特點是為可伸縮的算法提供可擴展環境、面向Scala/Spark/H2O/Flink的新穎算法、Samsara(類似R的矢量數學環境),它還包括了用於在MapReduce上進行數據挖掘的眾多算法。

4.Pentaho

Pentaho是世界上最流行的開源商務智能軟體,以工作流為核心的、強調面向解決方案而非工具組件的、基於Java平臺的BI套件。包括一個Web Server平臺和幾個工具軟體:報表、分析、圖表、數據集成、數據挖掘等,可以說包括了商務智能的方方面面。Pentaho的工具可以連接到NoSQL資料庫。大數據開發需了解其使用方法。

六、查詢應用類工具

1.Avro與Protobuf

Avro與Protobuf均是數據序列化系統,可以提供豐富的數據結構類型,十分適合做數據存儲,還可進行不同語言之間相互通信的數據交換格式,學習大數據,需掌握其具體用法。

2.Phoenix

Phoenix是用Java編寫的基於JDBC API操作HBase的開源SQL引擎,其具有動態列、散列加載、查詢伺服器、追蹤、事務、用戶自定義函數、二級索引、命名空間映射、數據收集、時間戳列、分頁查詢、跳躍查詢、視圖以及多租戶的特性,大數據開發需掌握其原理和使用方法。

3.Kylin

Kylin是一個開源的分布式分析引擎,提供了基於Hadoop的超大型數據集(TB/PB級別)的SQL接口以及多維度的OLAP分布式聯機分析。最初由eBay開發並貢獻至開源社區。它能在亞秒內查詢巨大的Hive表。

4.Zeppelin

Zeppelin是一個提供交互數據分析且基於Web的筆記本。方便你做出可數據驅動的、可交互且可協作的精美文檔,並且支持多種語言,包括 Scala(使用 Apache Spark)、Python(Apache Spark)、SparkSQL、 Hive、 Markdown、Shell等。

5.ElasticSearch

ElasticSearch是一個基於Lucene的搜索伺服器。它提供了一個分布式、支持多用戶的全文搜尋引擎,基於RESTful Web接口。ElasticSearch是用Java開發的,並作為Apache許可條款下的開放源碼發布,是當前流行的企業級搜尋引擎。設計用於雲計算中,能夠達到實時搜索、穩定、可靠、快速、安裝使用方便。

6.Solr

Solr基於Apache Lucene,是一種高度可靠、高度擴展的企業搜索平臺, 是一款非常優秀的全文搜尋引擎。知名用戶包括eHarmony、西爾斯、StubHub、Zappos、百思買、AT&T、Instagram、Netflix、彭博社和Travelocity。大數據開發需了解其基本原理和使用方法。

七、數據管理類工具

1.Azkaban

Azkaban是由linked開源的一個批量工作流任務調度器,它是由三個部分組成:Azkaban Web Server(管理伺服器)、Azkaban Executor Server(執行管理器)和MySQL(關係資料庫),可用於在一個工作流內以一個特定的順序運行一組工作和流程,可以利用Azkaban來完成大數據的任務調度,大數據開發需掌握Azkaban的相關配置及語法規則。

2.Mesos

Mesos 是由加州大學伯克利分校的AMPLab首先開發的一款開源集群管理軟體,支持Hadoop、ElasticSearch、Spark、Storm 和Kafka等架構。對數據中心而言它就像一個單一的資源池,從物理或虛擬機器中抽離了CPU、內存、存儲以及其它計算資源,很容易建立和有效運行具備容錯性和彈性的分布式系統。

3.Sentry

Sentry 是一個開源的實時錯誤報告工具,支持 Web 前後端、移動應用以及遊戲,支持 Python、OC、Java、Go、Node、Django、RoR 等主流程式語言和框架 ,還提供了 GitHub、Slack、Trello 等常見開發工具的集成。使用Sentry對數據安全管理很有幫助。

八、運維監控類工具

Flume是一款高可用、高可靠、分布式的海量日誌採集、聚合和傳輸的系統,Flume支持在日誌系統中定製各類數據發送方,用於收集數據;同時,Flume提供對數據進行簡單處理,並寫到各種數據接受方(可定製)的能力。大數據開發需掌握其安裝、配置以及相關使用方法。

【責任編輯:

華軒

TEL:(010)68476606】

點讚 0

相關焦點

  • 8個用於數據挖掘的優秀開源工具
    8個用於數據挖掘的優秀開源工具 很多的數據科學家和機器學習工程師都有其熟悉的數據挖掘工具,但市場上也不乏許多開源的數據挖掘工具。數據挖掘是從大量數據中提取隱藏的或未知,但可能有用信息的過程。這些數據最終會被加上標籤,用於模型的訓練。很多的數據科學家和機器學習工程師都有其熟悉的數據挖掘工具,但市場上也不乏許多開源的數據挖掘工具。Apache MahoutApache Mahout是流行的分布式線性代數框架。
  • 好用的數據可視化工具都有哪些?
    大數據、數據分析的興起和火爆,也帶動了數據可視化的廣泛應用。說起數據分析和可視化的關係,就好比你為一堆散亂的拼圖寫了一份說明,告訴他這個數據是什麼樣子,代表什麼。可以說,數據可視化雖然不是必不可少的,但卻是可以加快效率,為報告錦上添花的。
  • 開源數據挖掘工具,有這6個就足夠
    數據在當今世界意味著金錢,隨著向基於App的世界的過渡,數據呈指數增長。今天給大家介紹6個開源數據挖掘工具,有需要的朋友可以自取,有更好用的工具也歡迎交流。
  • 5個開源數據挖掘工具,收下這波乾貨!
    數據挖掘是從大量數據中提取隱藏的或未知,但可能有用信息的過程。尤其在機器學習中,數據挖掘是十分重要的一環。今天給大家介紹5個開源數據挖掘工具,收下這波乾貨吧。2、KNIMEKNIME 由Java寫成,它基於Eclipse,是一個開源的、智能的,而且有豐富數據集成,數據處理,數據分析和數據勘探的平臺。它可視化的方式,能夠創建數據流或數據通道,而且可以選擇性地運行分析步驟,並研究結果,模型以及可交互的視圖。
  • 一網打盡13款開源Java大數據工具,從理論到實踐的剖析
    大數據幾乎已成為所有商業領域共有的最新趨勢,然而大數據究竟是什麼?是噱頭、泡沫,又或是真如傳言一樣的重要。事實上,大數據是個非常簡單的術語——就像它所說的一樣,是非常大的數據集。那麼究竟有大多?真實的答案就是「如你所想的那麼大」!那麼為什麼會產生如此之大的數據集?
  • 大數據分析系統Hadoop的13個開源工具分享
    【IT168 資訊】Hadoop是由Apache基金會開發的一個大數據分布式系統基礎架構,最早版本是2003年原Yahoo!DougCutting根據Google發布的學術論文研究而來。  用戶可以在不了解分布式底層細節的情況下,輕鬆地在Hadoop上開發和運行處理海量數據的應用程式。
  • 資源| 橫向對比5大開源語音識別工具包,CMU Sphinx最佳
    目前開源世界裡存在多種不同的語音識別工具包,它們為開發者構建應用提供了很大幫助。這些工具各有哪些優劣?數據科學公司 Silicon Valley Data Science 為我們帶來了 5 種流行工具包的深度橫向對比。
  • KNIME一款強大開源的數據挖掘軟體平臺
    通過數據挖掘可以從大量有序或者雜亂無章的數據中發現潛在的規律,甚至通過訓練學習還能通過已知的數據預測未來的發展變化,今天就給大家推薦一款強大開源的數據挖掘軟體平臺:KNIME數據分析平臺。其提供了自建伺服器版和雲版兩種支持方式,其基本的工作流程如下,先讀取要分析的數據,然後對其中的一些數據進行轉換,然後分析出其中的規律,最後部署到平臺,KNIME數據分析平臺的最新版本是3.5.
  • 12款實用的數據挖掘工具
    免費的數據挖掘工具包括從完整的模型開發環境如Knime和Orange,到各種用Java、c++編寫的庫,最常見的是Python。數據挖掘中通常涉及到四種任務:分類:將熟悉的結構概括為新數據的任務聚類:在數據中以某種方式查找組和結構的任務,而不需要在數據中使用已注意的結構。
  • 百度開源平臺上線,聚合百度開源項目
    百度公司近日上線「百度開源平臺」,該平臺主要用來展示百度的開源項目。 目前該平臺列出了10款百度公司的開源項目,分別有: Terminator:一款伺服器虛擬化解決方案 Itest:面向service接口的自動化測試工具
  • 開源兇猛:塑造網際網路的開源軟體
    對於開源軟體,也許很多人從不同渠道看到過,但是很有可能你並不知道他有多重要。縱觀 IT 行業這二十多年的發展,開源軟體從黑客的理想之國,已經形成了一股推進計算機及相關行業不停進步的巨大力量。開源軟體是信息技術發展引發網絡革命所帶來的面向未來以開放創新、共同創新為特點的、以人為本的創新2.0(面向知識社會的下一代創新)模式在軟體行業的典型體現。」也許你並不知道,開源軟體現在成為整個網際網路時代的支撐技術,你可能已經無法離開由開源軟體構建起來的網絡世界了。下面我們就來看看一些最重要的開源技術。
  • 60款流行網絡工具的開源替代選擇
    開源網絡工具能派得上用處。無論你是在管理大型企業數據中心中成千上萬的系統,還是僅僅把你家裡的幾臺電腦連接起來,開源網絡工具都能幫助你搭建和維護一個低成本的網絡。本文整理出了讓這項任務變得更容易一點的60款開源網絡工具。
  • 2014年20大數據可視化工具及資料
    摘要巴西的新聞網站Visualoop,這是一家匯集來自網際網路的信息圖表和數據為中心的可視化網站,今年,他們繼續評選出這一年最優秀的大數據可視化相關工具。巴西的新聞網站Visualoop,這是一家匯集來自網際網路的信息圖表和數據為中心的可視化網站,今年,他們繼續評選出這一年最優秀的大數據可視化相關工具。
  • 大數據分析一般用什麼工具分析?
    導讀 小編在前段時間分享了很多關於大數據的知識以及大數據的前景等等,今天小編帶大家了解一下,大數據到底是通過哪些工具分析的呢?
  • 騰訊大數據組件TubeMQ正式開源
    PingWest品玩9月17日訊,國際開源頂會ApacheCon 2019在美國舉辦,會上,騰訊開源管理委員會委員、騰訊開源聯盟主席、Apache 軟體基金會Member堵俊平向全球開源生態夥伴介紹了騰訊開源路線圖,宣布騰訊萬億級分布式消息中間件TubeMQ正式對外開源,並計劃捐贈給Apache基金會。
  • 5款移動開發開源工具、框架和庫
    【IT168 評論】程式設計師的工作繁重且苦悶,所以一定要選擇合適的工具、框架和庫,進而加快整個開發速度。無論是剛接觸移動開發的程式設計師,還是自2008年以來一直在開發iOS應用程式的程式設計師,以下五款開源工具、框架和庫,都可以解決常見的問題,加快開發速度。
  • 齊網開源大數據松江園區服務上線
    活動由上海市經濟和信息化委員會、上海市科學技術委員會指導,上海德衡數據科技有限公司、上海開源大數據研究院、上海大數據聯盟和上海超算中心聯合主辦。「我們將一如既往地支持齊網開源大數據園區在松江的發展。」副區長還肯定了齊網開源大數據松江園區的重要示範作用,「齊網開源大數據松江園區的啟動將促進G60科創走廊上的智能製造企業進行數據處理、收集、挖掘和分析,推動我們的大數據產業發展,持續助力長三角地區產業升級,積極促進長三角地區的經濟發展,為提升長三角地區的整體優勢和國際競爭力作出貢獻。」
  • AutoLine開源平臺簡明教程
    AutoLine開源平臺簡明教程AutoLine簡明教程常用cron表達式基本的使用過程AutoLine支持哪些關鍵字Cron表達式說明基本的使用過程AutoLine自動化測試基本過程為:創建產品創建項目
  • 有哪些好用的自媒體運營工具?高手都在用的工具你知道幾個?
    有哪些好用的自媒體運營工具?高手都在用的工具你知道幾個? 其實那些自媒體牛人自所以稱之為牛人,就是他們比我們擅用工具,那麼比較好用的自媒體工具都有哪些?都用什麼用處?今天我們一個個給大家列出來,乾貨質量槓桿的。
  • 值得推薦的數據可視化工具都在這
    1、純可視化圖表生成/圖表插件——適合開發,工程師 ECharts 一個純Javascript的數據可視化庫,百度的產品,常應用於軟體產品開發或網頁的統計圖表模塊。可在Web端高度定製可視化圖表,圖表種類多,動態可視化效,各類圖表各類形式都完全開源免費。