大数据(big data),是近几年很火的一共概念。
**什么是大数据?**就举一个生活中很常见的一个例子,平常我们使用APP在各大商城进行商品浏览购物的时候,你会发现,当你在一类商品停留的时间较长时,回到首页,轮播图推荐跟猜你喜欢那一栏就有很大的可能给你推荐你刚刚浏览过去商品的同类。这里面就涉及到了大数据的一个概念,APP通过你的浏览记录,分析用户行为,再根据大数据的推荐系统,就完成了从点击浏览,到秒处理推荐的一个过程。
大数据,说白了就是大量数据的一个集合,来源于海量用户的一次次行为数据。大数据的核心意义不在于获取掌握庞大的数据信息,而在于对这些具有巨大价值的数据进行处理,进而得到这些数据的价值。
大数据主要具有四个特征:
数据量巨大(这也是大数据最基本的特性)
数据类型繁多
价值密度低,商业价值高
数据的处理速度快
从java后端到大数据开发:
对于是大数据开发岗位好还是java开发岗位好,这个是仁者见仁,智者见智。但是,根据招聘网站的需求来看,java开发的工程师中低层次的岗位可以说是几乎达到了饱和的程度,而最近几年兴起的大数据技术则是对于市场来说具有较大的需求。我认为Java开发对于互联网专业的同学来说可能是一个不错的选择,但是后期如果想要更好的发展,从后端转型大数据也是一个有很好前景的选择。
Java后端转大数据的优势:
1、从Java后端转大数据开发周期较短,具有极大的优势,因为很多大数据开发的框架都是基于Java语言来写的,而且大数据与后端数据的手机与交互也是比较密切的,对于数据的一些处理 ,有后端经验的同学就具有了很大的优势。
2、大数据开发的工资整体上来说要高于java开发,java后端开发到达一定的层次之后工资的上涨幅度也会逐渐下降。对于现兴起的大数据专业来说,薪资的整体水平也较高
3、大数据是未来发展的趋势,以后的时代是大数据的时代,也是以后人工智能,AI等等先进基础发展的一个基础,具有很好的一个发展前景。
什么是大数据技术:
按照官方一点的说法来说,大数据技术可以定义为一种软件应用程序,主要对机器复杂的大型数据集进行一个分析,处理和提取,而传统数据处理软件无法对这些数据进行处理。在我们生活中很多地方需要应用到大数据技术对大量的技术进行一个实时的分析,并得出结论让数据产生价值。
大数据技术最重要的四个领域:
数据储存
数据分析
数据挖掘
数据可视化
大数据开发工程师的一些必备技能:
对于一些需要掌握的技术,这里给大家整理好了一个大纲
大数据技术简介:
HDFS :Hadoop的分布式文件系统,是Apache Hadoop Core项目的一部分
MapReduce:是面向大数据并行处理的计算模型、框架和平台
YARN:是Hadoop的资源管理器,可为上层应用提供统一的资源管理和调度
Zookeeper:是一个分布式的,开放源码的分布式应用程序协调服务
Sqoop:主要用于在Hadoop(Hive)与传统的数据库(mysql、postgresql…)间进行数据的传递,可以将一个关系型数据库*(例如 : MySQL ,Oracle ,Postgres等)*中的数据导进到Hadoop的HDFS中,也可以将HDFS的数据导进到关系型数据库中。
Hue:可以整合多个大数据技术栈进行交互的框架
Hive:是基于Hadoop的一个数据仓库工具,用来进行数据提取、转化、加载,这是一种可以存储、查询和分析存储在Hadoop中的大规模数据的机制
ElasticSesarch:是一个基于Lucene的搜索服务器。它提供了一个分布式多用户能力的全文搜索引擎,基于RESTful web接口。
Hbase:是一个分布式的、面向列的开源数据库,该技术来源于 Fay Chang 所撰写的Google论文“Bigtable:一个结构化数据的分布式存储系统
MySql:是一个关系型数据库管理系统]
Spark:是专为大规模数据处理而设计的快速通用的计算引擎
Flink:是由Apache软件基金会开发的开源流处理框架,其核心是用Java和Scala编写的分布式流数据流引擎
Kafka:是一种高吞吐量的分布式发布订阅消息系统,它可以处理消费者在网站中的所有动作流数据
Flume:是Cloudera提供的一个高可用的,高可靠的,分布式的海量日志采集、聚合和传输的系统