大数据技术入门(第2版):串讲大数据常用技术,架构大数据思维模式
- ISBN:9787302547969
- 装帧:平装-胶订
- 册数:暂无
- 重量:暂无
- 开本:16开
- 页数:387
- 出版时间:2020-02-01
- 条形码:9787302547969 ; 978-7-302-54796-9
本书特色
目前国内大数据市场继续保持高速的发展态势,作者在与地方政府、证券金融公司的项目合作中发现,他们对大数据技术很感兴趣,并希望从大数据技术、采集、存储、访问、安全、分析与开发等方面得到指导和帮助。因此编写了这本大数据技术的入门书。 本书共12章,以Hadoop和Spark框架为线索,比较全面地介绍了Hadoop技术、Spark技术、大数据存储、大数据访问、大数据采集、大数据管理、大数据分析、大数据开发、大数据环境自动化部署(Docker和K8s)等内容。 本书适合大数据技术初学者,政府、金融机构的大数据应用决策和技术人员、IT经理、CTO、CIO等快速学习大数据技术。本书也可以作为高等院校和培训学校相关专业的培训教材。
内容简介
本书以Hadoop和Spark框架为线索,重点介绍了Hadoop技术、Spark技术、大数据存储、大数据访问、大数据采集、大数据管理、大数据分析、大数据开发、大数据环境自动化部署等内容,使读者对大数据技术有个比较全面的了解。
目录
1.1 什么是大数据 1
1.1.1 四大特征 2
1.1.2 数据监管(Data Governance) 3
1.1.3 数据质量 4
1.1.4 大数据分析 4
1.1.5 大数据平台架构 5
1.2 大数据与云计算的关系 6
1.2.1 云计算产品概述 6
1.2.2 虚拟服务器 7
1.2.3 云存储 11
1.3 Hadoop和云平台的应用实例 12
1.3.1 云平台层面配置 12
1.3.2 大数据平台层面配置 14
1.4 数据湖(Data Lake) 16
1.5 企业如何走向大数据 17
1.5.1 业务价值维度 18
1.5.2 数据维度 18
1.5.3 现有IT环境和成本维度 19
1.5.4 数据治理维度 20
第2章 大数据软件框架 21
2.1 Hadoop框架 21
2.1.1 HDFS(分布式文件系统) 22
2.1.2 MapReduce(分布式计算框架) 23
2.1.3 YARN(集群资源管理器) 28
2.2 Spark(内存计算框架) 30
2.2.1 Spark SQL 31
2.2.2 Spark Streaming 32
2.3 实时流处理框架 34
2.4 云端消息队列 34
2.5 框架的选择 35
2.6 Hadoop发行版 36
2.7 Mac上安装Hadoop 37
2.7.1 在Mac上安装Hadoop 37
2.7.2 安装MySQL和Hive 41
2.8 Linux上安装Hadoop 44
2.8.1 配置Java环境 45
2.8.2 安装ntp和Python 47
2.8.3 安装和配置openssl 47
2.8.4 配置SSH无密码访问 47
2.8.5 安装Ambari和HDP 48
2.8.6 启动和停止服务 52
2.9 AWS云平台上安装Hadoop 54
第3章 大数据集群 57
3.1 集群实例分析 57
3.2 YARN 67
3.2.1 架构组成 68
3.2.2 YARN执行流程 71
3.3 资源的调度器 75
3.3.1 Capacity Scheduler 76
3.3.2 Fair Scheduler 78
3.3.3 资源调度实例分析 81
3.3.4 内存和CPU资源调度 84
3.4 深入研究Resource Manager 88
3.5 集群配置文件总览 91
3.5.1 yarn-site.xml 91
3.5.2 mapred-site.xml 94
3.6 自动伸缩(Auto Scaling)集群 97
3.7 迁移Hadoop集群 97
3.8 增加Instance 99
第4章 大数据存储:文件系统和云存储 100
4.1 HDFS shell命令 100
4.2 配置HDFS 102
4.2.1 配置文件 102
4.2.2 多节点配置 103
4.3 HDFS API编程 104
4.3.1 读取HDFS文件内容 105
4.3.2 写HDFS文件内容 108
4.3.3 WebHDFS 108
4.4 HDFS API总结 110
4.4.1 Configuration类 110
4.4.2 FileSystem抽象类 111
4.4.3 Path类 111
4.4.4 FSDataInputStream类 111
4.4.5 FSDataOutputStream类 112
4.4.6 IOUtils类 112
4.4.7 FileStatus类 112
4.4.8 FsShell类 112
4.4.9 ChecksumFileSystem抽象类 112
4.4.10 其他的HDFS API实例 113
4.4.11 综合实例 115
4.5 HDFS文件格式 118
4.5.1 SequenceFile 118
4.5.2 TextFile(文本格式) 118
4.5.3 RCFile 118
4.5.4 Avro 120
4.6 云存储S3 120
4.6.1 S3基本概念 121
4.6.2 S3管理控制台 122
4.6.3 S3 CLI 126
4.6.4 S3 SDK 127
4.6.5 分区 129
4.6.6 与EBS的比较 129
4.6.7 与Glacier的比较 129
第5章 大数据存储:数据库 130
5.1 NoSQL 130
5.2 HBase概述 131
5.2.1 HBase表结构 132
5.2.2 HBase系统架构 135
5.2.3 启动并操作HBase数据库 136
5.2.4 HBase Shell工具 139
5.3 HBase编程 142
5.3.1 增删改查API 142
5.3.2 过滤器 146
5.3.3 计数器 149
5.3.4 原子操作 149
5.3.5 管理API 149
5.4 其他NoSQL数据库 151
5.4.1 Cassandra 151
5.4.2 Impala 151
5.4.3 DynamoDB 151
5.4.4 Redshift 151
5.5 云数据库 152
5.5.1 什么是RDS 152
5.5.2 创建云数据库 152
5.5.3 查看云数据库信息 156
5.5.4 何时使用云端数据库 159
第6章 大数据访问:SQL引擎层 160
6.1 Phoenix 161
6.1.1 安装和配置Phoenix 161
6.1.2 在Eclipse上开发Phoenix程序 165
6.1.3 Phoenix SQL工具 169
6.1.4 Phoenix SQL语法 170
6.2 Hive 171
6.2.1 Hive架构 172
6.2.2 安装Hive 173
6.2.3 Hive CLI 175
6.2.4 Hive数据类型 175
6.2.5 Hive文件格式 177
6.2.6 Hive表定义 179
6.2.7 Hive加载数据 183
6.2.8 Hive查询数据 184
6.2.9 Hive UDF 186
6.2.10 Hive视图 188
6.2.11 HiveServer2 189
6.2.12 hive-site.xml需要的配置 195
6.2.13 HBase集成 200
6.2.14 XML和JSON数据 200
6.2.15 使用TEZ 201
6.2.16 Hive MetaStore 203
6.2.17 综合示例 204
6.3 Pig 206
6.3.1 Pig语法 207
6.3.2 Pig和Hive的使用场景之比较 210
6.4 ElasticSearch(全文搜索引擎) 211
6.4.1 全文索引的基础知识 211
6.4.2 安装和配置ElasticSearch 213
6.4.3 ElasticSearch API 215
6.5 Presto 217
第7章 大数据采集和导入 218
7.1 Flume 220
7.1.1 Flume架构 220
7.1.2 Flume事件 221
7.1.3 Flume源 221
7.1.4 Flume拦截器(Interceptor) 222
7.1.5 Flume通道选择器(Channel Selector) 223
7.1.6 Flume通道 224
7.1.7 Flume接收器 225
7.1.8 负载均衡和单点失败 226
7.1.9 Flume监控管理 227
7.1.10 Flume实例 227
7.2 Kafka 229
7.2.1 Kafka架构 229
7.2.2 Kafka与JMS的异同 230
7.2.3 Kafka性能考虑 231
7.2.4 消息传送机制 231
7.2.5 Kafka和Flume的比较 232
7.3 Sqoop 232
7.3.1 从数据库导入HDFS 233
7.3.2 增量导入 235
7.3.3 将数据从Oracle导入Hive 235
7.3.4 将数据从Oracle导入HBase 235
7.3.5 导入所有表 236
7.3.6 从HDFS导出数据 236
7.3.7 数据验证 237
7.3.8 其他Sqoop功能 237
7.4 Storm 238
7.4.1 Storm基本概念 238
7.4.2 Spout 240
7.4.3 Bolt 241
7.4.4 拓扑结构 243
7.4.5 Storm总结 244
7.5 Amazon Kinesis 245
7.6 其他工具 246
7.6.1 Embulk 246
7.6.2 Fluentd 247
第8章 大数据安全管控 250
8.1 数据主权和合规性 250
8.2 云端安全 251
8.2.1 身份验证和访问权限 251
8.2.2 角色 253
8.2.3 虚拟网络 254
8.2.4 安全组 255
8.3 云端监控 256
8.3.1 跟踪和审计 256
8.3.2 监控 257
8.3.3 基于Datadog的监控 259
8.4 云端备份和恢复 262
8.5 大数据安全 262
8.5.1 Kerberos 263
8.5.2 Apache Ranger 263
8.5.3 应用端安全 267
第9章 大数据快速处理平台:Spark 268
9.1 Spark框架 268
9.1.1 安装和配置Spark 269
9.1.2 Scala 270
9.2 Spark Shell 271
9.3 Spark编程 273
9.3.1 编写Spark API程序 274
9.3.2 使用sbt编译并打成JAR包 274
9.3.3 运行程序 275
9.4 RDD 276
9.4.1 RDD算子和RDD依赖关系 277
9.4.2 RDD转换操作 278
9.4.3 RDD行动(Action)操作 279
9.4.4 RDD控制操作 280
9.4.5 RDD实例 280
9.5 Spark SQL 282
9.5.1 DataFrame 283
9.5.2 RDD转化为DataFrame 287
9.5.3 JDBC数据源 289
9.5.4 Hive数据源 289
9.6 Spark Streaming 290
9.6.1 DStream编程模型 291
9.6.2 DStream操作 293
9.6.3 性能考虑 295
9.6.4 容错能力 296
第10章 大数据分析 297
10.1 数据科学 298
10.1.1 探索性数据分析 299
10.1.2 描述统计 300
10.1.3 数据可视化 300
10.2 预测分析 303
10.2.1 预测分析实例 303
10.2.2 回归(Regression)分析预测法 304
10.3 机器学习 305
10.3.1 机器学习的定义 306
10.3.2 机器学习分类 307
10.3.3 机器学习算法 308
10.3.4 机器学习框架 310
10.4 算法 312
10.4.1 分类算法 313
10.4.2 预测算法 313
10.4.3 聚类算法 314
10.4.4 关联分析 315
10.4.5 决策树 317
10.4.6 异常值分析算法 320
10.4.7 协同过滤(推荐引擎)算法 320
10.5 大数据分析总体架构 321
10.5.1 大数据平台和大数据分析的关系 321
10.5.2 大数据平台的核心功能 322
10.5.3 DMP 323
10.5.4 CDP 324
10.6 微服务 324
10.6.1 启动和停止Consul 326
10.6.2 服务注册 327
10.6.3 查询服务 329
10.6.4 服务状态检查 329
第11章 大数据环境自动化部署: Docker和Kubernetes 331
11.1 什么是Docker? 332
11.1.1 虚拟机 332
11.1.2 Linux容器 333
11.1.3 Docker的由来 333
11.1.4 Docker的用途 333
11.1.5 Docker和虚拟机的区别 334
11.2 镜像文件 335
11.3 Docker安装 335
11.4 Dockerfile文件 336
11.4.1 什么是Dockerfile 336
11.4.2 使用Dockerfile 338
11.4.3 发布镜像文件 338
11.4.4 仓库(Repository) 339
11.5 Service(服务) 340
11.5.1 yml文件 340
11.5.2 部署服务 341
11.5.3 伸缩(Scale)应用 341
11.6 Swarm 341
11.6.1 什么是Swarm集群 341
11.6.2 设置Swarm 342
11.6.3 在Swarm集群上部署应用 343
11.7 Stack 344
11.8 Kubernetes 346
11.8.1 集群 347
11.8.2 Pod 347
11.8.3 Node(节点) 347
11.8.4 Kubernetes Master 348
11.8.5 Replication Controller 348
11.8.6 Service 348
第12章 大数据开发管理 349
12.1 CI/CD(持续集成/持续发布) 349
12.1.1 CI 349
12.1.2 CD 350
12.2 代码管理工具GitHub 351
12.2.1 仓库(Repository) 351
12.2.2 分支(Branch) 352
12.2.3 提交(Commit)和请求合并(Pull request) 352
12.2.4 开源代码的操作 354
12.2.5 GitHub使用实例 355
12.3 项目管理JIRA 362
12.3.1 敏捷(Agile)开发和Scrum模式 362
12.3.2 Project(项目) 364
12.3.3 Issue(问题) 365
12.3.4 Sprint(冲刺) 367
12.3.5 Backlog(待办事项列表) 368
12.3.6 Priority(事项优先级) 368
12.3.7 状态和流程 368
12.3.8 JIRA常用报表 369
12.3.9 JIRA的主要功能总结 372
12.4 项目构建工具Maven 373
12.4.1 pom.xml 373
12.4.2 安装Maven 374
12.4.3 Maven仓库 374
12.4.4 Maven Java项目结构 375
12.4.5 命令列表 376
12.5 大数据软件测试 379
12.5.1 JUnit 379
12.5.2 Allure 380
附录1 数据量的单位级别 382
附录2 AWS EC2创建步骤 383
附录3 分布式监控系统Ganglia 385
附录4 auth-ssh脚本 386
作者简介
杨正洪,毕业于美国State University of New York at Stony Brook,在美国硅谷从事AI和大数据相关研发工作 10 多年,华中科技大学和中国地质大学客座教授,湖北省 2013 年海外引进人才,拥有多项国家专利。参与了大数据和人工智能的国家标准的制定,在 2016 年参与了公安部主导的“信息安全技术:大数据平台安全管理产品安全技术要求”的国家标准制定。作者还是中关村海外智库专家顾问和住建部中规院专家顾问,担任了在美上市公司 CTO、北京某国企 CIO 和上海某国企高级副总裁等职。多年从事人工智能与大数据技术的工作,出版了《智慧城市》等多本书籍。
-
全图解零基础word excel ppt 应用教程
¥15.6¥48.0 -
有限与无限的游戏:一个哲学家眼中的竞技世界
¥37.4¥68.0 -
硅谷之火-人与计算机的未来
¥12.7¥39.8 -
机器学习
¥59.4¥108.0 -
深度学习的数学
¥43.5¥69.0 -
智能硬件项目教程:基于ARDUINO(第2版)
¥37.7¥65.0 -
情感计算
¥66.8¥89.0 -
LINUX企业运维实战(REDIS+ZABBIX+NGINX+PROMETHEUS+GRAFANA+LNMP)
¥48.3¥69.0 -
AI虚拟数字人:商业模式+形象创建+视频直播+案例应用
¥62.9¥89.8 -
LINUX实战——从入门到精通
¥48.3¥69.0 -
UNIX环境高级编程(第3版)
¥164.9¥229.0 -
剪映AI
¥52.8¥88.0 -
数据驱动的工业人工智能:建模方法与应用
¥68.3¥99.0 -
深度学习高手笔记 卷2:经典应用
¥90.9¥129.8 -
纹样之美:中国传统经典纹样速查手册
¥76.3¥109.0 -
UG NX 12.0数控编程
¥24.8¥45.0 -
MATLAB计算机视觉与深度学习实战(第2版)
¥90.9¥128.0 -
UN NX 12.0多轴数控编程案例教程
¥24.3¥38.0 -
微机组装与系统维护技术教程(第二版)
¥37.8¥43.0 -
Go 语言运维开发 : Kubernetes 项目实战
¥38.7¥79.0