1、1导学
功能实现
统计imooc(慕课网)主站最受欢迎的课程/手记的Top N访问次数
按地市统计imooc主站最受欢迎的Top N课程
按流量统计imocc主站最受欢迎的Top N课程
大数据的到来
任职要求
.熟悉Linux操作系统,熟悉Linux shell 编程
.熟悉Java或者scala语言,具有一年以上实际开发经验
.熟悉spark sql 或 spark streaming 或spark core等编程,具有实际开发经验
.熟悉Hadoop生态环境或分布式存储与计算技术
.具有良好的开发习惯
.思维敏捷,学习能力强,具有良好的逻辑分析能力
技能:对Hadoop生态或者spark的掌握程度
快速突破口
掌握Hadoop,Hive的基本使用
重点突破Spark
明确DataFrame/Dataset在整个Spark框架中的核心地位
课程安排
Hadoop部分
1、大数据概述
2、零基础学习Hadoop框架三大核心组件的使用
3、Hive快速入门及使用
Spark SQL部分
1、认知Spark及生态圈
2、零基础搭建Spark环境(源码编译、Spark部署)
3、Spark SQL概述
4、如何从hive平滑的过渡到Spark SQL
5、DataFrame/Dataset操作详解
6、外部数据源详解
7、Spark SQL的愿景深度剖析
8、慕课网日志分析项目实战
前置基础知识要求
- 熟悉基本SQL的使用
- 熟悉常用的Liunx的命令’
- 熟悉一门编程语言(Java/Scala/Python)均可
选择Scala作为开发语言的原因
- Spark内核源码采用Scala开发的
- Spark相对Java开发更加优雅和方便
- 主站有Scala基础课程的视频
- http://www.imooc.com/learn/613
环境参数
- Liunx版本:CentOS(6.4)
- Hadoop版本:CDH(hadoop-2.6.0-cdh5.7.0)
- Hive版本:CDH(hive-1.1.0-cdh5.7.0)
- Scala版本:2.11.8
- Spark版本:spark-2.1.0
- 开发工具:IDEA
1、2如何学好大数据
- 官网、官网、官网
- 英文、英文、英文
- 项目实战对知识点进行巩固和融会贯通
- 社区活动:Meetup、开源社区大会、线下沙龙等
- 切记:多动手、多练习、贵在坚持
1、3开发环境
liunx版本对应
- CentOS(本课程选择的是6.4)
- Ubuntu
- Redhat
- 会提供纯净版的安装镜像文件
Hadoop版本对比及选择
- Apache社区
- CDH版本(本课程选择是cdh5.7.0系列)
- HDP版本
- 会提供OOTB的整套课程的开发环境
课程整套CDH相关软件下载地址:http://archive.cloudera.com/cdh5/cdh/5/
在生产或者测试环境选择对应的CDH版本时,一定要采用相同尾号的版本
开发工具对比选择
- IDEA(本课程的选择)
- Eclipse
1、4 ooptb镜像文件使用介绍
1、软件包
2、安装路径
3、spark源码编译
4、课程脚本文件
1、5大数据概述
大数据带来的技术变革
- 技术瓶颈
- 存储瓶颈
- 数据库瓶颈
大数据公司现存的模式
- 手握大数据,但是没有利用好
- 没有大数据,但是知道如何帮助有数据的人利用它
- 既有数据,又有大数据思维
1、6 Hadoop概述
Hadoop的由来
是一个虚构名称
Hadoop项目作者的孩子给一个棕黄色的大象样子的填充玩具的命名
对于Apache的顶级项目来说,projectname.apache.org
Hadoop:hadoop.apache.org
Hive:hive.apache.org
Spark:spark.apache.org
HBase:hbase.apache.org
什么是Hadoop
一个分布式系统基础架构,由Apache基金会开发。用户可以在不了解分布式底层细节的情况下,开发分布式程序。充分利用集群的威力高速运行和存储。
- Distributed File System(HDFS)
- YARN
- MapReduce
The project includes these modules:
- Hadoop Common: The common utilities that support the other Hadoop modules.
- Hadoop Distributed File System (HDFS™): A distributed file system that provides high-throughput access to application data.
- Hadoop YARN: A framework for job scheduling and cluster resource management.
- Hadoop MapReduce: A YARN-based system for parallel processing of large data sets.
狭义Hapdoop VS 广义Hapdoop
狭义的Hapdoop:是一个适合大数据分布式存储(HDFS)、分布式计算(MapRuduce)和资源调度(YARN)的平台 ;
广义的Hadoop:指的就是Hapdoop生态系统,Hapdoop生态系统是一个庞大的概念