2016 - 2025

感恩一路有你

java工作流技术框架 主流的大数据分析框架有哪些?

浏览量:1848 时间:2023-06-04 08:41:30 作者:采采

主流的大数据分析框架有哪些?

1、HadoopHadoop需要MapReduce分布式计算框架,根据GFS的新了HDFS分布式文件系统,参照BigTable旗下了HBase数据存储系统。Hadoop的开源代码特性使其蓝月帝国分布式计算系统的很显然的国际标准。Yahoo,Facebook,Amazon在内国内的百度,阿里巴巴等许多互联网公司都以Hadoop为基础搭建自己的广泛分布。

2、Spark

Spark是在Hadoop的基础上进行了一些架构上的改良。Spark与Hadoop的最的不同点本质,Hadoop建议使用硬盘来存储数据,而Spark可以使用内存来存储数据,并且Spark是可以提供给远远超过Ha?doop100倍的运算速度。而内存断电后后会丢失的数据,Spark没法主要用于一次性处理需要长期需要保存的数据。

3、Storm

Storm是Twitter主推的分布式计算系统。它在Hadoop的基础上提供了实时动态运算的特性,也可以动态实时的处理大数据流。类似于Hadoop和Spark,Storm不接受数据的收集和存储工作,它然后按照网络实时地的认可数据因此实时动态的处理数据,然后再然后网络实时动态的传去结果。

4、Samza

Samza是由Linkedin开源的一项技术,是一个分布式流处理框架,专用于实时数据的处理,的很像Twitter的流处理系统Storm。有所不同的是Sam?za基于组件Hadoop,但是不使用了Linkedoutside自家的Kafka分布式消息系统。

Samza相当范围问题于实时自动流数据处理的业务,如数据监视跟踪、日志服务、实时地服务等应用,它能帮开发者通过下高速消息去处理,另外还具备良好的思想品德的容错能力。

你平时主要使用什么Java开发框架?

就拿我们项目来举些例子扒一扒吧。

我们的项目是一个纯后台服务的项目,也就是没有前端页面,只正式提供服务;项目是是设计和实现Spring Boot来做的,核心中spring-boot-starter-web,真接组织不暴漏接口,报文使用的JSON,有极个别的接口是从老系统迁出上来的,是为让动态创建方尽很可能地略作可以修改,所以我尽量了XML的报文;在宣布的生产环境中,也是在用的内置的Tomcat;板载显卡了Swagger,来做接口的文档免费批量生成。

ORM框架选择类型的是MyBatis,导致项目中大部分的查询都可以做到了单表查询,但是查询条件比较且固定,所以我然后在用注解做的SQL语句绑定。

毕竟项目不单可以使用了关系型数据库,而更多的数据是加工关联后保存到到了MongoDB中,所以我项目也要用了Spring Data MongoDB,我们的MongoDB是做了副本集的部署,建议使用Spring Data MongoDB,只是需要做简单的配置,就这个可以完成对多台MongoDB的访问,如果不是其中一台MongoDB挂了,对服务也没有影响的,因为我们做MongoDB内存量的时候是是可以免费做的(MongoDB扩内存和CPU的时候不需要停机状态)。

和部分系统的交互使用到了RabbitMQ,而Spring Boot如果化入spring-boot-starter-amqp,当然就是可以很更方便地能够完成和RabbitMQ的板载显卡;生产者和消费者都相当方便。

是因为是纯接口的服务,就是为了缓解数据库的压力,所以我们据业务场景,将一些接口的结果然后缓存到Redis中(数据变化不很频繁,因此业务场景的实时性要求不是很高)。在独立显卡Redis的时候,我们前后试了两种

Spring Boot项目,就在用@Cacheable注解就是可以能够完成和Redis最简单的集成,不过后来我们毕竟设置缓存的已超时时间不够身形灵活,我们后来该成了第二种方案;

建议使用RedisTemplate,这个可以结束对Redis的绝大部分你的操作。

我将坚持了分享Java开发、架构设计、程序员职业发展等方面的见解,期望能能够得到你的关注。

数据 系统 Hadoop 项目 框架

版权声明:本文内容由互联网用户自发贡献,本站不承担相关法律责任.如有侵权/违法内容,本站将立刻删除。