免费试用
banner
大数据平台>大数据技术与应用>基于Java开源大数据工具

译见:从理论到实践,基于Java的开源大数据工具

作者: 大数据观察来源: 大数据观察时间:2017-08-01 10:20:010

 

 

36大数据专稿,原文作者:Byron Kiourtzoglou  本文由1号店-欧显东编译向36大数据投稿,并授权36大数据独家发布。转载必须获得本站及作者的同意,拒绝任何不标明作者及来源的转载!

你也许会问,什么是大数据呢?最重要的是为什么它在每一个商业领域都是最新的趋势??这是一个炒作还是会继续发展??

事实上,“大数据”是一个相当简单的术语,简单的说就是一个非常大的数据。有多大?答案是你无法想象。

这数据真的有如此大的规模吗?的确如此,因为这个数据无处不在。例如:用于收集天气信息的RFID传感器收集的天气信息,GPRS手机包,社交媒体网站的帖子,照片和视频,在线购买交易记录等等。大数据是一个巨大的数据可能包含我们感兴趣的每一个来源信息。

不过大数据不仅仅是简单的大小,相反大数据的主要特点是大量化(Volume), 多样化(Variety),快速化(Velocity),价值化(Value)。简称大数据的四V。让我们简要地研究其中的每一个代表什么:

大量化(Volume):企业面临着数据量的大规模增长。例如,IDC最近的报告预测称,到2020年,全球数据量将扩大50倍。目前,大数据的规模尚是一个不断变化的指标,单一数据集的规模范围从几十TB到数PB不等。简而言之,存储1PB数据将需要两万台配备50GB硬盘的个人电脑。此外,各种意想不到的来源都能产生数据。

多样化(Variety):一个普遍观点认为,人们使用互联网搜索是形成数据多样性的主要原因,这一看法部分正确。然而,数据多样性的增加主要是由于新型多结构数据,以及包括网络日志、社交媒体、互联网搜索、手机通话记录及传感器网络等数据类型造成。其中,部分传感器安装在火车、汽车和飞机上,每个传感器都增加了数据的多样性。

快速化(Velocity):高速描述的是数据被创建和移动的速度。在高速网络时代,通过基于实现软件性能优化的高速电脑处理器和服务器,创建实时数据流已成为流行趋势。企业不仅需要了解如何快速创建数据,还必须知道如何快速处理、分析并返回给用户,以满足他们的实时需求。根据IMS Research关于数据创建速度的调查,据预测,到2020年全球将拥有220亿部互联网连接设备。

价值化(Value):大量的不相关信息,浪里淘沙却又弥足珍贵。对未来趋势与模式的可预测分析,深度复杂分析(机器学习、人工智能Vs传统商务智能(咨询、报告等)。

然而现有的商业智能和数据仓库解决方案还不能完全支持4 V,大数据解决方案正在发展来应对这些挑战。

下面是一个简短的介绍主要的开源的基于Java的工具,可用来支持大数据:

 

 

 

HDFS

HDFS是主要的分布式存储由hadoop应用程序使用。HDFS集群主要由NameNode管理文件系统元数据和DataNode存储实际数据。HDFS是专门设计用于存储大量的数据, HDFS是一个高度容错性的系统,适合部署在廉价的机器上。HDFS能提供高吞吐量的数据访问,非常适合大规模数据集上的应用。

 

 

 

MapReduce

 

Hadoop MapReduce是一个软件框架,可以轻松编写应用程序,处理大量的数据(几千兆的数据集)并且具有在大型集群(数千个节点)的硬件可靠、容错的方式。

 

 

 

 

 

HBase

 

Apache HBase 是Hadoop数据库、具有分布式、可扩展、大数据存储的特点。它提供了随机的,实时的大数据的读/写访问。HBase是一个分布式的、面向列的开源数据库,该技术来源于 Fay Chang 所撰写的Google论文“Bigtable:一个结构化数据的分布式存储系统”。就像Bigtable利用了Google文件系统(File System)所提供的分布式数据存储一样,HBase在Hadoop之上提供了类似于Bigtable的能力。HBase是Apache的Hadoop项目的子项目。HBase不同于一般的关系数据库,它是一个适合于非结构化数据存储的数据库。另一个不同的是HBase基于列的而不是基于行的模式。

 

 

 

Cassandra

 

Cassandra是一套开源分布式NoSQL数据库系统。它最初由Facebook开发,用于储存收件箱等简单格式数据,集GoogleBigTable的数据模型与Amazon Dynamo的完全分布式的架构于一身Facebook于2008将 Cassandra 开源,此后,由于Cassandra良好的可扩放性,被Digg、Twitter等知名Web 2.0网站所采纳,成为了一种流行的分布式结构化数据存储方案。

 

 

 

 

 

Hive

hive是基于Hadoop的一个数据仓库工具,可以将结构化的数据文件映射为一张数据库表,并提供简单的sql查询功能,可以将sql语句转换为MapReduce任务进行运行。 其优点是学习成本低,可以通过类SQL语句快速实现简单的MapReduce统计,不必开发专门的MapReduce应用,十分适合数据仓库的统计分析。

 

 

 

 

PIG

 

Pig是一种编程语言,它简化了Hadoop常见的工作任务。Pig可加载数据、转换数据以及存储最终结果。Pig内置的操作使得半结构化数据变得有意义(如日志文件)。同时Pig可扩展使用Java中添加的自定义数据类型并支持数据转换。Pig最大的作用就是对mapreduce算法(框架)实现了一套shell脚本 ,类似我们通常熟悉的SQL语句,在Pig中称之为Pig Latin,在这套脚本中我们可以对加载出来的数据进行排序、过滤、求和、分组(group by)、关联(Joining),Pig也可以由用户自定义一些函数对数据集进行操作,也就是传说中的UDF(user-defined functions)。

 

 

 

 

 

Chukwa

Chukwa 是一个开源的用于监控大型分布式系统的数据收集系统。这是构建在 hadoop 的 hdfs 和 map/reduce 框架之上的,继承了 hadoop 的可伸缩性。Chukwa 还包含了一个强大和灵活的工具集,可用于展示、监控和分析已收集的数据。

 

 

 

Ambari:

 

Apache Ambari是对Hadoop进行监控、管理和生命周期管理的开源项目。它也是一个为Hortonworks数据平台选择管理组建的项目。Ambari向Hadoop MapReduce、HDFS、 HBase、Pig, Hive、HCatalog以及Zookeeper提供服务。

 

 

 

 

ZooKeeper

 

ZooKeeper是一个分布式的,开放源码的分布式应用程序协调服务,是Google的Chubby一个开源的实现,是Hadoop和Hbase的重要组件。它是一个为分布式应用提供一致性服务的软件,提供的功能包括:配置维护、名字服务、分布式同步、组服务等。

 

 

 

 

 

 

 

 

Sqoop

是一款开源的工具,主要用于在HADOOP(Hive)与传统的数据库(mysql、postgresql…)间进行数据的传递,可以将一个关系型数据库(例如 : MySQL ,Oracle ,Postgres等)中的数据导进到Hadoop的HDFS中,也可以将HDFS的数据导进到关系型数据库中。

 

 

Oozie

 

Apache Oozie是一个可伸缩的、可靠的和可扩展的工作流调度系统来管理Apache Hadoop的工作。

 

 

 

 

 

Mahout

 

Mahout 是 Apache Software Foundation(ASF) 旗下的一个开源项目,提供一些可扩展的机器学习领域经典算法的实现,旨在帮助开发人员更加方便快捷地创建智能应用程序。Mahout包含许多实现,包括聚类、分类、推荐过滤、频繁子项挖掘。此外,通过使用 Apache Hadoop 库,Mahout 可以有效地扩展到云中。

 

 

 

 

 

HCatalog

Apache HCatalog是基于Apache Hadoop之上的数据表和存储管理服务。包括: 提供一个共享的模式和数据类型的机制。 抽象出表,使用户不必关心他们的数据怎么存储。 提供可操作的跨数据处理工具,如Pig,MapReduce,Streaming,和Hive。

 

 

译自:javacodegeeks.com,原文标题:What is Big Data – Theory to Implementation

banner
看过还想看
可能还想看
热点推荐
Yonghong的价值观:以卓越的数据技术为客户创造价值,实现客户成功。