搞大数据必须得学java吗( 三 )


至此,大数据主要的技术栈基本形成。包括 HDFS、MapReduce、Pig、Hive.
责任单一 Yarn
此时,MapReduce 一个资源调度框架,又是一个执行引擎。为了责任单一化,将这两种功能进行了分离,Yarn 项目启动了。
2012年, Yarn 成为了独立的项目,开始运营,被各大数据厂商的产品支持,成为了主流的资源管理调度系统。
效率还是效率 Spark
同年,UC 伯克利 AMP 实验室的一位博士,在使用 MapReduce 进行大数据实验计算时,发现性能非常差,不能满足其计算需求。
为了改进这种效率低下的工作方式,于是开发出了一个性能优越的替代产品,叫做 Spark 。由于Spark 性能卓著,一经推出,就受到了业界的认可,开始全面替代 MapReduce。
非关系型数据库
在2011年 左右 NoSQL 非常火爆,其中 HBase 是从Hadoop中分拆出去的,也就是底层还是HFDS 技术。所以 NoSQL 系统在大数据环境下,提供海量数据的存储和访问功能,也算是大数据技术栈一员。
数据分析,数据挖掘,机器学习
有了大数据这个底层的技术基础,更广的应用也就能实现了。大数据平台,继承了数据分析和数据挖掘技术,以及在大数据基础上,更高级的机器学习技术。
数据分析主要是数据专员的工作,一般不需要开发能力,会使用简单的 SQL 基本上够用了。一些公司的运营人员,也要求具有数据分析的能力。数据分析主要是利用上面提到的 Hive、Spark SQL 等 数据库脚本语言;
有了大数据的存储和计算能力,就能进行数据挖掘和机器学习。当然也有成熟的框架,比如Mahout、Google 的 TersorFlow等框架。
最后,有了基础的存储功能,大数据批处理,流失处理计算能力,之上的大数据分析,以及更高级的挖掘和机器学习。至此一个大数据平台就构成了。
二、为什么要学习java大家也都知道Java语言是目前最为广泛使用的编程语言,它十分的容易学习而且也很好用。Java语言吸纳了C++的很多优点,而且还丢弃了C++语言里最让人费解的多继承、指针等等知识,于是对比之下Java是一个功能强大和简单易用的语言。
当然除此之外,Java语言也是有许多的特征,比如说面向对象、分布式、安全性、平台独立与可移植性、多线程、动态性等等。如果大家对Java语言有一定的了解,就更清楚的知道Java语言是一个拥有极强的跨平台能力,通过强大到异常处理保证系统的稳定性。
Hadoop和其他大数据处理技术很多的部分都是由Java语言来实现的,比如说Apache是基于Java的HBase和Accumulo以及 ElasticSearchas。
所以在学习Hadoop的一个前提条件,就是掌握Java语言。学会java语言在一定程度上对学习大数据的起到了助力的作用。
Java语言是可以编写桌面的应用程序、Web端的应用程序、分布式系统和嵌入式系统应用程序等等。在这里我们与传统的编程语言,就像C语言、C++语言相比较,我们就发现Java语言其实更加容易上手,而且比微软平台的开发语言,如VB语言、MFC语言等有着更加优秀的跨平台运行的能力。
虽然Java语言没有能完全的实现一次编程、导出运行的目标,但是Java和较早其他的编程语言,仍然拥有极高的跨平台能力。
三、Java和python操作zk和kafka比较
Kafka是由Apache软件基金会开发的一个开源流处理平台,由Scala和Java编写,适配Java会更好一些 ;Zk是Java和python都可以进行操作。
搞大数据必须得学java吗


■网友
0基础学习大数据,需要的知识。0基础如何自学大数据呢?-柠檬学院社区

■网友
学习大数据需要掌握这些基础:
1. linux基础是必须的,最起码需要掌握linux命令行下的基本操作命令2. javase基础【包含mysql】,注意是javase,不是javaee。javaweb那一块的知识针对大数据工程师而言不是必须的


推荐阅读