zoukankan      html  css  js  c++  java
  • 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的爬虫索引库

      银行人民币查询系统

     

  • 相关阅读:
    阿里云 k8s 部署 Spring Cloud Alibaba 微服务实践 (四) 自动化部署
    阿里云 k8s 部署 Spring Cloud Alibaba 微服务实践 (三) 服务观测
    阿里云 k8s 部署 Spring Cloud Alibaba 微服务实践 (二) 部署微服务程序
    阿里云 k8s 部署 Spring Cloud Alibaba 微服务实践 (一) 部署 Nacos
    C++知识点
    libmkl 学习笔记
    基于tesseract-OCR进行中文识别
    poco编译与运行
    Linux下的I/O复用与epoll详解(转载)
    高并发网络编程之epoll详解(转载)
  • 原文地址:https://www.cnblogs.com/timssd/p/5380593.html
Copyright © 2011-2022 走看看