当前位置:首页 > 工业技术
Hadoop基础教程
Hadoop基础教程

Hadoop基础教程PDF电子书下载

工业技术

  • 电子书积分:12 积分如何计算积分?
  • 作 者:(英)特金顿著
  • 出 版 社:北京:人民邮电出版社
  • 出版年份:2014
  • ISBN:9787115341334
  • 页数:310 页
图书介绍:本书从基本的安装和配置Hadoop开始,解释了如何开发应用程序、维护系统,以及如何使用附加产品与来其他系统集成。本书还对体现Hadoop是如何集成到关系数据库和日志采集的工具,如Hive,Sqoop,Flume等进行了讲解。
《Hadoop基础教程》目录
标签:基础 教程

第1章 绪论 1

1.1大数据处理 1

1.1.1数据的价值 2

1.1.2受众较少 2

1.1.3一种不同的方法 4

1.1.4 Hadoop 7

1.2基于Amazon Web Services的云计算 12

1.2.1云太多了 12

1.2.2第三种方法 12

1.2.3不同类型的成本 12

1.2.4 AW S : Amazon的弹性架构 13

1.2.5本书内容 14

1.3小结 15

第2章 安装并运行Hadoop 16

2.1基于本地Ubuntu主机的Hadoop系统 16

2.2实践环节:检查是否已安装JDK 17

2.3实践环节:下载Hadoop 18

2.4实践环节:安装SSH 19

2.5实践环节:使用Hadoop计算圆周率 20

2.6实践环节:配置伪分布式模式 22

2.7实践环节:修改HDFS的根目录 24

2.8实践环节:格式化NameNode 25

2.9实践环节:启动Hadoop 26

2.10实践环节:使用HDFS 27

2.11实践环节:MapReduce的经典入门程序——字数统计 28

2.12使用弹性MapReduce 33

2.13实践环节:使用管理控制台在EMR运行WordCount 34

2.13.1使用EMR的其他方式 41

2.13.2 AWS生态系统 42

2.14本地Hadoop与EMR Hadoop的对比 42

2.15 小结 43

第3章 理解MapReduce 44

3.1键值对 44

3.1.1具体含义 44

3.1.2为什么采用键/值数据 45

3.1.3 MapReduce作为一系列键/值变换 46

3.2 MapReduce的Hadoop Java API 47

3.3编写MapReduce程序 50

3.4实践环节:设置classpath 50

3.5实践环节:实现WordCount 51

3.6实践环节:构建JAR文件 53

3.7实践环节:在本地Hadoop集群运行WordCount 54

3.8实践环节:在EMR上运行WordCount 54

3.8.1 0.20之前版本的Java MapReduce API 56

3.8.2 Hadoop提供的mapper和 reducer实现 57

3.9实践环节:WordCount的简易方法 58

3.10查看WordCount的运行全貌 59

3.10.1启动 59

3.10.2将输入分块 59

3.10.3任务分配 60

3.10.4任务启动 60

3.10.5不断监视JobTracker 60

3.10.6 mapper的输入 61

3.10.7 mapper的执行 61

3.10.8 mapper的输出和reducer的输入 61

3.10.9分块 62

3.10.10可选分块函数 62

3.10.11 reducer类的输入 62

3.10.12 reducer类的执行 63

3.10.13 reducer类的输出 63

3.10.14关机 63

3.10.15这就是MapReduce的全部 64

3.10.16也许缺了combiner 64

3.11实践环节:使用combiner编写Word Count 64

3.12实践环节:更正使用combiner的 WordCount 65

3.13 Hadoop专有数据类型 67

3.13.1 Writable和Writable- Comparable接口 67

3.13.2 wrapper类介绍 68

3.14实践环节:使用Writable包装类 69

3.15 输入/输出 71

3.15.1文件、split和记录 71

3.15.2 InputFormat和RecordReader 71

3.15.3 Hadoop提供的InputFormat 72

3.15.4 Hadoop提供的RecordReader 73

3.15.5 OutputFomat和Record-Writer 73

3.15.6 Hadoop提供的OutputFormat 73

3.15.7别忘了Sequence files 74

3.16小结 74

第4章 开发MapReduce程序 75

4.1使用非Java语言操作Hadoop 75

4.1.1 Hadoop Streaming工作原理 76

4.1.2使用Hadoop Streaming的原因 76

4.2实践环节:使用Streaming实现Word- Count 76

4.3分析大数据集 79

4.3.1获取UFO目击事件数据集 79

4.3.2了解数据集 80

4.4实践环节:统计汇总UFO数据 80

4.5实践环节:统计形状数据 82

4.6实践环节:找出目击事件的持续时间与UFO形状的关系 84

4.7实践环节:在命令行中执行形状/时间分析 87

4.8实践环节:使用ChainMapper进行字段验证/分析 88

4.9实践环节:使用Distributed Cache改进地点输出 93

4.10计数器、状态和其他输出 96

4.11实践环节:创建计数器、任务状态和写入日志 96

4.12小结 102

第5章 高级MapReduce技术 103

5.1初级、高级还是中级 103

5.2多数据源联结 103

5.2.1不适合执行联结操作的情况 104

5.2.2 map端联结与reduce端联结的对比 104

5.2.3匹配账户与销售信息 105

5.3实践环节:使用MultipleInputs实现reduce端联结 105

5.3.1实现map端联结 109

5.3.2是否进行联结 112

5.4图算法 112

5.4.1 Graph 101 112

5.4.2图和MapReduce 112

5.4.3图的表示方法 113

5.5实践环节:图的表示 114

5.6实践环节:创建源代码 115

5.7实践环节:第一次运行作业 119

5.8实践环节:第二次运行作业 120

5.9实践环节:第三次运行作业 121

5.10实践环节:第四次也是最后一次运行作业 122

5.10.1运行多个作业 124

5.10.2关于图的终极思考 124

5.11使用语言无关的数据结构 124

5.11.1候选技术 124

5.11.2 Avro简介 125

5.12实践环节:获取并安装Avro 125

5.13实践环节:定义模式 126

5.14实践环节:使用Ruby创建Avro源数据 127

5.15 实践环节:使用Java语言编程操作Avro数据 128

5.16实践环节:在MapReduce中统计UFO形状 130

5.17实践环节:使用Ruby检查输出数据 134

5.18实践环节:使用Java检查输出数据 135

5.19小结 137

第6章 故障处理 138

6.1故障 138

6.1.1拥抱故障 138

6.1.2至少不怕出现故障 139

6.1.3严禁模仿 139

6.1.4故障类型 139

6.1.5 Hadoop节点故障 139

6.2实践环节:杀死DataNode进程 141

6.3实践环节:复制因子的作用 144

6.4实践环节:故意造成数据块丢失 146

6.5实践环节:杀死TaskTracker进程 149

6.6实践环节:杀死JobTracker 153

6.7实践环节:杀死NameNode进程 154

6.8实践环节:引发任务故障 160

6.9数据原因造成的任务故障 163

6.10实践环节:使用skip模式处理异常数据 164

6.11小结 169

第7章 系统运行与维护 170

7.1关于EMR的说明 170

7.2 Hadoop配置属性 171

7.3实践环节:浏览默认属性 171

7.3.1附加的属性元素 172

7.3.2默认存储位置 172

7.3.3设置Hadoop属性的几种方式 173

7.4集群设置 174

7.4.1为集群配备多少台主机 174

7.4.2特殊节点的需求 176

7.4.3不同类型的存储系统 177

7.4.4 Hadoop的网络配置 178

7.5实践环节:查看默认的机柜配置 180

7.6实践环节:报告每台主机所在机柜 180

7.7集群访问控制 183

7.8实践环节:展示Hadoop的默认安全机制 183

7.9管理NameNode 187

7.10实践环节:为fsimage文件新增一个存储路径 188

7.11实践环节:迁移到新的NameNode主机 190

7.12管理HDFS 192

7.12.1数据写入位置 192

7.12.2使用平衡器 193

7.13 MapReduce管理 193

7.13.1通过命令行管理作业 193

7.13.2作业优先级和作业调度 194

7.14实践环节:修改作业优先级并结束作业运行 194

7.15 扩展集群规模 197

7.15.1提升本地Hadoop集群的计算能力 197

7.15.2提升EMR作业流的计算能力 198

7.16小结 198

第8章 Hive:数据的关系视图 200

8.1 Hive概述 200

8.1.1为什么使用Hive 200

8.1.2感谢Facebook 201

8.2设置Hive 201

8.2.1准备工作 201

8.2.2下载Hive 202

8.3实践环节:安装Hive 202

8.4使用Hive 203

8.5实践环节:创建UFO数据表 204

8.6实践环节:在表中插入数据 206

8.7实践环节:验证表 208

8.8实践环节:用正确的列分隔符重定义表 210

8.9实践环节:基于现有文件创建表 212

8.10实践环节:执行联结操作 214

8.11实践环节:使用视图 216

8.12实践环节:导出查询结果 219

8.13实践环节:制作UFO目击事件分区表 221

8.13.1分桶、归并和排序 224

8.13.2用户自定义函数 225

8.14实践环节:新增用户自定义函数 225

8.14.1是否进行预处理 228

8.14.2 Hive和Pig的对比 229

8.14.3未提到的内容 229

8.15 基于Amazon Web Services的Hive 230

8.16实践环节:在EMR上分析UFO 数据 230

8.16.1在开发过程中使用交互式作业流 235

8.16.2与其他AWS产品的集成 236

8.17小结 236

第9章 与关系数据库协同工作 238

9.1常见数据路径 238

9.1.1 Hadoop用于存储档案 238

9.1.2使用Hadoop进行数据预处理 239

9.1.3使用Hadoop作为数据输入工具 239

9.1.4数据循环 240

9.2配置MySQL 240

9.3实践环节:安装并设置MySQL 240

9.4实践环节:配置MySQL允许远程连接 243

9.5实践环节:建立员工数据库 245

9.6把数据导入Hadoop 246

9.6.1使用MySQL工具手工导入 246

9.6.2在mapper中访问数据库 246

9.6.3更好的方法:使用Sqoop 247

9.7实践环节:下载并配置Sqoop 247

9.8实践环节:把MySQL的数据导入HDFS 249

9.9实践环节:把MySQL数据导出到Hive 253

9.10实践环节:有选择性的导入数据 255

9.11实践环节:使用数据类型映射 257

9.12实践环节:通过原始查询导入数据 258

9.13从Hadoop导出数据 261

9.13.1在reducer中把数据写入关系数据库 261

9.13.2利用reducer输出SQL数据文件 262

9.13.3仍是最好的方法 262

9.14实践环节:把Hadoop数据导入MySQL 262

9.15 实践环节:把Hive数据导入MySQL 265

9.16实践环节:改进mapper并重新运行数据导出命令 267

9.17在AWS上使用Sqoop 269

9.18小结 270

第10章 使用Flume收集数据 271

10.1关于AWS的说明 271

10.2无处不在的数据 271

10.2.1数据类别 272

10.2.2把网络流量导入Hadoop 272

10.3实践环节:把网络服务器数据导入Hadoop 272

10.3.1把文件导入Hadoop 273

10.3.2潜在的问题 273

10.4 Apache Flume简介 274

10.5实践环节:安装并配置Flume 275

10.6实践环节:把网络流量存入日志文件 277

10.7实践环节:把日志输出到控制台 279

10.8实践环节:把命令的执行结果写入平面文件 281

10.9实践环节:把远程文件数据写入本地平面文件 283

10.9.1信源、信宿和信道 284

10.9.2 Flume配置文件 286

10.9.3一切都以事件为核心 287

10.10实践环节:把网络数据写入HDFS 287

10.11实践环节:加入时间戳 289

10.12实践环节:多层Flume网络 292

10.13实践环节:把事件写入多个信宿 294

10.13.1选择器的类型 295

10.13.2信宿故障处理 295

10.13.3使用简单元件搭建复杂系统 296

10.14更高的视角 297

10.14.1数据的生命周期 297

10.14.2集结数据 297

10.14.3调度 297

10.15 小结 298

第11章 展望未来 299

11.1全书回顾 299

11.2即将到来的Hadoop变革 300

11.3其他版本的Hadoop软件包 300

11.4其他Apache项目 303

11.4.1 HBase 303

11.4.2 Oozie 303

11.4.3 Whir 304

11.4.4 Mahout 304

11.4.5 MRUnit 305

11.5其他程序设计模式 305

11.5.1 Pig 305

11.5.2 Cascading 305

11.6 AWS资源 306

11.6.1在EMR上使用HBase 306

11.6.2 SimpleDB 306

11.6.3 DynamoDB 306

11.7获取信息的渠道 307

11.7.1源代码 307

11.7.2邮件列表和论坛 307

11.7.3 LinkedIn群组 307

11.7.4 Hadoop用户群 307

11.7.5会议 308

11.8小结 308

随堂测验答案 309

返回顶部