《SQL on Hadoop》

699.00

课程名称及简介:

《SQL on Hadoop》:本课程面向数据仓库管理人员、建模人员,分析人员和应用开发人员如何使用基于Hadoop平台做数据处理、挖掘分析、查询访问等,通过实例学习MapReduce编程,Hive编程,基于Hive 的ETL流程,Hive SQL/UDF,Impala架构,Impala体系架构与计划生成、执行,性能优化,通过实战案列详解使用SQL on Hadoop构建数据开放平台及在实践遇到的各种“坑”和解决方法。

时间

共八周

 

培训方式

视频学习 + 在线答疑 + 每周作业 + 结业考试

 

 

授课对象:

 

  1. Hadoop高级、具有一定Hadoop系统使用经验
  2. 系统架构师、系统分析师、高级程序员、资深开发人员。
  3. 牵涉到大数据处理的数据中心运行、规划、设计负责人。
  4. 政府机关,金融保险、移动和互联网等大数据来源单位的负责人。
  5. 高校、科研院所牵涉到大数据与分布式数据处理的项目负责人。
  6. 数据仓库管理人员、建模人员,分析人员和开发人员、系统管理人员、数据库管理人员以及对数据仓库感兴趣的其他人员。

 

 

课程大纲:

 

为什么非要把SQL放到Hadoop上?SQL易于使用。
那为什么非得基于Hadoop呢?the robust and scalable architecture of Hadoop。

 

第一周:互联网数据仓库与商务智能体系架构、数据生产流程、Hadoop生态系统基本现状

  • Hadoop/Hive/Impala/Flume/Oozie/Sqoop/HBase等基本组件
  • MapReduce编程模型与Tez编程模型比较
  • MapReduce实现wordcount与Tez实现orderwordcount实例
  • 日志压缩存储格式,压缩比,解压效率比较与选型参考
  • ORCFile和Parquet列存储格式及优缺点
  • Impala与MPP架构
  • 一个SQL怎么解析成Impala执行计划(PlanFragment)并分布式执行的
  • HDFS为了支持实时计算做的优化和改进(例如HDFS caching)
  • Impala支持的SQL标准及未来发展趋势


第二周:MapReduce编程基础,Hive编程基础(本节以实例为主)

 

  • 基本的MapReduce编程模型范例(summarization/filter/topN/partition/sort/shuffle/join/group等)
  • 基于Hadoop的统一元数据管理HCatalog及其使用实例
  • 基于HCatalog的MapReduce程序实例
  • MapReduce与Tez的区别
  • 使用MapReduce实现Join和Group by
  • 使用MapReduce和Tez实现同一个SQL语句


第三周:日志收集与压缩存储,基于Hive的ETL流程

 

 

  • 如何给日志建表,日志表该如何分区
  • Fact/dim/summary/topic等数据仓库上层表的逻辑
  • 原生日志/上层表的压缩方法(bzip2/gzip/lzo/Snappy)选型,对应的HDFS存储格式(Text/SequenceFile/Parquet/ORCFile/Avro)选型
  • ORCFile的原理、存储格式,以及dictionary encoding, bit packing, delta encoding, run-length encoding等压缩,以及Predicate Pushdown优化
  • 一个典型的ETL流程实例解析


第四周:Hive SQL解析与性能优化,Hive UDF

 

 

  • 一个SQL解析成MapReduce Job并执行的过程
  • Hive Join的三种实现方式与适用场景
  • 基于ORCFile的列存储格式的性能优化实例
  • Hive SQL中的一些经验:distributed by比order by提供局部有序的结果但是速度更快;使用distinct还是group by哪个去重更快;Hive SQL中的一些坑
  • 如何写Hive UDF


第五周:Impala体系架构与计划生成、执行

 

 

  • Impala的体系架构(impalad/statestored/catalogd)
  • Impala支持的数据类型,SQL命令,内置函数,查询接口
  • 一个SQL解析成Impala执行计划(PlanFragment)并执行的过程
  • Impala对几种主要的SQL查询模式(Select/Filter/Join/Aggregation)的性能


第六周:Impala性能优化,Parquet列式存储,分布式JOIN的实现

 

 

  • 分布式Join的实现和优化
  • 使用Table Statistics/Column Statistics/Explain/Profile命令用于系统的performance tuning
  • 优化Impala参数配置(例如 -mem_limits)
  • Parquet列式存储格式原理、存储格式和性能优化实例分析
  • Parquet实现类似Dremel的嵌套数据类型及其使用方法


第七周:使用SQL on Hadoop构建数据开放平台

 

 

  • Hadoop基本的安全机制
  • Hadoop在文件层次,Hive/Impala在列层次的安全认证和权限管理
  • 几种典型的业务场景下的性能测试
  • Hive/Impala的查询接口(JDBC/Python/beeline/beeswax/hue)
  • HiveServer2
  • 使用Cloudera Manager和hue搭建数据开放平台


第八周:典型案例分析

 

 

  • 其他开源产品Spark/Shark,Presto,Phoenix和商用解决方案Hawq/Greenplum,Redshift的在不同业务场景下的对比分析
  • 基于Hive的ETL系统中可能遇到的一些坑
  • 基于Impala搭建实时查询系统可能遇到的一些坑

 

 

主讲人: 梁堰波

美团网,数据开发与数据挖掘

北京航空航天大学,计算机,硕士
法国电信研发中心,云计算与大数据研究员
百度基础架构部存储组,软件开发实习生
VMware中国研发中心Big Data & Cloud组,研发实习生

新浪微博:@DataScientist
个人博客:http://yanbohappy.sinaapp.com/

 

常见问题:

请点击 http://www.chinahadoop.cn/page/questions

 

试听视频:

请点击 http://www.chinahadoop.cn/course/1

 

Hadoop官方主页:

请点击 http://hadoop.apache.org/

 

 

联系我们:

在线咨询:

小象学院咨询

 

微信公众号:ChinaHadoop

 

 

  • 本课程面向数据仓库管理人员、建模人员,分析人员和应用开发人员如何使用基于Hadoop平台做数据处理、挖掘分析、查询访问等,通过实例学习MapReduce编程,Hive编程,基于Hive 的ETL流程,Hive SQL/UDF,Impala架构,Impala体系架构与计划生成、执行,性能优化,通过实战案列详解使用SQL on Hadoop构建数据开放平台及在实践遇到的各种“坑”和解决方法。
  • Hadoop高级、具有一定Hadoop系统使用经验 系统架构师、系统分析师、高级程序员、资深开发人员。 牵涉到大数据处理的数据中心运行、规划、设计负责人。 政府机关,金融保险、移动和互联网等大数据来源单位的负责人。 高校、科研院所牵涉到大数据与分布式数据处理的项目负责人。 数据仓库管理人员、建模人员,分析人员和开发人员、系统管理人员、数据库管理人员以及对数据仓库感兴趣的其他人员。

授课教师

现就职于某著名互联网公司从事数据开发与挖掘工作。具备多年丰富的大数据领域工作经历,在Hadoop/HBase/Impala/Flume/Sq...