zoukankan      html  css  js  c++  java
  • 大数据学习之路

    http://www.chinahadoop.cn/page/developer

    什么是大数据开发师?

    围绕大数据系平台系统级的研发人员, 熟练Hadoop、Spark、Storm等主流大数据平台的核心框架。深入掌握如何编写MapReduce的作业及作业流的管理完成对数据的计算,并能够使用Hadoop提供的通用算法, 熟练掌握Hadoop整个生态系统的组件如: Yarn,HBase、Hive、Pig等重要组件,能够实现对平台监控、辅助运维系统的开发。

    通过学习一系列面向开发者的Hadoop、Spark等大数据平台开发技术,掌握设计开发大数据系统或平台的工具和技能,能够从事分布式计算框架如Hadoop、Spark群集环境的部署、开发和管理工作,如性能改进、功能扩展、故障分析等。

    Follow the developer path:

    1、《hadoop大数据平台基础》

    • 学习编写生产环境所需的mapreduce程序
    • 掌握真实数据分析所需的高级API

    第1周 Hadoop生态系统概述以及版本演化
    概要介绍Hadoop生态系统及其版本演化历史,并给出hadoop版本选择建议。

    第2周 HDFS 2.0 原理、特性与基本架构
    介绍HDFS 2.0原理与架构,并与HDFS 1.0进行对比。介绍HDFS 2.0新特性,包括快照、缓存、异构存储架构等

    第3周 YARN应用场景、基本架构与资源调度
    介绍YARN是什么、基本原理与架构,并剖析其调度策略。

    第4周 MapReduce 2.0基本原理与架构
    介绍计算框架MapReduce基本原理与架构

    第5周 MapReduce 2.0编程实践(涉及多语言编程)
    手把手介绍如何用java、C++、php等语言编写MapReduce程序

    第6周 HBase应用场景、原理与基本架构
    介绍HBase应用场景、原理和架构

    第7周 HBase编程实践(涉及多语言编程)
    手把手介绍如何用Java、C++、Python等语言编写HBase客户端程序。

    第8周 HBase案例分析
    介绍几个HBase典型应用案例,包括互联网应用案例和银行应用案例。

    第9周 Zookeeper部署及典型应用
    介绍Zookeeper是什么,在hadoop生态系统中的地位

    第10周 Hadoop数据入库系统Flume与Sqoop
    介绍如何使用flume和sqoop两个系统将外部流式数据(比如网站日志,用户行为数据等)、关系型数据库(比如MySQL、Oracle等)中的数据导入Hadoop中进行分析和挖掘

    第11周 数据分析系统Hive与Pig应用与比较
    介绍如何使用hive和pig分析hadoop中的海量数据

    第12周 数据挖掘工具包Mahout
    介绍如何使用mahout提供的数据挖掘和机器学习算法进行海量数据挖掘

    第13周 工作流引擎Oozie与Azkaban应用
    介绍如何使用Oozie和azkaban对MapReduce作业、Pig/hive作业等进行统一管理和调度

    第14周 两个综合案例:日志分析系统与机器学习平台
    介绍两个典型的互联网应用案例,进一步深入领悟hadoop生态系统中各个系统的应用场景和解决实际问题的方式。

    2、《大数据前置课程系列--scala》

    • 学习spark之必备,一种新型的oop的编程语言
    • 掌握在面向对象的编程中使用函数式编程理念

    第一周 Scala基础

                        • 值与变量的声明
                        • 常用类型简介
                        • 函数与方法的定义与使用
                        • 条件表达式
                        • 循环及高级for循环使用
                        • lazy值
                        • 默认参数、带名参数及变长参数
                        • 异常处理
                        • 数组相关操作
                        • Map操作

    第二周 Scala面向对象编程

                        • 类定义
                        • 类的属性
                        • 主构造器
                        • 辅助构造器
                        • object对象
                        • apply方法
                        • 类的继承
                        • 方法重写与字段重写
                        • 抽象类
                        • trait
                        • 包的定义与使用
                        • 包对象定义与使用
                        • 文件访问

    第三周 Scala函数式编程

                      • 高阶函数的定义
                      • 值函数
                      • 匿名函数
                      • 闭包
                      • SAM与Curry
                      • 高阶函数示例
                      • 集合简介
                      • 序列
                      • 可变列表与不可变列表
                      • 集合操作
                      • case class
                      • 模式匹配

    第四周 Scala高级编程

                        • 泛型类
                        • 泛型函数
                        • Lower bounds 与 Upper bounds
                        • View bounds
                        • Context bounds
                        • 协变与逆变
                        • 隐式转换
                        • 隐式参数
                        • 隐式类

    3、《spark大数据平台基础》

    • 学习基于内存的批式和流式数据分析方法
    • 掌握优化应用程序,达到快速、易用的目的

    第一周 Spark生态系统概述与编程模型

      • Spark生态系统概述
      • 回顾Hadoop MapReduce
      • Spark运行模式
      • RDD
      • Spark运行时模型简介
      • 缓存策略介绍
      • transformation
      • action
      • lineage
      • 容错处理
      • 宽依赖与窄依赖
      • 集群配置


    第二周 深入Spark内核

      • Spark术语解释
      • 集群概览
      • 核心组件
      • 数据本地性
      • 常用RDD
      • 任务调度
      • DAGScheduler
      • TaskScheduler
      • Task细节
      • 广播变量
      • 累加器
      • 性能调优


    第三周 Spark Streaming原理与实践

      • DStream
      • 数据源
      • 无状态transformation与有状态transformation
      • checkpoint
      • 容错
      • 性能优化


    第四周 Shark原理与实践

      • 数据模型
      • 数据类型
      • Shark架构
      • Shark部署
      • 缓存(分区)表
      • SharkServer
      • Shark与Spark结合


    第五周 Machine Learning on Spark

      • LinearRegression
      • K-Means
      • Collaborative Filtering


    第六周 Spark多语言编程

      • Python简介
      • PySpark API
      • 使用Python编写Spark程序
      • Spark with Java


    第七周 Spark SQL

      • 架构与实例
      • Parquet支持
      • DSL
      • SQL on RDD


    第八周 图计算GraphX

      • 现存的图计算框架
      • Table Operators
      • Graph Operators
      • GraphX设计


    第九周 Spark on Yarn

      • Spark on Yarn原理
      • Spark on Yarn实践


    第十周 JobServer

          • 整体架构
          • API介绍
          • 配置与部署

    4、《Hadoop进阶》

    • 深入学习mapreduce及其作业调试、优化方法
    • 深度掌握hdfs及系统级的运维、性能优化方法

    第一部分. MapReduce

    Mapreduce工作流程及基本架构回顾

    运维相关

      • 参数调优
      • benchmark
      • reuse jvm
      • 错误感知及speculative执行
      • task日志分析
      • 可容忍错误百分比设置及跳过坏记录
      • 选择fairescheduler等其他调度器优化性能

    开发相关

      • 数据类型选择
      • 实现自定义writable数据类型、自定义key
      • 一个mapper中输出不同类型value
      • InputFormat/OutputFormat,原理及定制
      • Mapper/Reducer/Combiner,Combiner的使用及其对mapreduce框架优化的作用
      • Partitioner定制
      • 排序策略GroupingComparator/SortComparator
      • 任务调度原理及修改方法(案例,map/reduce共享slot,按标识精准map/reduce调度)
      • Streaming
      • DistributedCache
      • mapreduce任务间依赖
      • counter
      • JobChild参数设置
      • 性能优化

     

    第二部分. hdfs

    HDFS API

    fuse(C API)

    压缩

    HDFS benchmark

    Datanode添加及删除

    多盘支持,磁盘错误感知

    hdfs raid

    HDFS block size设置相关问题

    文件备份数设置

    HDFS中合并文件

     

    第三部分. Hadoop工具

    dfsadmin/mradmin/balancer/distcp/fsck/fs/job

    监控及报警

    hadoop配置管理

     

    第四部分. Hadoop调试

    Log

    本地模式调试map/reduce任务

    远程调试

     

    第五部分. 问题分析

    Java GC介绍及java进程常用的分析工具jstat、jhat、jmap

    top/iostat/netstat/lsof等

    Jstack/kill -3

    Strace

    nload/tcpdump

     

    第六部分.分析示例

    MapReduce简单分析

    用MapReduce实现Group-by

    用MapReduce实现倒排索引

    MapReduce实现直方图

    MapReduce实现Join

    5、《Hbase进阶》

    • 学习针对海量数据集设计合理的Schema
    • 掌握Hbase性能优化方法和使用场景

    6、《SQL on hadoop》

    • 学习Hive SQL解析与性能优化,Impala任务生成等
    • 掌握使用SQL on hadoop构建数据开放平台

    7、《Hadoop/Spark企业应用实战》

    • 学习生产系统中应用Hadoop、Spark的使用方法
    • 掌握与现有企业BI平台整合的解决方案
  • 相关阅读:
    NOI2005 聪聪和可可
    CodeVS 1344 线型网络
    BZOJ 2466: [中山市选2009]树
    BZOJ 3827: [Poi2014]Around the world
    BZOJ 1109: [POI2007]堆积木Klo
    BZOJ 2124: 等差子序列
    BZOJ 4544: 椭圆上的整点
    BZOJ 2342: [Shoi2011]双倍回文
    BZOJ 2084: [Poi2010]Antisymmetry
    BZOJ 3111: [Zjoi2013]蚂蚁寻路
  • 原文地址:https://www.cnblogs.com/hanying/p/4162891.html
Copyright © 2011-2022 走看看