• MapReduce/Hbase进阶提升(原理剖析、实战演练)


    什么是MapReduce?

        MapReduce是一种编程模型,用于大规模数据集(大于1TB)的并行运算。概念"Map(映射)"和"Reduce(归约)",和他们的主要思想,都是从函数式编程语言里借来的,还有从矢量编程语言里借来的特性。他极大地方便了编程人员在不会分布式并行编程的情况下,将自己的程序运行在分布式系统上。 当前的软件实现是指定一个Map(映射)函数,用来把一组键值对映射成一组新的键值对,指定并发的Reduce(归约)函数,用来保证所有映射的键值对中的每一个共享相同的键组。 

     

    有什么用途?

    在Google,MapReduce用在非常广泛的应用程序中,包括“分布grep,分布排序,web连接图反转,每台机器的词矢量,web访问日志分析,反向索引构建,文档聚类,机器学习,基于统计的机器翻译...”值得注意的是,MapReduce实现以后,它被用来重新生成Google的整个索引,并取代老的ad hoc程序去更新索引。

    MapReduce会生成大量的临时文件,为了提高效率,它利用Google文件系统来管理和访问这些文件。

    在谷歌,超过一万个不同的项目已经采用MapReduce来实现,包括大规模的算法图形处理、文字处理、数据挖掘、机器学习、统计机器翻译以及众多其他领域。

    什么是HBase?

    HBase是一个分布式的、面向列的开源数据库,该技术来源于 Fay Chang 所撰写的Google论文“Bigtable:一个结构化数据的分布式存储系统”。就像Bigtable利用了Google文件系统(File System)所提供的分布式数据存储一样,HBase在Hadoop之上提供了类似于Bigtable的能力。HBase是Apache的Hadoop项目的子项目。HBase不同于一般的关系数据库,它是一个适合于非结构化数据存储的数据库。另一个不同的是HBase基于列的而不是基于行的模式。

     

    有什么用途?

    HBase – Hadoop Database,是一个高可靠性、高性能、面向列、可伸缩的分布式存储系统,利用HBase技术可在廉价PC Server上搭建起大规模结构化存储集群。

    与Yonghong Z-Data Mart等商用大数据产品不同,HBase是Google Bigtable的开源实现,类似Google Bigtable利用GFS作为其文件存储系统,HBase利用Hadoop HDFS作为其文件存储系统;Google运行MapReduce来处理Bigtable中的海量数据,HBase同样利用Hadoop MapReduce来处理HBase中的海量数据;Google Bigtable利用 Chubby作为协同服务,HBase利用Zookeeper作为对应。

     

    课程介绍

          本课程主要针对MapReduce和HBase的高阶应用做深入的讲解和实战演练

    课程针对人群

    1、本课程适合于有一定java基础知识,对数据库和sql语句有一定了解,熟练使用linux系统的技术人员,特别适合于想换工作或寻求高薪职业的人士

    2、最好有Greenplum Hadoop、Hadoop2.0、YARN等大数据基础,学习过北风课程《Greenplum 分布式数据库开发入门到精通》、《全面深入Greenplum Hadoop大数据分析平台》、《Hadoop2.0、YARN深入浅出》为最佳

     

     

    课程大纲 

    MapReduce多语言编程(5课时)

    MapReduce编程接口

    Java编程接口实例解析

    Hadoop Streaming实现方式

    Hadoop Streaming编程实战(C++,PHP,PYTHON)

    Hadoop Streaming原理剖析

    Hadoop Pipes的编程实例

    Hadoop Pipes的原理剖析

    MapReduce高阶实现(14课时)

    复杂的MapReduce应用

      K-means聚类、贝叶斯分类等

    工作流编程实例及原理剖析

      JobControl、ChainMapper/ChainReducer

    Hadoop工作流引擎

    常用MapReduce优化技巧

      配置多个reducer

      设置Stream的处理格式

      控制分片的大小

      避免分片

      输入格式:文本输入、多种类型输入

      输出控制:多个输出、延迟输出

      实战:数据分区

    MapReduce高级特性

      计数器、内置计数器

      实例:用户自定义计数器

      MapReduce部分排序的实现

      实例:MapReduce全排序

      Terasort算法分析

      实例:MapReduce实现二次排序

      连接、Map端连接的实现

      实例:Reduce端连接

      连接类型、连接策略介绍

      重分区连接框架的实现

      复制连接框架的实现

      实例:半连接

      全局作业参数/数据文件传递

    HBase编程实践及案例分析(10课时)

    HBase基础精讲

    HBase Java编程实例

    HBase多语言编程

      Thrift安装、服务配置

      HBase C++编程实例

      HBase Python编程实例

    HBase MapReduce编程基础

    实战:HBase MapReduce编程

    Hbase案例:OpenTSDB的实现

    基于HBase的爬虫调度库

    基于HBase的爬虫索引库

      银行人民币查询系统

     

  • 相关阅读:
    计划任务
    swap
    fdisk
    raid 搭建
    Http协议中Cookie详细介绍
    linux系统日志以及分析
    搞清楚php-FPM到底是什么?
    Amoeba+Mysql实现数据库读写分离
    Last_SQL_Error: Error 'Can't drop database 'ABC'; database doesn't exist' on query. Default database: 'ABC'. Query: 'drop database ABC'
    MySQL主从失败, 错误Got fatal error 1236解决方法
  • 原文地址:https://www.cnblogs.com/timssd/p/5380593.html
Copyright © 2020-2023  润新知