继续浏览精彩内容
慕课网APP
程序员的梦工厂
打开
继续
感谢您的支持,我会继续努力的
赞赏金额会直接到老师账户
将二维码发送给自己后长按识别
微信支付
支付宝支付

编程和大数据,哪个前景好?大数据常用技术有哪些?

小强学开发
关注TA
已关注
手记 51
粉丝 9
获赞 38

想转IT方向,选择编程前景好还是大数据?

今天我们就来看一位专业人士对于编程和大数据的解读。

webp

从就业而言,大数据和编程并不是什么冲突的岗位,而事实上大数据岗位也对编程能力也有不低的要求。通常我们所说的大数据工程师, 普遍指的是Hadoop生态系的开发者。

随着时间推移,大数据行业也经过了很多的变化,现在的热点也已经由大数据转向了AI,而大数据行业进入了一个相对平稳的发展期。其实也很容易理解,以前缺的是数据和处理数据的解决方案,而现在的AI就是一个利用数据产出结果的方向。

从工作性质上来看,大数据岗位大致分成四类:基础架构,ETL,数据可视化,数据分析。

1

基础架构

公司由于性质的不同,数据也不同,所以数据架构和设计方法,引入的组件也有所不同,需要有人设计,搭建和维护相应的基础架构。

关于这部分现在也有不少商用的应用,比如CDH, 它和以前另外一家Hortonworks合并了,其实他们两的合并也说明市场的一些反应。架构方法上不少使用的Lambda架构,这儿不细说了

2

ETL

ETL, 是Extract-Transform-Load的缩写,最常见的一些情况是从某一个系统把数据导到另外一个系统,导入的过程时会对数据进行一些加工,做一些数据的增强, 数据清洗,数据规整等工作。

这是一个非常常见的工作,其实绝大部分从事大数据的开发者都在做的一个事,区别是有的人只做这个,有的人部分工作在做这个,也或许从来没有意识到自己的大数据工作都是ETL的工作。这部分工作的无可避免,因为常见的数据来源,主要来自数据库(通常是关系型数据库)和日志数据

业务数据库, 业务数据的设计会遵从OLAP的设计,而后面我们所说的数据可视化和数据分析数据会遵从OLTP的数据设计,更多的冗余换来更快的处理时间,这就涉及到之间转换的ETL

日志总是以一种非结构化数据的方式存在,总是需要转换为结构化数据,还有一种和MySQL相关的比如binlog之类也可以归结到日志的加工

总而言之,这部分的工作虽然枯燥,但是非常重要又必不可少。

3

数据可视化

数据可视化可以归结到数据分析中,但很多公司的数据分析仅到此就结束了,所以特别列出来

 例子:数据可视化

4

数据分析

利用现有的数据,对以前的数据进行分析汇总,比如支付系统的对账, 也有对未来的行为进行预测,比如ML/DL 系统也是一种数据分析

==================================

webp

Q&A

大数据需要什么编程语言?

如果希望从事基础架构和ETL类,主要是Java+Scala为主,Python为辅。

如果希望从事数据可视化,可以根据前端的要求来, HTML + JS + CSS

如果希望从事分析类,基于现有的大数据架构的分析,还Java+Scala为主,Python为辅。如果是从事AI/ML,那么现阶段Python为主, C++(Tensorflow等底层实现)为辅。

而高手从来不问要选什么,他全都会!

大数据常用的技术?

我们说大数据普遍就在说基于Hadoop生态系的基础架构和ETL类的技术体系。

Hadoop,Hadoop有三个组件,MapReduce+HDFS+YARN, 现在手写MapReduce的已经很少,Hadoop能用的常见的是HDFS(分布式文件系统), YARN(资源调度系统)

Hive, 可以理解为一个上层系统操作Hadoop的MapReduce的操作,常用来处理一些大批量的Batch数据数据仓库工具

Pig,很少见到还有新开的项目在用了

Spark, 基于内存的大规模数据处理而设计的快速通用的计算引擎(此处要划重点)

Flink, Storm,Spark Steaming 流式计算(此处要划重点)

Flume, 日志收集

Hbase, Cassandra 等分布式数据库

Kafka,消息系统(此处要划重点)



打开App,阅读手记
1人推荐
发表评论
随时随地看视频慕课网APP