python写的hadoop实战_Hadoop实战

Hadoop实战

1 Hadoop简介

1.1 什么是Hadoop

1.1.1 Hadoop概述

1.1.2 Hadoop的历史

1.1.3 Hadoop的功能与作用

1.1.4 Hadoop的优势

1.1.5 Hadoop的应用现状和发展趋势

1.2 Hadoop项目及其结构

1.3 Hadoop的体系结构

1.3.1 HDFS的体系结构

1.3.2 MapReduce的体系结构

1.4 Hadoop与分布式开发

1.5 Hadoop计算模型—MapReduce

1.6 Hadoop的数据管理

1.6.1 HDFS的数据管理

1.6.2 HBase的数据管理

1.6.3 Hive的数据管理

1.7 小结

2 Hadoop的安装与配置

2.1 在Linux上安装与配置Hadoop

2.1.1 安装JDK 1.6

2.1.2 配置SSH免密码登录

2.1.3 安装并运行Hadoop

2.2 在Windows上安装与配置Hadoop

2.2.1 安装Cygwin

2.2.2 配置环境变量

2.2.3 安装和启动sshd服务

2.2.4 配置SSH免密码登录

2.3 安装和配置Hadoop集群

2.3.1 网络拓扑

2.3.2 定义集群拓扑

2.3.3 建立和安装Cluster

2.4 日志分析及几个小技巧

2.5 小结

3 Hadoop应用案例分析

3.1 Hadoop在Yahoo!的应用

3.2 Hadoop在eBay的应用

3.3 Hadoop在百度的应用

3.4 Hadoop在Facebook的应用

3.5 Hadoop平台上的海量数据排序

3.6 小结

4 MapReduce计算模型

4.1 为什么要用MapReduce

4.2 MapReduce计算模型

4.2.1 MapReduce Job

4.2.2 Hadoop中的Hello World程序

4.2.3 MapReduce的数据流和控制流

4.3 MapReduce任务的优化

4.4 Hadoop流

4.4.1 Hadoop流的工作原理

4.4.2 Hadoop流的命令

4.4.3 实战案例:添加Bash程序和Python程序到Hadoop流中

4.5 Hadoop Pipes

4.6 小结

5 开发MapReduce应用程序

5.1 系统参数的配置

5.2 配置开发环境

5.3 编写MapReduce程序

5.3.1 Map处理

5.3.2 Reduce处理

5.4 本地测试

5.5 运行MapReduce程序

5.5.1 打包

5.5.2 在本地模式下运行

5.5.3 在集群上运行

5.6 网络用户界面

5.6.1 JobTracker页面

5.6.2 工作页面

5.6.3 返回结果

5.6.4 任务页面

5.6.5 任务细节页面

5.7 性能调优

5.8 MapReduce工作流

5.8.1 将问题分解成MapReduce工作

5.8.2 运行相互依赖的工作

5.9 小结

6 MapReduce应用案例

6.1 单词计数

6.1.1 实例描述

6.1.2 设计思路

6.1.3 程序代码

6.1.4 代码解读

6.1.5 程序执行

6.1.6 代码结果

6.2 数据去重

6.2.1 实例描述

6.2.2 设计思路

6.2.3 程序代码

6.3 排序

6.3.1 实例描述

6.3.2 设计思路

6.3.3 程序代码

6.4 单表关联

6.4.1 实例描述

6.4.2 设计思路

6.4.3 程序代码

6.5 多表关联

6.5.1 实例描述

6.5.2 设计思路

6.5.3 程序代码

6.6 小结

7 MapReduce工作机制

7.1 MapReduce作业的执行流程

7.1.1 MapReduce任务的执行总流程

7.1.2 提交作业

7.1.3 初始化作业

7.1.4 分配任务

7.1.5 执行任务

7.1.6 更新任务执行进度和状态

7.1.7 完成作业

7.2 错误处理机制

7.2.1 硬件故障

7.2.2 任务失败

7.3 作业调度机制

7.4 shuffle和排序

7.4.1 map端

7.4.2 reduce端

7.4.3 shuffle过程的优化

7.5 任务执行

7.5.1 推测式执行

7.5.2 任务JVM重用

7.5.3 跳过坏记录

7.5.4 任务执行环境

7.6 小结

8 Hadoop I/O操作

8.1 I/O操作中的数据检查

8.2 数据的压缩

8.2.1 Hadoop对压缩工具的选择

8.2.2 压缩分割和输入分割

8.2.3 在MapReduce程序中使用压缩

8.3 数据的I/O中序列化操作

8.3.1 Writable类

8.3.2 实现自己的Hadoop数据类型

8.4 针对MapReduce的文件类

8.4.1 SequenceFile类

8.4.2 MapFile类

8.5 小结

9 HDFS详解

9.1 Hadoop的文件系统

9.2 HDFS简介

9.3 HDFS体系结构

9.3.1 HDFS的相关概念

9.3.2 HDFS的体系结构

9.4 HDFS的基本操作

9.4.1 HDFS的命令行操作

9.4.2 HDFS的Web界面

9.5 HDFS常用Java API详解

9.5.1 使用Hadoop URL读取数据

9.5.2 使用FileSystem API读取数据

9.5.3 创建目录

9.5.4 写数据

9.5.5 删除数据

9.5.6 文件系统查询

9.6 HDFS中的读写数据流

9.6.1 文件的读取

9.6.2 文件的写入

9.6.3 一致性模型

9.7 HDFS命令详解

9.7.1 通过distcp进行并行复制

9.7.2 HDFS的平衡

9.7.3 使用Hadoop归档文件

9.7.4 其他命令

9.8 小结

10 Hadoop的管理

10.1 HDFS文件结构

10.2 Hadoop的状态监视和管理工具

10.2.1 审计日志

10.2.2 监控日志

10.2.3 Metrics

10.2.4 Java管理扩展

10.2.5 Ganglia

10.2.6 Hadoop管理命令

10.3 Hadoop集群的维护

10.3.1 安全模式

10.3.2 Hadoop的备份

10.3.3 Hadoop的节点管理

10.3.4 系统升级

10.4 小结

11 Hive详解

11.1 Hive简介

11.1.1 Hive的数据存储

11.1.2 Hive的元数据存储

11.2 Hive的基本操作

11.2.1 在集群上安装Hive

11.2.2 配置Hive

11.3 Hive QL详解

11.3.1 数据定义(DDL)操作

11.3.2 数据操作(DML)

11.3.3 SQL操作

11.3.4 Hive QL的使用实例

11.4 Hive的网络(WebUI)接口

11.5 Hive的JDBC接口

11.6 Hive的优化

11.7 小结

12 HBase详解

12.1 HBase简介

12.2 HBase的基本操作

12.2.1 HBase的安装

12.2.2 运行HBase

12.2.3 HBase Shell

12.2.4 HBase配置

12.3 HBase体系结构

12.4 HBase数据模型

12.4.1 数据模型

12.4.2 概念视图

12.4.3 物理视图

12.5 HBase与RDBMS

12.6 HBase与HDFS

12.7 HBase客户端

12.8 Java API

12.9 HBase编程实例之MapReduce

12.10 模式设计

12.10.1 学生表

12.10.2 事件表

12.11 小结

13 Mahout详解

13.1 Mahout简介

13.2 Mahout的安装和配置

13.3 Mahout API简介

13.4 Mahout中的聚类和分类

13.4.1 什么是聚类和分类

13.4.2 Mahout中的数据表示

13.4.3 将文本转化成向量

13.4.4 Mahout中的聚类、分类算法

13.4.5 算法应用实例

13.5 Mahout应用:建立一个推荐引擎

13.5.1 推荐引擎简介

13.5.2 使用Taste构建一个简单的推荐引擎

13.5.3 简单分布式系统下基于产品的推荐系统简介

13.6 小结

14 Pig详解

14.1 Pig简介

14.2 Pig的安装和配置

14.2.1 Pig的安装条件

14.2.2 Pig的下载、安装和配置

14.2.3 Pig运行模式

14.3 Pig Latin语言

14.3.1 Pig Latin语言简介

14.3.2 Pig Latin的使用

14.3.3 Pig Latin的数据类型

14.3.4 Pig Latin关键字

14.4 用户定义函数

14.4.1 编写用户定义函数

14.4.2 使用用户定义函数

14.5 Pig实例

14.5.1 Local模式

14.5.2 MapReduce模式

14.6 Pig进阶

14.6.1 数据实例

14.6.2 Pig数据分析

14.7 小结

15 ZooKeeper详解

15.1 ZooKeeper简介

15.1.1 ZooKeeper的设计目标

15.1.2 数据模型和层次命名空间

15.1.3 ZooKeeper中的节点和临时节点

15.1.4 ZooKeeper的应用

15.2 ZooKeeper的安装和配置

15.2.1 在集群上安装ZooKeeper

15.2.2 配置ZooKeeper

15.2.3 运行ZooKeeper

15.3 ZooKeeper的简单操作

15.3.1 使用ZooKeeper命令的简单操作步骤

15.3.2 ZooKeeper API的简单使用

15.4 ZooKeeper的特性

15.4.1 ZooKeeper的数据模型

15.4.2 ZooKeeper会话及状态

15.4.3 ZooKeeper Watches

15.4.4 ZooKeeper ACL

15.4.5 ZooKeeper的一致性保证

15.5 ZooKeeper的Leader选举

15.6 ZooKeeper锁服务

15.6.1 ZooKeeper中的锁机制

15.6.2 ZooKeeper提供的一个写锁的实现

15.7 使用ZooKeeper创建应用程序

15.8 小结

16 Avro详解

16.1 Avro简介

16.1.1 模式声明

16.1.2 数据序列化

16.1.3 数据排列顺序

16.1.4 对象容器文件

16.1.5 协议声明

16.1.6 协议传输格式

16.1.7 模式解析

16.2 Avro的C/C++实现

16.3 Avro的Java实现

16.4 GenAvro(Avro IDL)语言

16.5 Avro SASL概述

16.6 小结

17 Chukwa详解

17.1 Chukwa简介

17.2 Chukwa架构

17.2.1 客户端(Agent)及其数据模型

17.2.2 收集器(Collector)和分离解析器(Demux)

17.2.3 HICC

17.3 Chukwa的可靠性

17.4 Chukwa集群搭建

17.4.1 基本配置要求

17.4.2 安装Chukwa

17.5 Chukwa数据流的处理

17.6 Chukwa与其他监控系统比较

17.7 小结

18 Hadoop的常用插件与开发

18.1 Hadoop Studio简介和使用

18.1.1 Hadoop Studio的安装和配置

18.1.2 Hadoop Studio的使用举例

18.2 Hadoop Eclipse简介和使用

18.2.1 Hadoop Eclipse安装和配置

18.2.2 Hadoop Eclipse的使用举例

18.2.3 Hadoop Eclipse插件开发

18.3 Hadoop Streaming简介和使用

18.3.1 Hadoop Streaming的使用举例

18.3.2 使用Hadoop Streaming时常见的问题

18.4 Hadoop Libhdfs简介和使用

18.4.1 Hadoop Libhdfs安装和配置

18.4.2 Hadoop Libhdfs API简介

18.4.3 Hadoop Libhdfs的使用举例

18.5 小结

附录A 云计算在线检测平台

A.1 平台介绍

A.2 结构和功能

A.2.1 前台用户接口的结构和功能

A.2.2 后台程序运行的结构和功能

A.3 检测流程

A.4 使用

A.4.1 功能使用

A.4.2 返回结果介绍

A.4.3 使用注意事项

A.5 小结

思维导图

防止博客图床图片失效,防止图片源站外链:

思维导图在线编辑链接:

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/335875.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

mfc 弹簧_弹簧活性样品

mfc 弹簧Spring-Reactive旨在为基于Spring的项目带来响应式编程支持 ,并且有望在Spring 5的时间表中提供。 我的意图是使用此模型为REST端点行使一些非常基本的签名。 在继续之前,请允许我确认整个样本完全基于塞巴斯蒂安德勒兹(SbastienDel…

【Python科学计算系列】矩阵

1.矩阵的幂计算(设计思想:递归) #!/usr/bin/env python # -*- coding: utf-8 -*- import numpy as np def matrixPow(Matrix,n):if(type(Matrix)list):Matrixnp.array(Matrix)if(n1):return Matrixelse:return np.matmul(Matrix,matrixPow(…

layui按钮展开、_layui可折叠的组织架构树形图

layui.config({base: module/}).extend({treetable: treetable-lay/treetable}).use([layer, table, treetable], function () {var $ layui.jquery;var table layui.table;var layer layui.layer;var treetable layui.treetable;// 渲染表格var renderTable function () …

swarm 本地管理远程_带有WildFly Swarm的远程JMS

swarm 本地管理远程我再次在博客中谈论WildFly群? 简短的版本是:我需要对远程JMS访问进行测试,并且拒绝设置复杂的功能(如完整的应用程序服务器)。 这个想法是要有一个简单的WildFly Swarm应用程序,该应用程…

python psycopg2使用_Python中用psycopg2模块操作PostgreSQL方法

其实在Python中可以用来连接PostgreSQL的模块很多,这里比较推荐psycopg2。psycopg2安装起来非常的简单(pip install psycopg2),这里主要重点介绍下如何使用。安装psycopg2模块:怎么验证是否已经安装过psycopy2?编写上面代码,运行…

java ee7帮助文档_帮助推动Java EE向前发展

java ee7帮助文档如果您还记得我写的题为《 Java EE 8:当前状态是什么》的文章 ,很明显,Java EE的发展无疑在过去几个月中有所放缓。 肯定有一些Java EE下的JSR具有比其他JSR更多的活动,但是自JavaOne 2015以来,整个Ja…

【数论系列】集合

1.集合:我们把研究对象统称为元素,把一些元素组成的的总体叫作集合。 集合满足三个特性,即 确定性 , 无序性, 互异性 gather [1, 2, 3, 4, 5, 6] 2. 元素与集合的关系,只有(属于&#xff09…

java解码_Java数组已排序解码

java解码排序是我们在计算机科学中学习的第一个算法。 排序是一个非常有趣的领域,它有大约20多种算法,而且总是很难确定哪种算法最好。 排序算法的效率是根据占用的时间和所需的空间来衡量的。 一些时间气泡排序是最好的,因为它没有空间需求&…

it企业实习_IT公司实习报告总结

IT公司实习报告总结在IT公司进行实习是一种怎样的体验?不妨为自己做一下实习报告总结,下面为各位提供IT公司实习报告总结范文,以作参考!正式实习开始是7月8号,结束于8月7号,还满有意思,78颠倒一下.对于实习&#xff0…

【数论系列】反函数

一、判断反函数是否存在: 由反函数存在定理:严格单调函数必定有严格单调的反函数,并且二者单调性相同: 1、先判读这个函数是否为单调函数,若非单调函数,则其反函数不存在。 设yf(x)的定义域为D&#xff…

java附加属性_Java 9附加流

java附加属性Java 9即将发布! 它不仅仅是Jigsaw项目 。 (我也很惊讶。)它给平台带来了很多小的变化,我想一一看一下。 我将标记所有这些帖子,您可以在这里找到它们。 让我们从…开始 流 Streams学习了两个新技巧。 第…

envi最大似然分类_闲谈最大后验概率估计(MAP estimate)amp;极大似然估计(MLE)和机器学习中的误差分类...

上一篇文章中提到了一个有趣的实验,简单来说就是1-100中有若干个数字是“正确的”,只告诉其中一部分“正确的”数字,去猜全部“正确的”数字。为了严谨的去研究这个问题,我们需要将一些概念进行抽象。首先,把提前告知的…

各种排序算法思想

快速排序 主要思想: 主要是基于分治。(分治解读) 基本步骤: 1.确定分界点x ,常用方式q[l] q[l r >> 1] , q[r] , 左右部分未必长度相等 2.根据分界点x调整区间,使得满足小于等于x的在左边,大于等于x的在右边 3.左右两端&#xf…

ios点击大头针气泡不弹出_iOS高德地图之自定义大头针and泡泡view

啥都不说先看效果图demoIMG_0270.PNG先来说说如何自定义大头针以及点击大头针时弹出的泡泡view一 : 自定义大头针新建CustomAnnotationView 继承自MAAnnotationView添加属性重写- (id)initWithAnnotation:(id)annotation reuseIdentifier:(NSString *)reuseIdentifier重写- (BO…

数据结构【单调栈】

详细解读 至此我们可以解答最开始的疑问,单调栈的根本作用在于求得「每一个数字在原始序列中左 / 右边第一个大于 / 小于它自身的数字」,并且由于每一个数字只会入栈一次且最多出栈一次,因此总的时间复杂度为 O ( n ) 。 另外需要注意&#…

java名 java_Java Syncrhonisers

java名 java线程通信主要通过共享对字段和对象的访问来发生。 尽管这种通信方式非常高效,但它易于出现诸如线程干扰和内存一致性之类的错误。 同步是一种有助于防止此类错误的工具。 但是,同步不是免费提供的,并且在访问当前由另一个线程持有…

leetcode(二分查找算法专题)

二分模板一共有两个,分别适用于不同情况。 算法思路:假设目标值在闭区间[l, r]中, 每次将区间长度缩小一半,当l r时,我们就找到了目标值。 * 其中mid需要在while内部进行更新 * 最小R,最大L , R来加&…

html 完全复制div中的内容_LOL手游现在远非完全体,未来还有哪些端游内容会加入手游中?...

LOL手游上线已经有一段时间了,虽然绝大多数情况下LOL端游的内容被继承到了手游当中,但是仍然有一部分端游的内容尚未出现在手游之内。今天小编就带领大家来盘点一下,那些未来可能出现在手游当中的端游内容。排位赛ban选英雄机制Moba游戏排位赛…

因此,Oracle杀死了java.net

好吧,还没有……但是他们宣布要在2017年5月之前关闭java.net和 kenai。JohnK . Waters 在ADTmag的Kenai和java.net的“ Sunset”一文中接受了我的采访。 由于Oracle很少提供有关已经托管在java.net上的关键项目会发生什么的信息,因此本文中编写的大部分…

【Python科学计算系列】概率论与数理统计

计算排列数 def arrangement(n, m):if n m:return math.factorial(n)else:return math.factorial(n) / math.factorial(n - m) 计算组合数 def arrangement(n, m):return math.factorial(n) / (math.factorial(m) * math.factorial(n - m))