大数据学习规划

大数据是用scala语言,和java有些不同又比java强大,省去了很多繁琐的东西,scala中的的接口用trait来定义,不同于java的接口,trait中可以有抽象方法也可以有不抽象方法。scala中的方法中还可以定义方法,这在java中是从来没有的。

大数据未来几年发展的重点方向,大数据战略已经在十八届五中全会上作为重点战略方向,中国在大数据方面才刚刚起步,但是在美国已经产生了上千亿的市场价值。举个例子,美国通用公司是一个生产飞机发动机的一个公司,这家公司在飞机发动机的每一个零部件上都安装了传感器,这些传感器在飞机发动机运作的同时不断的把发动机状态的数据传到通用公司的云平台上,通用公司又有很多数据分析中心专门接受这些数据,根据大数据的分析可以随时掌握每一家航空公司发动机的飞行状况,可以告知这些航空公司发动机的哪些部件需要检修或保养,避免飞机事故,通过这种服务通用公司就产生了几百亿美元的产值。

现在正是学习大数据的最好机遇,推荐一个大数据学习群 142973723每天晚上20:10都有一节【免费的】大数据直播课程,专注大数据分析方法,大数据编程,大数据仓库,大数据案例,人工智能,数据挖掘都是纯干货分享,

大数据开发一共几个流程,大概概括起来有:

收集、清洗、数仓(建模)、OLAP、可视化

这里边收集一般的技术是:Kafka、Flume、高性能HTTP开发(可能)、Avro协议(可能)、Thrift协议(可能),取决于所在公司的技术栈。

清洗:Spark、HiveSQL/SparkSQL、MapReduce(已经过时)

存储:HDFS、Alluxio(分布式内存存储)、Redis(高速缓存)、mongoDB(文档型数据库)...

流式计算:Spark Streaming / Storm

数仓建模:Hive、MongoDB、HBase

OLAP:MySQL(常用),PostgreSQL(GreenPlum)MyCAT(小众)...

数据可视化:一般来说这活不归你管, 技术有 echarts.js hicharts.js d3.js ...

看眼花了吧?

其实很好理解, 从上到下就是:数据要怎么存, 数据要怎么查...

你需要学的是计算机体系基础: 内存、CPU、指令、等等这些概念,得有个感觉,不然别人一说,你都不知道咋回事,尴尬了。看《深入理解计算机系统》。

网络基础: 这个我还真不知道有什么书, 《TCP/IP详解》有点深了,不过你有时间,慢慢啃下来挺好, 而且第一本就够用,书也不厚。

数据库基础:RMDBS里的MySQL其实我不推荐,但是这玩意已经烂大街了,是个公司就用,不学也得学。postgreSQL很不错,但是用的人少。

Java系的语言你必须得会, 重要的就是Java和Scala, Java用来做传统的开发(你总要写几个接口, 这个时候最常用的就是SpringMVC/Mybatis,这俩兄弟玩明白就行了, 但是什么J2EE,什么Hibernate,什么HTML5,跟你一点关系也!没!有!)。

Scala是我特别推崇的一门语言, 灵活、高效, Java搞懂了就把它也学了,以后写Spark,甚至用Play写Web,都很爽。

Python是必学的一门语言, 灵活的脚本, 以后想早点下班回家,少不了它。

Hadoop生态体系你必须得懂, 不需要一个组件一个组件的文档去看, 先看个大概,知道啥玩意是干啥的, 然后用的时候再去看文档。 Hadoop想自己装是有点蛋疼,跟你导师申请个阿里云几台机, 慢慢折腾去吧。

哦对了, 你想折腾Hadoop,Linux的基础必须得学,至少Shell得用的溜溜的,不然hadoop你怎么装... cd / mv/ cp/ mkdir / chmod / ls / ssh / touch / vim / awk / sed / ifconfig / du / df / 这乱七八糟一大堆命令,一个一个学了吧, linux的各种概念,文件、管道、bash、配置,你得整懂吧?学吧!趁着时间多,短投资大回报!

建议你多看一看机器学习,说到底大数据还是一个“基础设施”,但要创造价值,还得靠机器学习(数据挖掘的意思就是 机器学习 on 大数据)。

 

你可能感兴趣的:(大数据学习,大数据开发,大数据,大数据入门,大数据工程师)