来源:WHIZLABS
编译:青牛
提及技术的发展速度是陈词滥调。Java在技术领域已经存在了二十多年,是那里最“令人讨厌的"技术。如果仔细查看各种编程语言,操作系统和数据库,在过去几年中几乎没有什么变化。随着具有大数据和物联网的新技术领域的发展,我们可以看到很多进步。
但是,Java仍然是许多Java开发人员大数据工具的骨干。实际上,因为Java开发人员使用的大数据工具的某些核心模块是用Java编写的,所以它自然适合大数据。更有趣的是,这些针对Java开发人员的大数据工具大多数都是开源的。因此,它们易于访问。
在这篇文章中,我们将讨论Java对大数据工具的有用性及其未来。此外,我们将专注于主要基于JavaAPI的大数据工具。
Java在大数据中的未来是什么?尽管Java有很多不喜欢它的原因,但是程序员仍然会因为发现许多学习它的原因而转向它。让我们回顾一下人们为什么要使用它的一些原因:
简洁性:作为一种面向对象的语言,Java为开发人员和最终用户提供了相当容易的用户体验。与其他类似的面向对象编程语言相比,Java的内置设计是其最大的优势。与C++不同,它删除了指针和接口的使用。
可移植性:Java运行时可以随时随地运行。因此,您可以在任何硬件和软件平台上运行Java。
分配:Java具有堆栈调配功能,可帮助快速重建。而且,Java有潜力进行垃圾回收和自动内存分配。
分布式:Java具有高度的网络能力。通常,Java非正式地接收和发送文件。
极其安全:Java通过安全的编程来强制执行严格的安全标准。
现在,让我们看看Java在现实中适合大数据的地方。
如今,每天产生的数据量呈指数级增长。此外,在此期间,分析如此大量的数据也只会继续增加。批处理数据是分析此类海量数据的一种现实方法,并且通常使用诸如Hadoop和Spark等开源工具来完成。
有趣的是,大多数开源大数据工具都是基于Java的。它背后的关键原因之一是Java的根源在开源社区中根深蒂固。因此,大量的Java代码是公开可用的,并且借助Apache这样的易于使用的代码基础,Google在开发开源大数据工具方面做出了巨大贡献。
对于最杰出的大数据工具Hadoop,Java是这种语言。因此,Java开发人员很容易学习Hadoop。事实是,学习一些大数据工具几乎类似于为Java开发人员学习新的API。
不仅是Hadoop,Pig还是Java开发人员的另一个大数据工具,因为PigLatin使用JavaScript,他们可以轻松学习。
市场上面向Java开发人员的最佳开源大数据工具毫无疑问,大数据的未来就是Java。市场.上有许多针对Java开发人员的大数据工具,其中大多数是从Apache开源的。在这里,我们整理了其中的一些,它们是Java开发人员最常使用的大数据工具。
1.ApacheHadoop
Hadoop是一个Java子项目,主要用于大数据工具。它是ApacheSoftwareFoundation工具,后来由Yahoo!捐赠。它是一个免费的,基于Java的编程框架,可在分布式计算环境中处理大型数据集。除此之外,您还可以轻松地将其安装在标准计算机集群.上。Hadoop在将大量数据存储在一个系统中并对这些数据进行分析的公司中已经非常成功。Hadoop在主/从架构中运行。主机控制整个分布式计算堆栈的运行。
Hadoop具有围绕它构建的整个软件生态系统。
Hadoop的重要功能在下面列出。
2.ApacheSpark
ApacheSpark的工作原理类似于HadoopMapReduce框架,并且在大数据处理方面比MapReduce流行得多。Spark是一个集群计算框架,可以在数千台计算机.上运行。此外,它可以在跨这些计算机的海量数据集上的分布式计算机群集上运行,并将结果组合在一起。Spark坚持RDD(弹性分布式数据集)的概念。
Spark用于大型ETL(提取,转换和加载)操作,预测分析和报告应用程序中。Spark程序将执行以下操作:
它将一些数据加载到RDD中。
对数据执行转换以使其兼容处理您的操作。
跨会话缓存可重用数据(通过使用persist)
对数据执行一些现成的或自定义的操作。
用于Spark的基础语言是Scala,它固有地用Java编写。因此,Java是ApacheSpark堆栈的构建块,并且其所有产品都完全支持Java。ApacheSpark堆栈具有广泛的JavaAPI。因此,ApacheSpark是Java开发人员易于采用的大数据工具之一。
以下是Java开发人员可以轻松用于大数据目的的一些SparkAPI:
核心RDD框架及其功能
SparkSQL代码
Spark流代码
SparkMLlib算法
SparkGraphX库
有趣的是,ApacheSpark已成为一个完整的生态系统,由许多子项目组成,如下所述:
3.ApacheMahout
ApacheMahout是开源大数据工具和流行的JavaML库。它由可扩展的机器学习算法组成,其中一些算法用于:
推荐建议
聚类
分类
Mahout的一些重要功能如下:
它的算法在Hadoop上运行。因此,它们在分布式环境中运行良好
它内置了几种ML算法的MapReduce实现
4.JavaJFreechart
数据可视化是大数据分析中的重要任务。大数据处理大量数据;因此,仅通过查找原始数据来查找趋势是一项挑战。但是,当在图表上绘制相同的数据时,将变得更容易理解,并且更容易识别数据中的模式和关系。
对于Java开发人员而言,JFreechart是流行的开源大数据工具之一,其具有以Java内置的可帮助制作图表的库。
我们可以借助此库来构建不同的图表以可视化数据,例如一
饼状图
条形图
单个和多个时间序列图
折线图
散点图
箱形图
直方图
JFreechart不仅可以在图表中构建轴和图例,还可以使用鼠标在图表中提供自动缩放功能。但是,它对于简单的图表可视化很有用。
5.Deeplearning4j
Deelearning4j是一个Java库,用于构建不同类型的神经网络。此外,我们可以将其与ApacheSpark集成到大数据堆栈.上,甚至可以在GPU上运行。这是Java开发人员唯一的开源大数据工具,这些工具拥有主要的Java库,并带有许多专注于深度学习的内置算法。此外,它有一个很好的在线社区,并提供了很好的文档。
特征:
分布式GPU和CPU
Java,Python和PythonAPI
支持微服务架构
可在Hadoop上扩展
GPU支持可在AWS上扩展
6.ApacheStorm
这是Java流应用程序以及Java开发人员常用的大数据工具的理想选择。
ApacheStorm具有许多优点,其一些主要功能包括一
方便使用
免费和开源
小型和大型实施的理想选择
高度容错
可靠
极快
执行实时处理
可扩展
使用运营情报执行动态负载平衡和优化
ApacheStorm体系结构具有两个主要组件:
主节点
工作节点
单个工作程序节点运行一个称为“Supervisor”的守护程序。Nimbus控制工作程序节点,并根据该监督程序节点监听分配的工作并相应地启动和停止工作程序进程。每个工作进程都与一个拓扑子集相关联,该拓扑子集由许多工作进程组成。Nimbus和Supervisor之间的整个协调是使用Zookeeper集群执行的。
随着大数据每天都在发展,出现了新的工具。毫无疑问,在Java开发人员的大数据工具中,Hadoop是最好的工具。这是大数据圣经。因此,在学习任何其他大数据工具之前,必须了解Hadoop。
长按识别