《大数据应用技术课程介绍资料》由会员分享,可在线阅读,更多相关《大数据应用技术课程介绍资料(6页珍藏版)》请在金锄头文库上搜索。
1、 大数据应用技术网络课程大数据应用技术网络课程 1 课程目标课程目标 通过讲解几种主流大数据产品和技术的特性、 实现原理和应用方向, 并组织实习项 目,使学员了解并初步掌握目前流行的大数据主流技术(采集、存储、挖掘等) ,了解 其特点以及使用的场景, 具备一定的大数据系统架构能力, 并能自行开展简单的大数据 应用开发。 2 课程课程内容内容 本次课程讲解的大数据产品和技术包括:hadoop、storm、flume 等,其中以 hadoop 为 主要培训内容。 3 培训课程列表培训课程列表 1. hadoop 生态系统生态系统 (1)HDFS (2 课时)课时) (2)MapReduce2 (2
2、 课时)课时) (3)Hive (1 课时)课时) (4)HBase (2 课时)课时) (5)Sqoop (1 课时)课时) (6)Impala (1 课时)课时) (7)Spark (4 课时)课时) 2. Storm 流计算流计算 (2 课时)课时) 3. Flume 分布式数据处理分布式数据处理 (2 课时)课时) 4. Redis 内存数据库内存数据库 (1 课时)课时) 5 ZooKeeper (1 课时)课时) 4 培训方式培训方式 学员以观看录像、视频会议等方式进行学习,搭建集中环境供大家实习,并设置作 业和答疑环节。每周视频课程约 2 个课时,作业和实习时间约需 2-3 小时
3、,课程持续 10 周左右。 5 课程课程内容内容简介简介 大数据技术在近两年发展迅速,从之前的格网计算、MPP 逐步发展到现在,大数 据技术发展为 3 个主要技术领域:大数据存储、离线大数据分析、在线大数据处理,在 各自领域内,涌现出很多流行的产品和框架。 大数据存储 HDFS、HBase 离线大数据分析 MapReduce、Hive 在线大数据处理 Impala、Storm(流处理) 、Spark、Redis(内存数据库) 、HBase 数据采集 Flume 等 辅助工具 Zookeeper 等 5.1 Hadoop 1) HDFS 介绍:介绍: Hadoop 分布式文件系统(HDFS)被设
4、计成适合运行在通用硬件(commodity hardware)上的分布式文件系统。它和现有的分布式文件系统有很多共同点。但同 时,它和其他的分布式文件系统的区别也是很明显的。HDFS 是一个高度容错性的 系统,适合部署在廉价的机器上。HDFS 能提供高吞吐量的数据访问,非常适合大 规模数据集上的应用。HDFS 放宽了一部分 POSIX 约束,来实现流式读取文件系统 数据的目的。HDFS 是 Apache Hadoop Core 项目的一部分。 培训内容:培训内容: HDFS 设计的思路 HDFS 的模块组成(NameNode、DataNode) HADOOP Core 的安装 HDFS 参数含
5、义及配置 HDFS 文件访问方式 培训目标:培训目标: 使学员掌握 HDFS 这个 HADOOP 基础套件的原理、安装方式、配置方法等 2) MAPREDUCE 介绍:介绍: MapReduce 是一种编程模型,用于大规模数据集(大于 1TB)的并行运算。概 念“Map(映射)“和“Reduce(归约)“,和它们的主要思想,都是从函数式编程语 言里借来的,还有从矢量编程语言里借来的特性。它极大地方便了编程人员在不会 分布式并行编程的情况下,将自己的程序运行在分布式系统上。 当前的软件实现 是指定一个 Map(映射)函数,用来把一组键值对映射成一组新的键值对,指定并 发的 Reduce (归约)
6、 函数, 用来保证所有映射的键值对中的每一个共享相同的键组。 培训内容:培训内容: MapReduce 环境配置 JobTracker/TaskTracker 的作用 简单的 MapReduce 示例 培训目标:培训目标: 使学员初步了解 MapReduce 的工作原理与使用方式 3) HIVE 介绍:介绍: hive 是基于 Hadoop 的一个数据仓库工具,可以将结构化的数据文件映射为一 张数据库表,并提供简单的 sql 查询功能,可以将 sql 语句转换为 MapReduce 任务 进行运行。 其优点是学习成本低, 可以通过类 SQL 语句快速实现简单的 MapReduce 统计,不必开
7、发专门的 MapReduce 应用,十分适合数据仓库的统计分析。 培训内容:培训内容: Hive 组件的安装 Hive 与传统关系型数据库的区别 Hive 的一些特性 Hive 的访问方式 简单 HiveQL 语言介绍 培训目标:培训目标: 使学员初步了解 Hive 的作用,以及简单的 hiveql 4) HBASE 介绍:介绍: HBase 是一个分布式的、面向列的开源数据库,该技术来源于 Fay Chang 所撰 写的 Google 论文“Bigtable: 一个结构化数据的分布式存储系统”。 就像 Bigtable 利用 了 Google 文件系统(File System)所提供的分布式
8、数据存储一样,HBase 在 Hadoop 之上提供了类似于Bigtable的能力。 HBase是Apache的Hadoop项目的子项目。 HBase 不同于一般的关系数据库,它是一个适合于非结构化数据存储的数据库。另一个不 同的是 HBase 基于列的而不是基于行的模式。 培训内容:培训内容: Hbase 组件的安装 Hbase 与传统 RDBMS 的比较 Hbase 的一些特性 Hbase 的访问方式 培训目标:培训目标: 使学员初步了解 Hive 的作用,以及简单的 Hbase 应用 5) SQOOP 介绍:介绍: Sqoop(发音:skup)是一款开源的工具,主要用于在 HADOOP(
9、Hive)与传统的数 据库(mysql、postgresql.)间进行数据的传递,可以将一个关系型数据库(例如 : MySQL ,Oracle ,Postgres 等)中的数据导进到 Hadoop 的 HDFS 中,也可以将 HDFS 的 数据导进到关系型数据库中。 培训内容:培训内容: Sqoop 组件的安装 数据导入导出 Hive 数据导入一致性 培训目标:培训目标: 使学员了解 Sqoop 的使用, 并能做一些简单的 RDBMS 与 Hive 之间的数据导入 导出工作 6) IMPALA 介绍:介绍: Impala 是 Cloudera 公司主导开发的新型查询系统,它提供 SQL 语义,
10、能查询 存储在 Hadoop 的 HDFS 和 HBase 中的 PB 级大数据。 已有的 Hive 系统虽然也提供了 SQL 语义,但由于 Hive 底层执行使用的是 MapReduce 引擎,仍然是一个批处理过 程,难以满足查询的交互性。相比之下,Impala 的最大特点也是最大卖点就是它的 快速。 培训内容:培训内容: Impala 的工作原理及其与 Hive 的区别 Impala 的一些特性 Impala 的安装 Impala 的访问 培训目标:培训目标: 使学员初步了解 Impala 的作用,以及简单的 impala 的使用 7) SPARK 介绍:介绍: Spark 是发源于美国加
11、州大学伯克利分校 AMPLab 的集群计算平台。它立足于 内存计算,从多迭代批量处理出发,兼收并蓄数据仓库、流处理和图计算等多种计 算范式,是罕见的全能选手。 培训内容:培训内容: Spark 的工作模式 Spark 与 Hadoop/MapReduce 的关系与区别 Spark 的安装 Spark 的使用 培训目标:培训目标: 使学员初步了解 Spark 这种新兴起的技术,以及它与目前广泛使用的 Hadoop 类技术的区别 5.2 Storm 介绍:介绍: Storm 是一个用 Clojure 语言实现的免费开源、 分布式、 高容错的实时计算系统。 Storm 令持续不断的流计算变得容易,弥
12、补了 Hadoop 批处理所不能满足的实时要求。 Storm 经 常用于在实时分析、在线机器学习、持续计算、分布式远程调用和 ETL 等领域。Storm 的 部署管理非常简单,而且,在同类的流式计算工具,Storm 的性能也是非常出众的。 Storm 集成了许多库,支持包括 Kestrel、Kafka、JMS、Cassandra、 Memcached 以及更 多系统。随着支持的库越来越多,Storm 更容易与现有的系统协作。 培训内容:培训内容: 流处理的概念 Storm 的原理 Storm 的安装 Storm 流处理机制 Storm 数据流分发机制 Storm 消息机制 培训目标培训目标:
13、使学员能够了解流处理的概念、使用场景,Storm 的相关概念以及应用场景 5.3 FLUME FLUME 介绍介绍 Flume 最早是 Cloudera 提供的日志收集系统, 目前是 Apache 下的一个孵化项目, Flume 支持在日志系统中定制各类数据发送方,用于收集数据。 Flume 提供对数据进行简单处理,并写到各种数据接受方(可定制)的能力 Flume 提供 了从 console(控制台) 、RPC(Thrift-RPC) 、text(文件) 、tail(UNIX tail) 、syslog(syslog 日志系统,支持 TCP 和 UDP 等 2 种模式) ,exec(命令执行)
14、等数据源上收集数据的能 力。 培训内容培训内容 1、FLUME-NG 的安装 2、Flume 的组件分类 3、FLUME-NG 的工作方式 4、FLUME-NG 的配置 5、以 UDP SYSLOG 采集为例,说明 FLUME 的配置 目标目标 通过对 FLUME 的学习,使学员初步掌握分布式数据采集、拓扑配置的方式和方法 5.4 REDIS 介绍介绍 Redis 是一个开源的使用 ANSI C 语言编写、 支持网络、 可基于内存亦可持久化的日志型、 Key-Value 数据库,并提供多种语言的 API。 培训内容培训内容 1、redis 的安装 2、redis 试用场景 3、redis 的简
15、要开发方式(JAVA 语言) 目标目标 通过对 redis 的学些,掌握 redis 简单的安装、配置、开发、试用的方式和方法 5.5 ZooKeeper 介绍介绍: ZooKeeper 是一个分布式的, 开放源码的分布式应用程序协调服务, 是 Google 的 Chubby 一个开源的实现,是 Hadoop 和 Hbase 的重要组件。它是一个为分布式应用提供一致服务 的软件,提供的功能包括:配置维护、名字服务、分布式同步、组服务等。 培训内容培训内容: Zookeeper 原理 Zookeeper 部署 Zookeeper 使用(以 java 为例) 培训目标培训目标: 使学员能够基本了解 zookeeper 在各种分布式系统中的作用,并初步掌握其使用方式