当当网图书信息:
http://search.dangdang.com/?key=impala
《开源大数据分析引擎Impala实战》目录
第1章 Impala概述、安装与配置................................................................................ 1
1.1 Impala概述........................................................................................................................... 1
1.2 Cloudera Manager安装准备................................................................................................ 2
1.3 CM及CDH安装............................................................................................................... 10
1.4 Hive安装............................................................................................................................ 23
1.5 Impala安装......................................................................................................................... 26
第2章 Impala入门示例............................................................................................. 29
2.1 数据加载............................................................................................................................. 29
2.2 数据查询............................................................................................................................. 36
2.3 分区表................................................................................................................................. 37
2.4 外部分区表......................................................................................................................... 41
2.5 笛卡尔连接......................................................................................................................... 44
2.6 更新元数据......................................................................................................................... 45
第3章 Impala概念及架构......................................................................................... 47
3.1 Impala服务器组件............................................................................................................. 47
3.1.1 Impala Daemon....................................................................................................... 47
3.1.2 Impala Statestore.................................................................................................... 48
3.1.3 Impala Catalog........................................................................................................ 49
3.2 Impala应用编程................................................................................................................. 51
3.2.1 Impala SQL方言................................................................................................... 52
3.2.2 Impala编程接口概述............................................................................................ 52
3.3 与Hadoop生态系统集成.................................................................................................. 53
3.3.1 与Hive集成.......................................................................................................... 53
3.3.2 与HDFS集成........................................................................................................ 53
3.3.3 使用HBase............................................................................................................ 54
第4章 SQL语句....................................................................................................... 55
4.1 注释..................................................................................................................................... 55
4.2 数据类型............................................................................................................................. 56
4.2.1 BIGINT.................................................................................................................. 56
4.2.2 BOOLEAN............................................................................................................ 57
4.2.3 DOUBLE............................................................................................................... 58
4.2.4 FLOAT................................................................................................................... 59
4.2.5 INT......................................................................................................................... 59
4.2.6 REAL..................................................................................................................... 60
4.2.7 SMALLINT............................................................................................................ 60
4.2.8 STRING................................................................................................................. 61
4.2.9 TIMESTAMP......................................................................................................... 62
4.2.10 TINYINT.............................................................................................................. 66
4.3 常量..................................................................................................................................... 66
4.3.1 数值常量................................................................................................................ 66
4.3.2 字符串常量............................................................................................................ 67
4.3.3 布尔常量................................................................................................................ 67
4.3.4 时间戳常量............................................................................................................ 68
4.3.5 NULL..................................................................................................................... 68
4.4 SQL操作符........................................................................................................................ 70
4.4.1 BETWEEN 操作符............................................................................................... 70
4.4.2 比较操作符............................................................................................................ 71
4.4.3 IN操作符............................................................................................................... 72
4.4.4 IS NULL操作符................................................................................................... 72
4.4.5 LIKE操作符.......................................................................................................... 73
4.4.6 REGEXP操作符................................................................................................... 74
4.5 模式对象和对象名称......................................................................................................... 75
4.5.1 别名........................................................................................................................ 75
4.5.2 标示符.................................................................................................................... 76
4.5.3 数据库.................................................................................................................... 76
4.5.4 表............................................................................................................................ 77
4.5.5 视图........................................................................................................................ 78
4.5.6 函数........................................................................................................................ 83
4.6 SQL语句............................................................................................................................ 83
4.6.1 ALTER TABLE..................................................................................................... 84
4.6.2 ALTER VIEW....................................................................................................... 90
4.6.3 COMPUTE STATS................................................................................................ 92
4.6.4 CREATE DATABASE.......................................................................................... 95
4.6.5 CREATE FUNCTION........................................................................................... 96
4.6.6 CREATE TABLE.................................................................................................. 98
4.6.7 CREATE VIEW................................................................................................... 103
4.6.8 DESCRIBE.......................................................................................................... 104
4.6.9 DROP DATABASE............................................................................................ 106
4.6.10 DROP FUNCTION........................................................................................... 107
4.6.11 DROP TABLE................................................................................................... 107
4.6.12 DROP VIEW..................................................................................................... 108
4.6.13 EXPLAIN.......................................................................................................... 108
4.6.14 INSERT.............................................................................................................. 110
4.6.15 INVALIDATE METADATA........................................................................... 116
4.6.16 LOAD DATA.................................................................................................... 120
4.6.17 REFRESH.......................................................................................................... 124
4.6.18 SELECT............................................................................................................. 125
4.6.19 SHOW................................................................................................................ 143
4.6.20 USE.................................................................................................................... 147
4.7 内嵌函数........................................................................................................................... 148
4.7.1 数学函数.............................................................................................................. 150
4.7.2 类型转换函数...................................................................................................... 155
4.7.3 时间和日期函数.................................................................................................. 155
4.7.4 条件函数.............................................................................................................. 160
4.7.5 字符串函数.......................................................................................................... 161
4.7.6 特殊函数.............................................................................................................. 166
4.8 聚集函数........................................................................................................................... 167
4.8.1 AVG..................................................................................................................... 167
4.8.2 COUNT................................................................................................................ 168
4.8.3 GROUP_CONCAT............................................................................................. 169
4.8.4 MAX..................................................................................................................... 169
4.8.5 MIN...................................................................................................................... 170
4.8.6 NDV..................................................................................................................... 170
4.8.7 SUM..................................................................................................................... 171
4.9 用户自定义函数UDF...................................................................................................... 171
4.9.1 UDF概念............................................................................................................. 172
4.9.2 安装UDF开发包................................................................................................ 176
4.9.3 编写UDF............................................................................................................. 176
4.9.4 编写UDAF.......................................................................................................... 179
4.9.5 编译和部署UDF................................................................................................. 183
4.9.6 UDF性能............................................................................................................. 184
4.9.7 创建和使用UDF示例........................................................................................ 184
4.9.8 UDF 安全............................................................................................................ 193
4.9.9 Impala UDF的限制............................................................................................. 193
4.10 Impala SQL &Hive QL................................................................................................... 193
4.11 将SQL移植到Impala上.............................................................................................. 195
第5章 Impala shell................................................................................................. 201
5.1 命令行选项....................................................................................................................... 201
5.2 连接到Impalad................................................................................................................. 209
5.3 运行命令........................................................................................................................... 210
5.4 命令参考........................................................................................................................... 210
5.5 查询参数设置................................................................................................................... 211
第6章 Impala管理.................................................................................................. 228
6.1 准入控制和查询队列....................................................................................................... 228
6.1.1 准入控制概述...................................................................................................... 228
6.1.2 准入控制和YARN............................................................................................. 229
6.1.3 并发查询限制...................................................................................................... 229
6.1.4 准入控制和Impala客户端协同工作................................................................. 230
6.1.5 配置准入控制...................................................................................................... 230
6.1.6 使用准入控制指导原则...................................................................................... 236
6.2 使用YARN资源管理(CDH5)........................................................................................ 237
6.2.1 Llama进程........................................................................................................... 237
6.2.2 检查计算的资源和实际使用的资源.................................................................. 237
6.2.3 资源限制如何生效.............................................................................................. 238
6.2.4 启用Impala资源管理......................................................................................... 238
6.2.5 资源管理相关impala-shell参数......................................................................... 238
6.2.6 Impala资源管理的限制...................................................................................... 238
6.3 为进程,查询,会话设定超时限制............................................................................... 239
6.4 通过代理实现Impala高可用性...................................................................................... 240
6.5 管理磁盘空间................................................................................................................... 243
第7章 Impala存储.................................................................................................. 245
7.1 文件格式选择................................................................................................................... 245
7.2 Text.................................................................................................................................... 247
7.2.1 查询性能.............................................................................................................. 247
7.2.2 创建文本表.......................................................................................................... 248
7.2.3 数据文件.............................................................................................................. 249
7.2.4 加载数据.............................................................................................................. 249
7.2.5 LZO压缩............................................................................................................. 250
7.3 Parquet............................................................................................................................... 253
7.3.1 创建Parquet表.................................................................................................... 253
7.3.2 加载数据.............................................................................................................. 254
7.3.3 查询性能.............................................................................................................. 255
7.3.4 Snappy/Gzip压缩................................................................................................ 256
7.3.5 与其他组件交换Parquet数据文件.................................................................... 260
7.3.6 Parquet数据文件组织方式................................................................................. 260
7.4 Avro................................................................................................................................... 263
7.4.1 创建Avro表........................................................................................................ 263
7.4.2 使用Hive创建的Avro表.................................................................................. 265
7.4.3 通过JSON指定Avro模式................................................................................ 265
7.4.4 启用压缩.............................................................................................................. 265
7.4.5 模式进化.............................................................................................................. 266
7.5 RCFile................................................................................................................................ 268
7.5.1 创建RCFile表和加载数据................................................................................. 268
7.5.2 启用压缩.............................................................................................................. 269
7.6 SequenceFile...................................................................................................................... 270
7.6.1 创建和加载数据.................................................................................................. 270
7.6.2 启用压缩.............................................................................................................. 271
7.7 HBase................................................................................................................................ 272
7.7.1 支持的Hbase列类型.......................................................................................... 273
7.7.2 性能问题.............................................................................................................. 273
7.7.3 适用场景.............................................................................................................. 280
7.7.4 数据加载.............................................................................................................. 281
7.7.5 启用压缩.............................................................................................................. 281
7.7.6 限制...................................................................................................................... 282
7.7.7 示例...................................................................................................................... 282
第8章 Impala分区.................................................................................................. 284
8.1 分区技术适用场合........................................................................................................... 284
8.2 分区表相关SQL语句..................................................................................................... 285
8.3 分区修剪........................................................................................................................... 285
8.4 分区键列........................................................................................................................... 288
8.5 使用不同的文件格式....................................................................................................... 288
第9章 Impala性能优化........................................................................................... 290
9.1 最佳实践........................................................................................................................... 290
9.2 连接查询优化................................................................................................................... 291
9.3 使用统计信息................................................................................................................... 301
9.4 基准测试........................................................................................................................... 309
9.5 控制资源使用................................................................................................................... 309
9.6 性能测试........................................................................................................................... 310
9.7 使用EXPLAIN信息....................................................................................................... 311
9.8 使用PROFILE信息........................................................................................................ 312
第10章 Impala设计原则与应用案例....................................................................... 322
10.1 设计原则......................................................................................................................... 322
10.2 应用案例......................................................................................................................... 323