`
蓝神100
  • 浏览: 10156 次
文章分类
社区版块
存档分类
最新评论

java未来趋势 Java促进大数据的大发展

阅读更多
没有Java,甚至不会有大数据的大发展,Hadoop本身就是用Java编写的。当你需要在运行MapReduce的服务器集群上发布新功能时,你需要进行动态的部署,而这正是Java所擅长的。


大数据领域支持Java的主流开源工具:

1. HDFS

HDFS是Hadoop应用程序中主要的分布式储存系统, HDFS集群包含了一个NameNode(主节点),这个节点负责管理所有文件系统的元数据及存储了真实数据的DataNode(数据节点,可以有很多)。HDFS针对海量数据所设计,所以相比传统文件系统在大批量小文件上的优化,HDFS优化的则是对小批量大型文件的访问和存储。

2. MapReduce

Hadoop MapReduce是一个软件框架,用以轻松编写处理海量(TB级)数据的并行应用程序,以可靠和容错的方式连接大型集群中上万个节点(商用硬件)。

3. HBase

Apache HBase是Hadoop数据库,一个分布式、可扩展的大数据存储。它提供了大数据集上随机和实时的读/写访问,并针对了商用服务器

集群上的大型表格做出优化——上百亿行,上千万列。其核心是Google Bigtable论文的开源实现,分布式列式存储。就像Bigtable利用

GFS(Google File System)提供的分布式数据存储一样,它是Apache Hadoop在HDFS基础上提供的一个类Bigatable。

4. Cassandra

Apache Cassandra是一个高性能、可线性扩展、高有效性数据库,可以运行在商用硬件或云基础设施上打造完美的任务关键性数据平台。

在横跨数据中心的复制中,Cassandra同类最佳,为用户提供更低的延时以及更可靠的灾难备份。通过log-structured update、反规范化和物化视图的强支持以及强大的内置缓存,Cassandra的数据模型提供了方便的二级索引(column indexe)。

5. Hive

Apache Hive是Hadoop的一个数据仓库系统,促进了数据的综述(将结构化的数据文件映射为一张数据库表)、即席查询以及存储在Hadoop兼容系统中的大型数据集分析。Hive提供完整的SQL查询功能——HiveQL语言,同时当使用这个语言表达一个逻辑变得低效和繁琐时,HiveQL还允许传统的Map/Reduce程序员使用自己定制的Mapper和Reducer。

6. Pig

Apache Pig是一个用于大型数据集分析的平台,它包含了一个用于数据分析应用的高级语言以及评估这些应用的基础设施。Pig应用的闪光特性在于它们的结构经得起大量的并行,也就是说让它们支撑起非常大的数据集。Pig的基础设施层包含了产生Map-Reduce任务的编译器。Pig的语言层当前包含了一个原生语言——Pig Latin,开发的初衷是易于编程和保证可扩展性。


7. Chukwa

Apache Chukwa是个开源的数据收集系统,用以监视大型分布系统。建立于HDFS和Map/Reduce框架之上,继承了Hadoop的可扩展性和稳定性。Chukwa同样包含了一个灵活和强大的工具包,用以显示、监视和分析结果,以保证数据的使用达到最佳效果。

8. Ambari

Apache Ambari是一个基于web的工具,用于配置、管理和监视Apache Hadoop集群,支持Hadoop HDFS,、Hadoop MapReduce、Hive、HCatalog,、HBase、ZooKeeper、Oozie、Pig和Sqoop。Ambari同样还提供了集群状况仪表盘,比如heatmaps和查看MapReduce、Pig、Hive应用程序的能力,以友好的用户界面对它们的性能特性进行诊断。

9. ZooKeeper

Apache ZooKeeper是一个针对大型分布式系统的可靠协调系统,提供的功能包括:配置维护、命名服务、分布式同步、组服务等。

ZooKeeper的目标就是封装好复杂易出错的关键服务,将简单易用的接口和性能高效、功能稳定的系统提供给用户。

10. Sqoop

Sqoop是一个用来将Hadoop和关系型数据库中的数据相互转移的工具,可以将一个关系型数据库中数据导入Hadoop的HDFS中,也可以将HDFS中数据导入关系型数据库中。

11. Oozie

Apache Oozie是一个可扩展、可靠及可扩充的工作流调度系统,用以管理Hadoop作业。Oozie Workflow作业是活动的Directed Acyclical

Graphs(DAGs)。Oozie Coordinator作业是由周期性的Oozie Workflow作业触发,周期一般决定于时间(频率)和数据可用性。Oozie与

余下的Hadoop堆栈结合使用,开箱即用的支持多种类型Hadoop作业(比如:Java map-reduce、Streaming map-reduce、Pig、 Hive、Sqoop和Distcp)以及其它系统作业(比如Java程序和Shell脚本)。

12. Mahout

Apache Mahout是个可扩展的机器学习和数据挖掘库,当前Mahout支持主要的4个用例:

推荐挖掘:搜集用户动作并以此给用户推荐可能喜欢的事物。

聚集:收集文件并进行相关文件分组。

分类:从现有的分类文档中学习,寻找文档中的相似特征,并为无标签的文档进行正确的归类。

频繁项集挖掘:将一组项分组,并识别哪些个别项会经常一起出现。

13. HCatalog

Apache HCatalog是Hadoop建立数据的映射表和存储管理服务,它包括:

提供一个共享模式和数据类型机制。

提供一个抽象表,这样用户就不需要关注数据存储的方式和地址。

为类似Pig、MapReduce及Hive这些数据处理工具提供互操作性。
更多 0
分享到:
评论

相关推荐

    Java课程在数据科学与大数据技术专业中的教学实践探讨.pdf

    通过精心设计的课程体系和实践环节,学生不仅可以掌握编程基础,还能将Java应用于大数据处理和分析,为未来在大数据领域的职业生涯做好准备。因此,不断改进和优化Java课程的教学实践对于培养高质量的数据科学与...

    Java技术的发展趋势与应用研究.pdf

    Java作为一种编程语言,是SUN公司发行的新型面向对象的编程语言,它的发展历程与特点、在软件开发中的应用、以及未来趋势都是值得我们深入探讨的领域。在当前互联网时代背景下,Java技术的发展对于整个互联网行业的...

    Java技术的发展趋势与应用分析.zip

    7. **JEP(JDK Enhancement Proposals)流程**:Oracle引入JEP,使得社区可以更直接地参与Java的进化,促进其快速发展。 三、Java的应用场景 1. **企业级应用**:Java EE平台为企业级应用提供了丰富的服务,如Web...

    学习java技术的发展趋势.pdf

    Java 技术作为全球最广泛使用的编程语言之一,其发展历程和未来趋势一直是开发者关注的焦点。Java 的优势在于其强大的跨平台能力、丰富的类库、面向对象的设计理念以及自动化工具的支持。例如,重构是Java开发中的一...

    Java2参考大全

    #### 三、Java语言的发展与未来趋势 自从1995年Sun Microsystems首次发布Java以来,Java经历了多个版本的迭代更新。每一个新版本都会加入新的特性和改进,以适应不断变化的技术环境。例如,Java 8引入了Lambda...

    Java技术的现状和发展.doc

    Java 技术自1991年由SUN Microsystems的James Gosling等人开发以来,经历了从默默无闻到广泛流行的转变。...Java的未来发展趋势将继续关注性能提升、语言特性的创新以及跨平台的兼容性,确保其在全球IT行业的领先地位。

    大数据学习线路指南

    - **预测模型**:如时间序列分析、回归分析等,预测未来趋势。 - **情绪分析**:分析文本数据中的情感倾向。 #### 五、大数据应用趋势 随着技术的进步和社会需求的变化,大数据的应用领域也在不断扩展: 1. **...

    大数据技术与应用基础-教学大纲.doc

    - **政策支持**:从《促进大数据发展行动纲要》到《“十三五”规划》等政策文件中可以看出,政府高度重视大数据产业及其应用的发展。 - **行业发展现状**:尽管目前大数据在国内的应用还处于初期阶段,但是随着技术...

    Thinking.In.Java.3rd.Edition.Chinese.eBook-YSSY.txt

    - **未来展望**:随着云计算、大数据等新技术的发展,Java语言也在不断进化,例如Java 1.5中引入的泛型等新特性,都反映了Java语言对新兴技术的支持和发展方向。 ### 结论 通过对《Java思维》第三版中文电子书的...

    java基础教程

    **3.2 Java未来发展趋势** 随着技术的不断进步,Java也在不断地演进和改进之中: - **新特性**:每一代Java都会添加新的特性和改进现有的API,以保持其竞争力。 - **性能优化**:随着JVM的持续优化,Java在性能...

    [毕业论文]基于JAVA的医院门诊信息管理系统设计与实现

    随着互联网技术的不断进步,特别是移动互联网和大数据技术的兴起,未来医院门诊信息管理系统将进一步向智能化、个性化方向发展。例如,通过引入人工智能技术,系统可以实现智能诊断辅助,提供个性化的健康建议;利用...

    net與java整合的發展前景.rar

    标题中的“net與java整合的發展前景”暗示了本文将探讨.NET框架与Java平台之间的集成以及它们结合后的未来趋势。这两个技术巨头在软件开发领域都有着广泛的影响力,它们的融合为开发者提供了更多的可能性。 首先,...

    大数据智能化背景下程序设计课程线上线下混合教学模式构建.pdf

    5. 面向大数据智能化的应用型人才核心能力培养:课程设计要与大数据、物联网、人工智能等技术的应用紧密结合,旨在培养能够适应未来技术发展趋势的应用型人才。 文章还指出,在进行课程改革的同时,高校应该注重...

    范斌-计算和存储分离架构下大数据栈的演化-脱敏.pdf

    Alluxio作为该领域内的一个重要项目,不仅提供了高效的解决方案,还促进了相关技术的发展。随着云计算和大数据技术的不断进步,我们可以期待未来会有更多创新的技术和架构出现,以更好地支持日益增长的数据处理需求...

    2022年惠州地区Java工程师职位薪酬调查报告.pdf

    《2022年惠州地区Java工程师职位薪酬调查报告》 本报告主要针对2022年广东省惠州市的Java工程师职位薪酬进行了深入研究,旨在为行业从业...随着技术的不断进步和市场的变化,未来Java工程师的薪酬走势将值得持续关注。

    计算机程序设计语言发展史和对程序设计语言未来的看法.docx

    1990年代,Java的诞生,以其“一次编写,到处运行”的跨平台特性,极大地促进了互联网应用程序的开发。 【未来发展趋势】 计算机语言的未来发展趋势将围绕着以下几个方面: 1. **更高级别的抽象**:随着人工智能...

    大数据技术在跨境电商中的应用分析.pdf

    未来大数据技术在跨境电商中的应用将继续深化,大数据分析工具的优化改进也将不断进行,从而更好地服务于跨境电商的各个环节。 综上所述,大数据技术在跨境电商中的应用是多方面的,涉及网络营销、物流管理、信息...

    [基于JAVA的医院门诊信息管理系统设计与实现.docx

    此外,大数据和人工智能技术的应用也将成为趋势,通过对大量医疗数据的分析,可以提高诊断准确率,优化资源配置,进一步提升医疗服务水平。 #### 结论 基于 JAVA 的医院门诊信息管理系统为提升医院工作效率、改善...

    2020上海大数据+AI meetup.zip

    此外,可能还会探讨这些技术的最新发展和未来趋势,比如Spark 3.0的新特性、Flink的Stateful Processing以及Kafka的Kafka Connect和Kafka Streams等。 总之,2020上海大数据+AI meetup是一次汇聚了大数据和AI领域...

Global site tag (gtag.js) - Google Analytics