天天看點

大資料開源元件圖譜------非常詳細檔案系統資料存儲資料搜集資料處理查詢引擎分析和報告工具排程與管理服務機器學習開發平台

大資料開源元件圖譜------非常詳細檔案系統資料存儲資料搜集資料處理查詢引擎分析和報告工具排程與管理服務機器學習開發平台

檔案系統

      HDFS Hadoop Distributed File System,簡稱HDFS,是一個分布式檔案系統。HDFS是一個高度容錯性的系統,适合部署在廉價的機器上。HDFS能提供高吞吐量的資料通路,非常适合大規模資料集上的應用。

      GlusterFS 是一個叢集的檔案系統,支援PB級的資料量。GlusterFS 通過RDMA和TCP/IP方式将分布到不同伺服器上的存儲空間彙內建一個大的網絡化并行檔案系統。

      Ceph 是新一代開源分布式檔案系統,主要目标是設計成基于POSIX的沒有單點故障的分布式檔案系統,提高資料的容錯性并實作無縫的複制。

      Lustre 是一個大規模的、安全可靠的、具備高可用性的叢集檔案系統,它是由SUN公司開發和維護的。該項目主要的目的就是開發下一代的叢集檔案系統,目前可以支援超過10000個節點,數以PB的資料存儲量。

      Alluxio 前身是Tachyon,是以記憶體為中心的分布式檔案系統,擁有高性能和容錯能力,能夠為叢集架構(如Spark、MapReduce)提供可靠的記憶體級速度的檔案共享服務。 

      PVFS 是一個高性能、開源的并行檔案系統,主要用于并行計算環境中的應用。PVFS特别為超大數量的用戶端和伺服器端所設計,它的子產品化設計結構可輕松的添加新的硬體和算法支援。

資料存儲

      MongoDB 是一個基于分布式檔案存儲的資料庫。由C++語言編寫。旨在為web應用提供可擴充的高性能資料存儲解決方案。介于關系資料庫和非關系資料庫之間的開源産品,是非關系資料庫當中功能最豐富、最像關系資料庫的産品。

      Redis 是一個高性能的key-value存儲系統,和Memcached類似,它支援存儲的value類型相對更多,包括string(字元串)、list(連結清單)、set(集合)和zset(有序集合)。Redis的出現,很大程度補償了memcached這類key/value存儲的不足,在部分場合可以對關系資料庫起到很好的補充作用。

      HDFS Hadoop分布式檔案系統(HDFS)被設計成适合運作在通用硬體(commodity hardware)上的分布式檔案系統。它和現有的分布式檔案系統有很多共同點。HDFS是一個高度容錯性的系統,适合部署在廉價的機器上。HDFS能提供高吞吐量的資料通路,非常适合大規模資料集上的應用。

      HBASE 是Hadoop的資料庫,一個分布式、可擴充、大資料的存儲。是為有數十億行和數百萬列的超大表設計的,是一種分布式資料庫,可以對大資料進行随機性的實時讀取/寫入通路。提供類似谷歌Bigtable的存儲能力,基于Hadoop和Hadoop分布式檔案系統(HDFS)而建。

      Neo4j 是一個高性能的,NOSQL圖形資料庫,它将結構化資料存儲在網絡上而不是表中。自稱“世界上第一個和最好的圖形資料庫”,“速度最快、擴充性最佳的原生圖形資料庫”,“最大和最有活力的社群”。使用者包括Telenor、Wazoku、ebay、必能寶(Pitney Bowes)、MigRaven、思樂(Schleich)和Glowbl等。 

      Vertica 基于列存儲高性能和高可用性設計的資料庫方案,由于對大規模并行處理(MPP)技術的支援,提供細粒度、可伸縮性和可用性的優勢。每個節點完全獨立運作,完全無共享架構,降低了共享資源的系統競争。

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

      CouchDB 号稱是“一款完全擁抱網際網路的資料庫”,它将資料存儲在JSON文檔中,這種文檔可以通過Web浏覽器來查詢,并且用JavaScript來處理。它易于使用,在分布式上網絡上具有高可用性和高擴充性。

      Dynamo 是一個經典的分布式Key-Value 存儲系統,具備去中心化、高可用性、高擴充性的特點。Dynamo在Amazon中得到了成功的應用,能夠跨資料中心部署于上萬個結點上提供服務,它的設計思想也被後續的許多分布式系統借鑒。

      Amazon SimpleDB 是一個用Erlang編寫的高可用的NoSQL資料存儲,能夠減輕資料庫管理工作,開發人員隻需通過Web服務請求執行資料項的存儲和查詢,Amazon SimpleDB 将負責餘下的工作。作為一項Web 服務,像Amazon的EC2和S3一樣,是Amazon網絡服務的一部分。

      Hypertable 是一個開源、高性能、可伸縮的資料庫,它采用與Google的Bigtable相似的模型。它與Hadoop相容,性能超高,其使用者包括電子港灣、百度、高朋、Yelp及另外許多網際網路公司。

記憶體技術

      Terracotta 聲稱其BigMemory技術是“世界上首屈一指的記憶體中資料管理平台”,支援簡單、可擴充、實時消息,聲稱在190個國家擁有210萬開發人員,全球1000家企業部署了其軟體。

      Ignite 是一種高性能、整合式、分布式的記憶體中平台,可用于對大規模資料集執行實時計算和處理,速度比傳統的基于磁盤的技術或閃存技術高出好幾個數量級。該平台包括資料網格、計算網格、服務網格、流媒體、Hadoop加速、進階叢集、檔案系統、消息傳遞、事件和資料結構等功能。

      GemFire Pivotal宣布它将開放其大資料套件關鍵元件的源代碼,其中包括GemFire記憶體中NoSQL資料庫。它已向Apache軟體基金會遞交了一項提案,以便在“Geode”的名下管理GemFire資料庫的核心引擎。

       GridGain 由Apache Ignite驅動的GridGrain提供記憶體中資料結構,用于迅速處理大資料,還提供基于同一技術的Hadoop加速器。

資料搜集

      Logstash 是一個應用程式日志、事件的傳輸、處理、管理和搜尋的平台。可以用它來統一對應用程式日志進行收集管理,提供了Web接口用于查詢和統計。

      Scribe Scribe是Facebook開源的日志收集系統,它能夠從各種日志源上收集日志,存儲到一個中央存儲系統(可以是NFS,分布式檔案系統等)上,以便于進行集中統計分析處理。

      Flume 是Cloudera提供的一個高可用的、高可靠的、分布式的海量日志采集、聚合和傳輸的系統。Flume支援在日志系統中定制各類資料發送方,用于收集資料。同時,Flume支援對資料進行簡單處理,并寫入各種資料接受方(可定制)。

消息系統

      RabbitMQ 是一個受歡迎的消息代理系統,通常用于應用程式之間或者程式的不同元件之間通過消息來進行內建。RabbitMQ提供可靠的應用消息發送、易于使用、支援所有主流作業系統、支援大量開發者平台。

      ActiveMQ 是Apache出品,号稱“最流行的,最強大”的開源消息內建模式伺服器。ActiveMQ特點是速度快,支援多種跨語言的用戶端和協定,其企業內建模式和許多先進的功能易于使用,是一個完全支援JMS1.1和J2EE 1.4規範的JMS Provider實作。

      Kafka 是一種高吞吐量的分布式釋出訂閱消息系統,它可以處理消費者規模網站中的所有動作流資料,目前已成為大資料系統在異步和分布式消息之間的最佳選擇。

資料處理

      Spark 是一個高速、通用大資料計算處理引擎。擁有Hadoop MapReduce所具有的優點,但不同的是Job的中間輸出結果可以儲存在記憶體中,進而不再需要讀寫HDFS,是以Spark能更好地适用于資料挖掘與機器學習等需要疊代的MapReduce的算法。它可以與Hadoop和Apache Mesos一起使用,也可以獨立使用

      Kinesis 可以建構用于處理或分析流資料的自定義應用程式,來滿足特定需求。Amazon Kinesis Streams 每小時可從數十萬種來源中連續捕獲和存儲數TB資料,如網站點選流、财務交易、社交媒體源、IT日志和定位追蹤事件。

      Hadoop 是一個開源架構,适合運作在通用硬體,支援用簡單程式模型分布式處理跨叢集大資料集,支援從單一伺服器到上千伺服器的水準scale up。Apache的Hadoop項目已幾乎與大資料劃上了等号,它不斷壯大起來,已成為一個完整的生态系統,擁有衆多開源工具面向高度擴充的分布式計算。高效、可靠、可伸縮,能夠為你的資料存儲項目提供所需的YARN、HDFS和基礎架構,并且運作主要的大資料服務和應用程式。

      Spark Streaming 實作微批處理,目标是很友善的建立可擴充、容錯的流應用,支援Java、Scala和Python,和Spark無縫內建。Spark Streaming可以讀取資料HDFS,Flume,Kafka,Twitter和ZeroMQ,也可以讀取自定義資料。

      Trident 是對Storm的更高一層的抽象,除了提供一套簡單易用的流資料處理API之外,它以batch(一組tuples)為機關進行處理,這樣一來,可以使得一些處理更簡單和高效。

      Flink 于今年跻身Apache頂級開源項目,與HDFS完全相容。Flink提供了基于Java和Scala的API,是一個高效、分布式的通用大資料分析引擎。更主要的是,Flink支援增量疊代計算,使得系統可以快速地處理資料密集型、疊代的任務。 

Samza 出自于LinkedIn,建構在Kafka之上的分布式流計算架構,是Apache頂級開源項目。可直接利用Kafka和Hadoop YARN提供容錯、程序隔離以及安全、資源管理。

      Storm Storm是Twitter開源的一個類似于Hadoop的實時資料處理架構。程式設計模型簡單,顯著地降低了實時處理的難度,也是當下最人氣的流計算架構之一。與其他計算架構相比,Storm最大的優點是毫秒級低延時。

      Yahoo S4 (Simple Scalable Streaming System)是一個分布式流計算平台,具備通用、分布式、可擴充的、容錯、可插拔等特點,程式員可以很容易地開發處理連續無邊界資料流(continuous unbounded streams of data)的應用。它的目标是填補複雜專有系統和面向批處理開源産品之間的空白,并提供高性能計算平台來解決并發處理系統的複雜度。

      HaLoop 是一個Hadoop MapReduce架構的修改版本,其目标是為了高效支援 疊代,遞歸資料 分析任務,如PageRank,HITs,K-means,sssp等。

查詢引擎

      Presto 是一個開源的分布式SQL查詢引擎,适用于互動式分析查詢,可對250PB以上的資料進行快速地互動式分析。Presto的設計和編寫是為了解決像Facebook這樣規模的商業資料倉庫的互動式分析和處理速度的問題。Facebook稱Presto的性能比諸如Hive和MapReduce要好上10倍有多。

      Drill 于2012年8月份由Apache推出,讓使用者可以使用基于SQL的查詢,查詢Hadoop、NoSQL資料庫和雲存儲服務。它能夠運作在上千個節點的伺服器叢集上,且能在幾秒内處理PB級或者萬億條的資料記錄。它可用于資料挖掘和即席查詢,支援一系列廣泛的資料庫,包括HBase、MongoDB、MapR-DB、HDFS、MapR-FS、亞馬遜S3、Azure Blob Storage、谷歌雲存儲和Swift。

      Phoenix 是一個Java中間層,可以讓開發者在Apache HBase上執行SQL查詢。Phoenix完全使用Java編寫,并且提供了一個用戶端可嵌入的JDBC驅動。Phoenix查詢引擎會将SQL查詢轉換為一個或多個HBase scan,并編排執行以生成标準的JDBC結果集。

      Pig 是一種程式設計語言,它簡化了Hadoop常見的工作任務。Pig可加載資料、轉換資料以及存儲最終結果。Pig最大的作用就是為MapReduce架構實作了一套shell腳本 ,類似我們通常熟悉的SQL語句。

      Hive 是基于Hadoop的一個資料倉庫工具,可以将結構化的資料檔案映射為一張資料庫表,并提供簡單的sql查詢功能,可以将sql語句轉換為MapReduce任務進行運作。 其優點是學習成本低,可以通過類SQL語句快速實作簡單的MapReduce統計,不必開發專門的MapReduce應用,十分适合資料倉庫的統計分析。

      SparkSQL 的前身是Shark,SparkSQL抛棄原有Shark的代碼并汲取了一些優點,如記憶體列存儲(In-Memory Columnar Storage)、Hive相容性等。由于擺脫了對Hive的依賴性,SparkSQL無論在資料相容、性能優化、元件擴充方面都得到了極大的友善。

      Stinger 原來叫Tez,是下一代Hive,由Hortonworks主導開發,運作在YARN上的DAG計算架構。某些測試下,Stinger能提升10倍左右的性能,同時會讓Hive支援更多的SQL。

      Tajo 目的是在HDFS之上建構一個可靠的、支援關系型資料的分布式資料倉庫系統,它的重點是提供低延遲、可擴充的ad-hoc查詢和線上資料聚集,以及為更傳統的ETL提供工具。

      Impala Cloudera聲稱,基于SQL的Impala資料庫是“面向Apache Hadoop的領先的開源分析資料庫”。它可以作為一款獨立産品來下載下傳,又是Cloudera的商業大資料産品的一部分。Cloudera Impala 可以直接為存儲在HDFS或HBase中的Hadoop資料提供快速、互動式的SQL查詢。

      Elasticsearch 是一個基于Lucene的搜尋伺服器。它提供了一個分布式、支援多使用者的全文搜尋引擎,基于RESTful web接口。Elasticsearch是用Java開發的,并作為Apache許可條款下的開放源碼釋出,是目前流行的企業級搜尋引擎。設計用于雲計算中,能夠達到實時搜尋、穩定、可靠、快速、安裝使用友善。

      Solr 基于Apache Lucene,是一種高度可靠、高度擴充的企業搜尋平台。知名使用者包括eHarmony、西爾斯、StubHub、Zappos、百思買、AT&T、Instagram、Netflix、彭博社和Travelocity。

      Shark 即Hive on Spark,本質上是通過Hive的HQL解析,把HQL翻譯成Spark上的RDD操作,然後通過Hive的metadata擷取資料庫裡的表資訊,實際HDFS上的資料和檔案,會由Shark擷取并放到Spark上運算。Shark的特點就是快,完全相容Hive,且可以在shell模式下使用rdd2sql()這樣的API,把HQL得到的結果集,繼續在scala環境下運算,支援自己編寫簡單的機器學習或簡單分析處理函數,對HQL結果進一步分析計算。

      Lucene 基于Java的Lucene可以非常迅速地執行全文搜尋。據官方網站聲稱,它在現代硬體上每小時能夠檢索超過150GB的資料,它擁有強大而高效的搜尋算法。

分析和報告工具

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

      Kylin 是一個開源的分布式分析引擎,提供了基于Hadoop的超大型資料集(TB/PB級别)的SQL接口以及多元度的OLAP分布式聯機分析。最初由eBay開發并貢獻至開源社群。它能在亞秒内查詢巨大的Hive表。

      Kibana 是一個使用Apache 開源協定的Elasticsearch 分析和搜尋儀表闆,可作為Logstash和ElasticSearch日志分析的 Web 接口,對日志進行高效的搜尋、可視化、分析等各種操作。

      Druid 是一個用于大資料實時查詢和分析的高容錯、高性能、分布式的開源系統,旨在快速處理大規模的資料,并能夠實作快速查詢和分析。

      KNIME 的全稱是“康斯坦茨資訊挖掘工具”(Konstanz Information Miner),是一個開源分析和報表平台。宣稱“是任何資料科學家完美的工具箱,超過1000個子產品,可運作數百個執行個體,全面的內建工具,以及先進的算法”。

      Zeppelin 是一個提供互動資料分析且基于Web的筆記本。友善你做出可資料驅動的、可互動且可協作的精美文檔,并且支援多種語言,包括 Scala(使用 Apache Spark)、Python(Apache Spark)、SparkSQL、 Hive、 Markdown、Shell等。

      Talend Open Studio 是第一家針對的資料內建工具市場的ETL(資料的提取Extract、傳輸Transform、載入Load)開源軟體供應商。Talend的下載下傳量已超過200萬人次,其開源軟體提供了資料整合功能。其使用者包括美國國際集團(AIG)、康卡斯特、電子港灣、通用電氣、三星、Ticketmaster和韋裡遜等企業組織。

      Splunk 是機器資料的引擎。使用 Splunk 可收集、索引和利用所有應用程式、伺服器和裝置(實體、虛拟和雲中)生成的快速移動型計算機資料,從一個位置搜尋并分析所有實時和曆史資料。

      Pentaho 是世界上最流行的開源商務智能軟體,以工作流為核心的、強調面向解決方案而非工具元件的、基于java平台的商業智能(Business Intelligence)套件。包括一個web server平台和幾個工具軟體:報表、分析、圖表、資料內建、資料挖掘等,可以說包括了商務智能的方方面面。

      Jaspersoft 提供了靈活、可嵌入的商業智能工具,使用者包括衆多企業組織:高朋、冠群科技、美國農業部、愛立信、時代華納有線電視、奧林匹克鋼鐵、内斯拉斯加大學和通用動力公司。

      SpagoBI Spago被市場分析師們稱為“開源領袖”,它提供商業智能、中間件和品質保證軟體,另外還提供相應的Java EE應用程式開發架構。

排程與管理服務

      Azkaban 是一款基于Java編寫的任務排程系統任務排程,來自LinkedIn公司,用于管理他們的Hadoop批處理工作流。Azkaban根據工作的依賴性進行排序,提供友好的Web使用者界面來維護和跟蹤使用者的工作流程。

      YARN 是一種新的Hadoop資料總管,它是一個通用資源管理系統,可為上層應用提供統一的資源管理和排程,解決了舊MapReduce架構的性能瓶頸。它的基本思想是把資源管理和作業排程/監控的功能分割到單獨的守護程序。

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

      Ambari 作為Hadoop生态系統的一部分,提供了基于Web的直覺界面,可用于配置、管理和監控Hadoop叢集。目前已支援大多數Hadoop元件,包括HDFS、MapReduce、Hive、Pig、 Hbase、Zookeper、Sqoop和Hcatalog等。

      ZooKeeper 是一個分布式的應用程式協調服務,是Hadoop和Hbase的重要元件。它是一個為分布式應用提供一緻性服務的工具,讓Hadoop叢集裡面的節點可以彼此協調。ZooKeeper現在已經成為了 Apache的頂級項目,為分布式系統提供了高效可靠且易于使用的協同服務。

      Thrift 在2007年facebook送出Apache基金會将Thrift作為一個開源項目,對于當時的facebook來說創造thrift是為了解決facebook系統中各系統間大資料量的傳輸通信以及系統之間語言環境不同需要跨平台的特性。

      Chukwa 是監測大型分布式系統的一個開源資料采集系統,建立在HDFS/MapReduce架構之上并繼承了Hadoop的可伸縮性和可靠性,可以收集來自大型分布式系統的資料,用于監控。它還包括靈活而強大的顯示工具用于監控、分析結果。

機器學習

      Tensorflow是Google開源的一款深度學習工具,使用C++語言開發,上層提供Python API。在開源之後,在工業界和學術界引起了極大的震動,因為TensorFlow曾經是著名的Google Brain計劃中的一部分,Google Brain項目的成功曾經吸引了衆多科學家和研究人員往深度學習這個“坑”裡面跳,這也是當今深度學習如此繁榮的重要原因。

      Theano是老牌、穩定的庫之一。它是深度學習開源工具的鼻祖,由蒙特利爾理工學院時間開發于2008年并将其開源,架構使用Python語言開發。它是深度學習庫的發轫,許多在學術界和工業界有影響力的深度學習架構都建構在Theano之上,并逐漸形成了自身的生态系統,這其中就包含了著名的Keras、Lasagne和Blocks。Theano是底層庫,遵循Tensorflow風格。是以不适合深度學習,而更合适數值計算優化。它支援自動函數梯度計算,它有 Python接口 ,內建了Numpy,使得這個庫從一開始就成為通用深度學習最常用的庫之一。

      Keras是一個非常高層的庫,工作在Theano或Tensorflow(可配置)之上。此外,Keras強調極簡主義,你可以用寥寥可數的幾行代碼來建構神經網絡。在 這裡 ,您可以看到一個Keras代碼示例,與在Tensorflow中實作相同功能所需的代碼相比較。

      DSSTNE(Deep Scalable Sparse Tensor Network Engine,DSSTNE)是Amazon開源的一個非常酷的架構,由C++語言實作。但它經常被忽視。為什麼?因為,撇開其他因素不談,它并不是為一般用途設計的。DSSTNE隻做一件事,但它做得很好:推薦系統。正如它的官網所言,它不是作為研究用途,也不是用于測試想法,而是為了用于生産的架構。

      Lasagne是一個工作在Theano之上的庫。它的任務是将深度學習算法的複雜計算予以簡單地抽象化,并提供一個更友好的 Python 接口。這是一個老牌的庫,長久以來,它是一個具備高擴充性的工具。在Ricardo看來,它的發展速度跟不上Keras。它們适用的領域相同,但是,Keras有更好的、更完善的文檔。

      Torch是Facebook和Twitter主推的一個特别知名的深度學習架構,Facebook Reseach和DeepMind所使用的架構,正是Torch(DeepMind被Google收購之後才轉向TensorFlow)。出于性能的考慮, 它使用了一種比較小衆的程式設計語言Lua ,目前在音頻、圖像及視訊處理方面有着大量的應用。在目前深度學習大部分以Python為程式設計語言的大環境之下,一個以Lua為程式設計語言的架構隻有更多的劣勢,而不是優勢。Ricardo沒有Lua的使用經驗,他表示,如果他要用Torch的話,就必須先學習Lua語言才能使用Torch。就他個人來說,更傾向于熟悉的Python、Matlab或者C++來實作。

      mxnet是支援大多數程式設計語言的庫之一,它支援Python、R、C++、Julia等程式設計語言。Ricardo覺得使用R語言的人們會特别喜歡mxnet,因為直到現在,在深度學習的程式設計語言領域中,Python是衛冕之王。

      Ricardo以前并沒有過多關注mxnet,直到Amazon AWS宣布将mxnet作為其 深度學習AMI 中的 參考庫 時,提到了它巨大的水準擴充能力,他才開始關注。

      Ricardo表示他對多GPU的擴充能力有點懷疑,但仍然很願意去了解實驗更多的細節。但目前還是對mxnet的能力抱有懷疑的态度。

      DL4J,全名是Deep Learning for Java。正如其名,它支援Java。Ricardo說,他之是以能接觸到這個庫,是因為它的文檔。當時,他在尋找 限制波爾茲曼機(Restricted Boltzman Machines) 、 自編碼器(Autoencoders) ,在DL4J找到這兩個文檔,文檔寫得很清楚,有理論,也有代碼示例。Ricardo表示D4LJ的文檔真的是一個藝術品,其他庫的文檔應該向它學習。

      DL4J背後的公司Skymind意識到,雖然在深度學習世界中,Python是王,但大部分程式員都是Java起步的,是以,DL4J相容JVM,也适用于Java、Clojure和Scala。 随着Scala的潮起潮落,它也被很多 有前途的初創公司 使用。

      Cognitive Toolkit,就是之前被大家所熟知的縮略名CNTK,但最近剛更改為現在這個名字,可能利用Microsoft認知服務(Microsoft Cognitive services)的影響力。在釋出的基準測試中,它似乎是非常強大的工具,支援垂直和水準推移。

      到目前為止,認知工具包似乎不太流行。關于這個庫,還沒有看到有很多相關的部落格、網絡示例,或者在Kaggle裡的相關評論。Ricardo表示這看起來有點奇怪,因為這是一個背靠微軟研究的架構,特别強調自己的推移能力。而且這個研究團隊在語音識别上打破了世界紀錄并逼近了人類水準。

      你可以在他們的項目Wiki中的示例,了解到認知工具包在Python的文法和Keras非常相似。

      Caffe是最老的架構之一,比老牌還要老牌。 Caffe 是加州大學伯克利分校視覺與學習中心(Berkeley Vision and Learning Center ,BVLC)貢獻出來的一套深度學習工具,使用C/C++開發,上層提供Python API。Caffe同樣也在走分布式路線,例如著名的Caffe On Spark項目。 

      Hivemall 結合了面向Hive的多種機器學習算法,它包括了很多擴充性很好的算法,可用于資料分類、遞歸、推薦、k最近鄰、異常檢測和特征哈希等方面的分析應用。 

RapidMiner 具有豐富資料挖掘分析和算法功能,常用于解決各種的商業關鍵問題,解決方案覆寫了各個領域,包括汽車、銀行、保險、生命科學、制造業、石油和天然氣、零售業及快消行業、通訊業、以及公用事業等各個行業。 

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

開發平台

      Lumify 歸Altamira科技公司(以國家安全技術而聞名)所有,這是一種開源大資料整合、分析和可視化平台。 

      Lingual 是Cascading的進階擴充,為Hadoop提供了一個ANSI SQL接口極大地簡化了應用程式的開發和內建。Lingual實作了連接配接現有的商業智能(BI)工具,優化了計算成本,加快了基于Hadoop的應用開發速度。 

      Beam 基于Java提供了統一的資料程序管道開發,并且能夠很好地支援Spark和Flink。提供很多線上架構,開發者無需學太多架構。 

      Cascading 是一個基于Hadoop建立的API,用來建立複雜和容錯資料處理工作流。它抽象了叢集拓撲結構和配置,使得不用考慮背後的MapReduce,就能快速開發複雜的分布式應用。 

      HPCC 作為Hadoop之外的一種選擇,是一個利用叢集伺服器進行大資料分析的系統,HPCC在LexisNexis内部使用多年,是一個成熟可靠的系統,包含一系列的工具、一個稱為ECL的進階程式設計語言、以及相關的資料倉庫,擴充性超強。

繼續閱讀