大数据组件-学习知识图谱

- 2020-05-09 23:33 -

  SparkSQL的前身是Shark,SparkSQL丢弃原有Shark的代码并罗致了一些长处,如内存列存储(In-Memory Columnar Storage)、Hive兼容性等。因为脱节了对Hive的依赖性,SparkSQL无论在数据兼容、机能优化、组件扩展方面都获得了极大的便利。

  CouchDB号称是“一款彻底拥抱互联网的数据库”,它将数据存储在JSON文档中,这种文档能够通过Web浏览器来查询,而且用JavaScript来处置。它易于利用,在漫衍式上收集上拥有高可用性和高扩展性。

  Vertica基于列存储高机能和高可用性设想的数据库方案,因为对大规模并行处置(MPP)手艺的支撑,供给细粒度、可伸缩性和可用性的劣势。每个节点彻底独立运作,彻底无共享架构,低落了共享资本的体系合作。

  Cognitive Toolkit,就是之前被大师所熟知的缩略名CNTK,但比来刚更改为此刻这个名字,可能操纵Microsoft认知办事(Microsoft Cognitive services)的影响力。在公布的基准测试中,它彷佛长短常壮大的东西,支撑垂直和程度推移。

  Lucene基于Java的Lucene能够很是敏捷地施行全文搜刮。据官方网站声称,它在当代硬件上每小时可以大概检索跨越150GB的数据,它具有壮大而高效的搜刮算法。

  Jaspersoft供给了矫捷、可嵌入的贸易智能东西,用户包罗浩繁企业组织:贵宾、冠群科技、美国农业部、爱立信、时代华纳有线电视、奥林匹克钢铁、内斯拉斯加大学和通用动力公司。

  Cascading是一个基于Hadoop成立的API,用来建立庞大和容错数据处置事情流。它笼统了集群拓扑布局和设置装备安排,使得不消思量背后的MapReduce,就能倏地开辟庞大的漫衍式使用。

  ActiveMQ是Apache出品,号称“最风行的,最壮大”的开源动静集成模式办事器。ActiveMQ特点是速率快,支撑多种跨言语的客户端和和谈,其企业集成模式和很多先辈的功效易于利用,是一个彻底支撑JMS1.1和J2EE 1.4规范的JMS Provider实现。

  Mesos是由加州大学伯克利分校的AMPLab起首开辟的一款开源群集办理软件,支撑Hadoop、ElasticSearch、Spark、Storm 和Kafka等架构。对数据核心而言它就像一个单一的资本池,从物理或虚拟机械中抽离了CPU,内存,存储以及其它计较资本, 很容易成立和无效运转具备容错性和弹性的漫衍式体系。

  PVFS是一个高机能、开源的并行文件体系,次要用于并行计较情况中的使用。PVFS出格为超大数量的客户端和办事器端所设想,它的模块化设想布局可轻松的增添新的硬件和算法支撑。

  Mahout目标是“为倏地建立可扩展、高机能的机械进修使用法式而制造一个情况”,次要特点是为可伸缩的算法供给可扩展情况、面向Scala/Spark/H2O/Flink的新鲜算法、Samsara(雷同R的矢量数学情况),它还包罗了用于在MapReduce长进行数据发掘的浩繁算法。

  Presto是一个开源的漫衍式SQL查询引擎,合用于交互式阐发查询,可对250PB以上的数据进行倏地地交互式阐发。Presto的设想和编写是为领会决像Facebook如许规模的贸易数据堆栈的交互式阐发和处置速率的问题。Facebook称Presto的机能比诸如Hive和MapReduce要好上10倍有多。

  mxnet是支撑大大都编程言语的库之一,它支撑Python、R、C++、Julia等编程言语。Ricardo感觉利用R言语的人们会出格喜好mxnet,由于直到此刻,在深度进修的编程言语范畴中,Python是卫冕之王。

  Lasagne是一个事情在Theano之上的库。它的使命是将深度进修算法的庞大计较予以简略地笼统化,并供给一个更敌对的 Python 接口。这是一个老牌的库,悠久以来,它是一个具备高扩展性的东西。在Ricardo看来,它的成长速率跟不上Keras。它们合用的范畴不异,可是,Keras有更好的、更完美的文档。

  Ceph是新一代开源漫衍式文件体系,次要方针是设想成基于POSIX的没有单点毛病的漫衍式文件体系,提高数据的容错性并实现无缝的复制。

  Stinger本来叫Tez,是下一代Hive,由Hortonworks主导开辟,运转在YARN上的DAG计较框架。某些测试下,Stinger能提拔10倍摆布的机能,同时会让Hive支撑更多的SQL。

  DL4J,全名是Deep Learning for Java。正如其名,它支撑Java。Ricardo说,他之所以能接触到这个库,是由于它的文档。其时,他在寻找 制约波尔兹曼机(Restricted Boltzman Machines) 、 自编码器(Autoencoders) ,在DL4J找到这两个文档,文档写得很清晰,有理论,也有代码示例。Ricardo暗示D4LJ的文档真的是一个艺术品,其他库的文档该当向它进修。

  Splunk是机械数据的引擎。利用 Splunk 可网络、索引和操纵所有使用法式、办事器和设施(物理、虚拟和云中)天生的倏地挪动型计较机数据,从一个位置搜刮并阐发所有及时和汗青数据。

  DSSTNE(Deep Scalable Sparse Tensor Network Engine,DSSTNE)是Amazon开源的一个很是酷的框架,由C++言语实现。但它经常被轻忽。为什么?由于,撇开其他要素不谈,它并不是为正常用处设想的。DSSTNE只做一件事,但它做得很好:保举体系。正如它的官网所言,它不是作为钻研用处,也不是用于测试设法,而是为了用于出产的框架。

  DL4J背后的公司Skymind认识到,尽管在深度进修世界中,Python是王,但大部门法式员都是Java起步的,因而,DL4J兼容JVM,也合用于Java、Clojure和Scala。 跟着Scala的潮起潮落,它也被良多 有前途的草创公司 利用。

  Flink于本年跻身Apache顶级开源项目,与HDFS彻底兼容。Flink供给了基于Java和Scala的API,是一个高效、漫衍式的通用大数据阐发引擎。更头要的是,Flink支撑增量迭代计较,使得体系能够倏地地处置数据稠密型、迭代的使命。

  Yahoo S4(Simple Scalable Streaming System)是一个漫衍式流计较平台,具备通用、漫衍式、可扩展的、容错、可插拔等特点,法式员能够很容易地开辟处置持续无鸿沟数据流(continuous unbounded streams of data)的使用。它的方针是弥补庞大专有体系和面向批处置开源产物之间的空缺,并供给高机能计较平台来处理并发处置体系的庞大度。

  Theano是老牌、不变的库之一。它是深度进修开源东西的开山祖师,由蒙特利尔理工学院时间开辟于2008年并将其开源,框架利用Python言语开辟。它是深度进修库的发端,很多在学术界和工业界有影响力的深度进修框架都建立在Theano之上,并逐渐构成了本身的生态体系,这此中就蕴含了出名的Keras、Lasagne和Blocks。Theano是底层库,遵照Tensorflow气概。因而不适合深度进修,而更符合数值计较优化。它支撑主动函数梯度计较,它有 Python接口 ,集成了Numpy,使得这个库从一起头就成为通用深度进修最常用的库之一。

  Lumify归Altamira科技公司(以国度平安手艺而闻名)所有,这是一种开源大数据整合、阐发和可视化平台。

  Tajo目标是在HDFS之上建立一个靠得住的、支撑关系型数据的漫衍式数据堆栈体系,它的重点是供给低延迟、可扩展的ad-hoc查询和在线数据堆积,以及为更保守的ETL供给东西。

  KNIME的全称是“康斯坦茨消息发掘东西”(Konstanz Information Miner),是一个开源阐发和报表平台。传播鼓吹“是任何数据科学家完满的东西箱,跨越1000个模块,可运转数百个实例,片面的集成东西,以及先辈的算法”。

  MongoDB是一个基于漫衍式文件存储的数据库。由C++言语编写。旨在为web使用供给可扩展的高机能数据存储处理方案。介于关系数据库和非关系数据库之间的开源产物,长短关系数据库傍边功效最丰硕、最像关系数据库的产物。

  Druid是一个用于大数据及时查询和阐发的高容错、高机能、漫衍式的开源体系,旨在倏地处置大规模的数据,并可以大概实现倏地查询和阐发。

  Chukwa是监测大型漫衍式体系的一个开源数据收罗体系,成立在HDFS/MapReduce框架之上并承继了Hadoop的可伸缩性和靠得住性,能够网络来自卑型漫衍式体系的数据,用于监控。它还包罗矫捷而壮大的显示东西用于监控、阐发成果。

  Phoenix是一个Java两头层,能够闪开辟者在Apache HBase上施行SQL查询。Phoenix彻底利用Java编写,而且供给了一个客户端可嵌入的JDBC驱动。Phoenix查询引擎会将SQL查询转换为一个或多个HBase scan,并编排施行以天生尺度的JDBC成果集。

  Drill于2012年8月份由Apache推出,让用户能够利用基于SQL的查询,查询Hadoop、NoSQL数据库和云存储办事。它可以大概运转在上千个节点的办事器集群上,且能在几秒内处置PB级或者万亿条的数据记实。它可用于数据发掘和即席查询,支撑一系列普遍的数据库,包罗HBase、MongoDB、MapR-DB、HDFS、MapR-FS、亚马逊S3、Azure Blob Storage、谷歌云存储和Swift。

  Neo4j是一个高机能的,NOSQL图形数据库,它将布局化数据存储在收集上而不是表中。自称“世界上第一个和最好的图形数据库”,“速率最快、扩展性最佳的原生图形数据库”,“最大和最有活力的社区”。用户包罗Telenor、Wazoku、ebay、必能宝(Pitney Bowes)、MigRaven、思乐(Schleich)和Glowbl等。

  ZooKeeper是一个漫衍式的使用法式和谐办事,是Hadoop和Hbase的主要组件。它是一个为漫衍式使用供给分歧性办事的东西,让Hadoop集群内里的节点能够相互和谐。ZooKeeper此刻曾经成为了 Apache的顶级项目,为漫衍式体系供给了高效靠得住且易于利用的协同办事。

  Ricardo暗示他对多GPU的扩展威力有点思疑,但依然很情愿去领会尝试更多的细节。但目前仍是对mxnet的威力抱有思疑的立场。

  Kettle这是一个ETL东西集,它答应你办理来自分歧数据库的数据,通过供给一个图形化的用户情况来形容你想做什么,而不是你想怎样做。作为Pentaho的一个主要构成部门,此刻在国内项目使用上逐步增加。

  SpagoBISpago被市场阐发师们称为“开源魁首”,它供给贸易智能、两头件和品质包管软件,别的还供给响应的Java EE使用法式开辟框架。

  Kylin是一个开源的漫衍式阐发引擎,供给了基于Hadoop的超大型数据集(TB/PB级别)的SQL接口以及多维度的OLAP漫衍式联机阐发。最后由eBay开辟并孝敬至开源社区。它能在亚秒内查询庞大的Hive表。

  Dynamo是一个典范的漫衍式Key-Value 存储体系,具备去核心化、高可用性、高扩展性的特点。Dynamo在Amazon中获得了顺利的使用,可以大概跨数据核心摆设于上万个结点上供给办事,它的设想思惟也被后续的很多漫衍式体系自创。

  RabbitMQ是一个受接待的动静代办署理体系,凡是用于使用法式之间或者法式的分歧组件之间通过动静来进行集成。RabbitMQ供给靠得住的使用动静发送、易于利用、支撑所有支流操作体系、支撑大量开辟者平台。

  Azkaban是一款基于Java编写的使命安排体系使命安排,来自LinkedIn公司,用于办理他们的Hadoop批处置事情流。Azkaban按照事情的依赖性进行排序,供给敌对的Web用户界面来维护和跟踪用户的事情流程。

  Keras是一个很是高层的库,事情在Theano或Tensorflow(可设置装备安排)之上。别的,Keras夸大极简主义,你能够用寥寥可数的几行代码来建立神经收集。在 这里 ,您能够看到一个Keras代码示例,与在Tensorflow中实现不异功效所需的代码比拟较。

  Pentaho是世界上最风行的开源商务智能软件,以事情流为焦点的、夸大面向处理方案而非东西组件的、基于java平台的贸易智能(Business Intelligence)套件。包罗一个web server平台和几个东西软件:报表、阐发、图表、数据集成、数据发掘等,能够说包罗了商务智能的方方面面。

  你能够在他们的项目Wiki中的示例,领会到认知东西包在Python的语法和Keras很是类似。

  ImpalaCloudera声称,基于SQL的Impala数据库是“面向Apache Hadoop的领先的开源阐发数据库”。它能够作为一款独立产物来下载,又是Cloudera的贸易大数据产物的一部门。Cloudera Impala 能够间接为存储在HDFS或HBase中的Hadoop数据供给倏地、交互式的SQL查询。

  Elasticsearch是一个基于Lucene的搜刮办事器。它供给了一个漫衍式、支撑多用户的全文搜刮引擎,基于RESTful web接口。Elasticsearch是用Java开辟的,并作为Apache许可条面前目今的开放源码公布,是以后风行的企业级搜刮引擎。设想用于云计较中,可以大概到达及时搜刮、不变、靠得住、倏地、装置利用便利。

  Hive是基于Hadoop的一个数据堆栈东西,能够将布局化的数据文件映照为一张数据库表,并供给简略的sql查询功效,能够将sql语句转换为MapReduce使命进交运转。 其长处是进修本钱低,能够通过类SQL语句倏地实现简略的MapReduce统计,不必开辟特地的MapReduce使用,十分适合数据堆栈的统计阐发。

  Shark即Hive on Spark,素质上是通过Hive的HQL解析,把HQL翻译成Spark上的RDD操作,然后通过Hive的metadata获取数据库里的表消息,现实HDFS上的数据和文件,会由Shark获取并放到Spark上运算。Shark的特点就是快,彻底兼容Hive,且能够在shell模式下利用rdd2sql()如许的API,把HQL获得的成果集,继续在scala情况下运算,支撑本人编写简略的机械进修或简略阐发处置函数,对HQL成果进一步阐发计较。

  Talend Open Studio是第一家针对的数据集成东西市场的ETL(数据的提取Extract、传输Transform、载入Load)开源软件供应商。Talend的下载量已跨越200万人次,其开源软件供给了数据整合功效。其用户包罗美国国际集团(AIG)、康卡斯特、电子港湾、通用电气、三星、Ticketmaster和韦里逊等企业组织。

  HBASE是Hadoop的数据库,一个漫衍式、可扩展、大数据的存储。是为无数十亿行和数百万列的超大表设想的,是一种漫衍式数据库,能够对大数据进行随机性的及时读取/写入拜候。供给雷同谷歌Bigtable的存储威力,基于Hadoop和Hadoop漫衍式文件体系(HDFS)而建。

  Logstash是一个使用法式日记、事务的传输、处置、办理和搜刮的平台。能够用它来同一对使用法式日记进行网络办理,供给了Web接口用于查询和统计。

  Hypertable是一个开源、高机能、可伸缩的数据库,它采用与Google的Bigtable类似的模子。它与Hadoop兼容,机能超高,其用户包罗电子港湾、百度、贵宾、Yelp及别的很多互联网公司。

  Thrift在2007年facebook提交Apache基金会将Thrift作为一个开源项目,对付其时的facebook来说缔造thrift是为领会决facebook体系中各体系间大数据量的传输通讯以及体系之间言语情况分歧必要跨平台的特征。

  Lustre是一个大规模的、平安靠得住的、具备高可用性的集群文件体系,它是由SUN公司开辟和维护的。该项目录要的目标就是开辟下一代的集群文件体系,目前能够支撑跨越10000个节点,数以PB的数据存储量。

  YARN是一种新的Hadoop资本办理器,它是一个通用资本办理体系,可为上层使用供给同一的资本办理和安排,处理了旧MapReduce框架的机能瓶颈。它的根基思惟是把资本办理和功课安排/监控的功效朋分到零丁的守护历程。

  Tensorflow是Google开源的一款深度进修东西,利用C++言语开辟,上层供给Python API。在开源之后,在工业界和学术界惹起了极大的震撼,由于TensorFlow已经是出名的Google Brain打算中的一部门,Google Brain项目标顺利已经吸引了浩繁科学家和钻研职员往深度进修这个“坑”内里跳,这也是当今深度进修如斯繁荣的主要缘由。

  GemFire Pivotal颁布颁发它将开放其大数据套件环节组件的源代码,此中包罗GemFire内存中NoSQL数据库。它已向Apache软件基金会递交了一项提案,以便在“Geode”的名下办理GemFire数据库的焦点引擎。

  Hivemall连系了面向Hive的多种机械进修算法,它包罗了良多扩展性很好的算法,可用于数据分类、递归、保举、k比来邻、非常检测和特性哈希等方面的阐发使用。

  StormStorm是Twitter开源的一个雷同于Hadoop的及时数据处置框架。编程模子简略,显著地低落了及时处置的难度,也是当下最人气的流计较框架之一。与其他计较框架比拟,Storm最大的长处是毫秒级低延时。

  HPCC作为Hadoop之外的一种取舍,是一个操纵集群办事器进行大数据阐发的体系,HPCC在LexisNexis内部利用多年,是一个成熟靠得住的体系,蕴含一系列的东西、一个称为ECL的高级编程言语、以及有关的数据堆栈,扩展性超强。

  Hadoop是一个开源框架,适合运转在通用硬件,支撑用简略法式模子漫衍式处置跨集群大数据集,支撑从单一办事器到上千办事器的程度scale up。Apache的Hadoop项目已险些与大数据划上了等号,它不竭强大起来,已成为一个完备的生态体系,具有浩繁开源东西面向高度扩展的漫衍式计较。高效、靠得住、可伸缩,可以大概为你的数据存储项目供给所需的YARN、HDFS和根本架构,而且运转次要的大数据办事和使用法式。

  Flume是Cloudera供给的一个高可用的、高靠得住的、漫衍式的海量日记收罗、聚合和传输的体系。Flume支撑在日记体系中定制各种数据发送方,用于网络数据。同时,Flume支撑对数据进行简略处置,并写入各类数据接管方(可定制)。

  Lingual是Cascading的高级扩展,为Hadoop供给了一个ANSI SQL接口极大地简化了使用法式的开辟和集成。Lingual实现了毗连现有的贸易智能(BI)东西,优化了计较本钱,加速了基于Hadoop的使用开辟速率。

  Samza 出自于LinkedIn,建立在Kafka之上的漫衍式流计较框架,是Apache顶级开源项目。可间接操纵Kafka和Hadoop YARN供给容错、历程断绝以及平安、资本办理。

  Ignite是一种高机能、整合式、漫衍式的内存中平台,可用于对大规模数据集施行及时计较和处置,速率比保守的基于磁盘的手艺或闪存手艺超出逾越好几个数量级。该平台包罗数据网格、计较网格、办事网格、流媒体、Hadoop加快、高级集群、文件体系、动静传送、事务和数据布局等功效。

  HDFSHadoop Distributed File System,简称HDFS,是一个漫衍式文件体系。HDFS是一个高度容错性的体系,适合摆设在重价的机械上。HDFS能供给高吞吐量的数据拜候,很是适合大规模数据集上的使用。

  Beam基于Java供给了同一的数据历程管道开辟,而且可以大概很好地支撑Spark和Flink。供给良多在线框架,开辟者无需学太多框架。

  RapidMiner 拥有丰硕数据发掘阐发和算法功效,常用于处理各类的贸易环节问题,处理方案笼盖了各个范畴,包罗汽车、银行、安全、生命科学、制作业、石油和自然气、零售业及快消行业、通信业、以及专用事业等各个行业。

  ScribeScribe是Facebook开源的日记网络体系,它可以大概从各类日记源上彀络日记,存储到一个地方存储体系(能够是NFS,漫衍式文件体系等)上,以便于进行集中统计阐发处置。

  Amazon SimpleDB是一个用Erlang编写的高可用的NoSQL数据存储,可以大概减轻数据库办理事情,开辟职员只要通过Web办事请求施行数据项的存储和查询,Amazon SimpleDB 将担任余下的事情。作为一项Web 办事,像Amazon的EC2和S3一样,是Amazon收集办事的一部门。

  Ricardo以前并没有过多关心mxnet,直到Amazon AWS颁布颁发将mxnet作为其 深度进修AMI 中的 参考库 时,提到了它庞大的程度扩展威力,他才起头关心。

  Kafka是一种高吞吐量的漫衍式公布订阅动静体系,它能够处置消费者规模网站中的所有动作流数据,目前已成为大数据体系在异步和漫衍式动静之间的最佳取舍。

  Trident是对Storm的更高一层的笼统,除了供给一套简略易用的流数据处置API之外,它以batch(一组tuples)为单元进行处置,如许一来,能够使得一些处置更简略和高效。

  Kibana是一个利用Apache 开源和谈的Elasticsearch 阐发和搜刮仪表板,可作为Logstash和ElasticSearch日记阐发的 Web 接口,对日记进行高效的搜刮、可视化、阐发等各类操作。

  Terracotta声称其BigMemory手艺是“世界上首屈一指的内存中数据办理平台”,支撑简略、可扩展、及时动静,声称在190个国度具有210万开辟职员,环球1000家企业摆设了其软件。

  Kinesis能够建立用于处置或阐发流数据的自界说使用法式,来餍足特定需求。Amazon Kinesis Streams 每小时可从数十万种来历中持续捕捉和存储数TB数据,如网站点击流、财政买卖、社交媒体源、IT日记和定位追踪事务。

  Pig是一种编程言语,它简化了Hadoop常见的事情使命。Pig可加载数据、转换数据以及存储最终成果。Pig最大的感化就是为MapReduce框架实现了一套shell剧本 ,雷同咱们凡是相熟的SQL语句。

  到目前为止,认知东西包彷佛不太风行。关于这个库,还没有看到有良多有关的博客、收集示例,或者在Kaggle里的有关评论。Ricardo暗示这看起来有点奇异,由于这是一个背靠微软钻研的框架,出格夸大本人的推移威力。并且这个钻研团队在语音识别上攻破了世界记载并迫近了人类程度。

  Spark是一个高速、通用大数据计较处置引擎。具有Hadoop MapReduce所拥有的长处,但分歧的是Job的两头输出成果能够保具有内存中,从而不再必要读写HDFS,因而Spark能更好地合用于数据发掘与机械进修等必要迭代的MapReduce的算法。它能够与Hadoop和Apache Mesos一路利用,也能够独立利用

  GridGain由Apache Ignite驱动的GridGrain供给内存中数据布局,用于敏捷处置大数据,还供给基于统一手艺的Hadoop加快器。

  HDFSHadoop漫衍式文件体系(HDFS)被设想成适合运转在通用硬件(commodity hardware)上的漫衍式文件体系。它和现有的漫衍式文件体系有良多配合点。HDFS是一个高度容错性的体系,适合摆设在重价的机械上。HDFS能供给高吞吐量的数据拜候,很是适合大规模数据集上的使用。

  Alluxio前身是Tachyon,是以内存为核心的漫衍式文件体系,具有高机能和容错威力,可以大概为集群框架(如Spark、MapReduce)供给靠得住的内存级速率的文件共享办事。

  Torch是Facebook和Twitter主推的一个出格出名的深度进修框架,Facebook Reseach和DeepMind所利用的框架,恰是Torch(DeepMind被Google收购之后才转向TensorFlow)。出于机能的思量, 它利用了一种比力小众的编程言语Lua ,目前在音频、图像及视频处置方面有着大量的使用。在目前深度进修大部门以Python为编程言语的大情况之下,一个以Lua为编程言语的框架只要更多的优势,而不是劣势。Ricardo没有Lua的利用经验,他暗示,若是他要用Torch的话,就必需先辈修Lua言语才能利用Torch。就他小我来说,更倾向于相熟的Python、Matlab或者C++来实现。

  Redis是一个高机能的key-value存储体系,和Memcached雷同,它支撑存储的value类型相对更多,包罗string(字符串)、list(链表)、set(调集)和zset(有序调集)。Redis的呈现,很洪流平弥补了memcached这类key/value存储的有余,在部门场所能够对关系数据库起到很好的弥补感化。

  GlusterFS是一个集群的文件体系,支撑PB级的数据量。GlusterFS 通过RDMA和TCP/IP体例将漫衍到分歧办事器上的存储空间搜集成一个大的收集化并行文件体系。