Hive编程指南

Hive编程指南
分享
扫描下方二维码分享到微信
打开微信,点击右上角”+“,
使用”扫一扫“即可将网页分享到朋友圈。
作者: [美] , , ,
2013-12
版次: 1
ISBN: 9787115333834
定价: 69.00
装帧: 平装
开本: 16开
纸张: 胶版纸
页数: 318页
字数: 428千字
正文语种: 简体中文
原版书名: Programming Hive
  •   《Hive编程指南》是一本ApacheHive的编程指南,旨在介绍如何使用Hive的SQL方法——HiveQL来汇总、查询和分析存储在Hadoop分布式文件系统上的大数据集合。《Hive编程指南》通过大量的实例,首先介绍如何在用户环境下安装和配置Hive,并对Hadoop和MapReduce进行详尽阐述,演示Hive如何在Hadoop生态系统进行工作。
      《Hive编程指南》适合对大数据感兴趣的爱好者以及正在使用Hadoop系统的数据库管理员阅读使用。 EdwardCapriolo:Media6degrees公司系统管理员,他是Apache软件基金会成员,还是Hadoop-Hive项目成员。
    DeanWampler:ThinkBigAnalytics公司总顾问,对大数据问题以及Hadoop和机器学习有专门的研究。
    JasonRutherglen:ThinkBigAnalytics公司软件架构师,对大数据、Hadoop、搜索和安全有专门的研究。 第1章基础知识
    1.1Hadoop和MapReduce综述
    1.2Hadoop生态系统中的Hive
    1.2.1Pig
    1.2.2HBase
    1.2.3Cascading、Crunch及其他
    1.3Java和Hive:词频统计算法
    1.4后续事情

    第2章基础操作
    2.1安装预先配置好的虚拟机
    2.2安装详细步骤
    2.2.1装Java
    2.2.2安装Hadoop
    2.2.3本地模式、伪分布式模式和分布式模式
    2.2.4测试Hadoop
    2.2.5安装Hive
    2.3Hive内部是什么
    2.4启动Hive
    2.5配置Hadoop环境
    2.5.1本地模式配置
    2.5.2分布式模式和伪分布式模式配置
    2.5.3使用JDBC连接元数据
    2.6Hive命令
    2.7命令行界面
    2.7.1CLI选项
    2.7.2变量和属性
    2.7.3Hive中“一次使用”命令
    2.7.4从文件中执行Hive查询
    2.7.5hiverc文件
    2.7.6使用HiveCLI的更多介绍
    2.7.7查看操作命令历史
    2.7.8执行shell命令
    2.7.9在Hive内使用Hadoop的dfs命令
    2.7.10Hive脚本中如何进行注释
    2.7.11显示字段名称

    第3章数据类型和文件格式
    3.1基本数据类型
    3.2集合数据类型
    3.3文本文件数据编码
    3.4读时模式

    第4章HiveQL:数据定义
    4.1Hive中的数据库
    4.2修改数据库
    4.3创建表
    4.3.1管理表
    4.3.2外部表
    4.4分区表、管理表
    4.4.1外部分区表
    4.4.2自定义表的存储格式
    4.5删除表
    4.6修改表
    4.6.1表重命名
    4.6.2增加、修改和删除表分区
    4.6.3修改列信息
    4.6.4增加列
    4.6.5删除或者替换列
    4.6.6修改表属性
    4.6.7修改存储属性
    4.6.8众多的修改表语句

    第5章HiveQL:数据操作
    5.1向管理表中装载数据
    5.2通过查询语句向表中插入数据
    5.3单个查询语句中创建表并加载数据
    5.4导出数据

    第6章HiveQL:查询
    6.1SELECT…FROM语句
    6.1.1使用正则表达式来指定列
    6.1.2使用列值进行计算
    6.1.3算术运算符
    6.1.4使用函数
    6.1.5LIMIT语句
    6.1.6列别名
    6.1.7嵌套SELECT语句
    6.1.8CASE…WHEN…THEN句式
    6.1.9什么情况下Hive可以避免进行MapReduce
    6.2WHERE语句
    6.2.1谓词操作符
    6.2.2关于浮点数比较
    6.2.3LIKE和RLIKE
    6.3GROUPBY语句
    6.4JOIN语句
    6.4.1INNERJOIN
    6.4.2JOIN优化
    6.4.3LEFTOUTERJOIN
    6.4.4OUTERJOIN
    6.4.5RIGHTOUTERJOIN
    6.4.6FULLOUTERJOIN
    6.4.7LEFTSEMI-JOIN
    6.4.8笛卡尔积JOIN
    6.4.9map-sideJOIN
    6.5ORDERBY和SORTBY
    6.6含有SORTBY的DISTRIBUTEBY
    6.7CLUSTERBY
    6.8类型转换
    6.9抽样查询
    6.9.1数据块抽样
    6.9.2分桶表的输入裁剪
    6.10UNIONALL

    第7章HiveQL:视图
    7.1使用视图来降低查询复杂度
    7.2使用视图来限制基于条件过滤的数据
    7.3动态分区中的视图和map类型
    7.4视图零零碎碎相关的事情

    第8章HiveQL:索引
    8.1创建索引
    8.2重建索引
    8.3显示索引
    8.4删除索引
    8.5实现一个定制化的索引处理器

    第9章模式设计
    9.1按天划分的表
    9.2关于分区
    9.3唯一键和标准化
    9.4同一份数据多种处理
    9.5对于每个表的分区
    9.6分桶表数据存储
    9.7为表增加列
    9.8使用列存储表
    9.8.1重复数据
    9.8.2多列
    9.9(几乎)总是使用压缩

    第10章调优
    10.1使用EXPLAIN
    10.2EXPLAINEXTENDED
    10.3限制调整
    10.4JOIN优化
    10.5本地模式
    10.6并行执行
    10.7严格模式
    10.8调整mapper和reducer个数
    10.9JVM重用
    10.10索引
    10.11动态分区调整
    10.12推测执行
    10.13单个MapReduce中多个GROUPBY
    10.14虚拟列

    第11章其他文件格式和压缩方法
    11.1确定安装编解码器
    11.2选择一种压缩编/解码器
    11.3开启中间压缩
    11.4最终输出结果压缩
    11.5sequencefile存储格式
    11.6使用压缩实践
    11.7存档分区
    11.8压缩:包扎

    第12章开发
    12.1修改Log4J属性
    12.2连接Java调试器到Hive
    12.3从源码编译Hive
    12.3.1执行Hive测试用例
    12.3.2执行hook
    12.4配置Hive和Eclipse
    12.5Maven工程中使用Hive
    12.6Hive中使用hive_test进行单元测试
    12.7新增的插件开发工具箱(PDK)

    第13章函数
    13.1发现和描述函数
    13.2调用函数
    13.3标准函数
    13.4聚合函数
    13.5表生成函数
    13.6一个通过日期计算其星座的UDF
    13.7UDF与GenericUDF
    13.8不变函数
    13.9用户自定义聚合函数
    13.10用户自定义表生成函数
    13.10.1可以产生多行数据的UDTF
    13.10.2可以产生具有多个字段的单行数据的UDTF
    13.10.3可以模拟复杂数据类型的UDTF
    13.11在UDF中访问分布式缓存
    13.12以函数的方式使用注解
    13.12.1定数性(deterministic)标注
    13.12.2状态性(stateful)标注
    13.12.3唯一性
    13.13宏命令

    第14章Streaming
    14.1恒等变换
    14.2改变类型
    14.3投影变换
    14.4操作转换
    14.5使用分布式内存
    14.6由一行产生多行
    14.7使用streaming进行聚合计算
    14.8CLUSTERBY、DISTRIBUTEBY、SORTBY
    14.9GenericMRToolsforStreamingtoJava
    14.10计算cogroup

    第15章自定义Hive文件和记录格式
    15.1文件和记录格式
    15.2阐明CREATETABLE句式
    15.3文件格式
    15.3.1SequenceFile
    15.3.2RCfile
    15.3.3示例自定义输入格式:DualInputFormat
    15.4记录格式:SerDe
    15.5CSV和TSVSerDe
    15.6ObjectInspector
    15.7ThingBigHiveReflectionObjectInspector
    15.8XMLUDF
    15.9XPath相关的函数
    15.10JSONSerDe
    15.11AvroHiveSerDe
    15.11.1使用表属性信息定义AvroSchema
    15.11.2从指定URL中定义Schema
    15.11.3进化的模式
    15.12二进制输出

    第16章Hive的Thrift服务
    16.1启动ThriftServer
    16.2配置Groovy使用HiveServer
    16.3连接到HiveServer
    16.4获取集群状态信息
    16.5结果集模式
    16.6获取结果
    16.7获取执行计划
    16.8元数据存储方法
    16.9管理HiveServer
    16.9.1生产环境使用HiveServer
    16.9.2清理
    16.10HiveThriftMetastore
    16.10.1ThriftMetastore配置
    16.10.2客户端配置

    第17章存储处理程序和NoSQL
    17.1StorageHandlerBackground
    17.2HiveStorageHandler
    17.3HBase
    17.4Cassandra
    17.4.1静态列映射(StaticColumnMapping)
    17.4.2为动态列转置列映射
    17.4.3CassandraSerDeProperties
    17.5DynamoDB

    第18章安全
    18.1和Hadoop安全功能相结合
    18.2使用Hive进行验证
    18.3Hive中的权限管理
    18.3.1用户、组和角色
    18.3.2Grant和Revoke权限
    18.4分区级别的权限
    18.5自动授权

    第19章锁
    19.1Hive结合Zookeeper支持锁功能
    19.2显式锁和独占锁

    第20章Hive和Oozie整合
    20.1Oozie提供的多种动作(Action)
    20.2一个只包含两个查询过程的工作流示例
    20.3Oozie网页控制台
    20.4工作流中的变量
    20.5获取输出
    20.6获取输出到变量

    第21章Hive和亚马逊网络服务系统(AWS)
    21.1为什么要弹性MapReduce
    21.2实例
    21.3开始前的注意事项
    21.4管理自有EMRHive集群
    21.5EMRHive上的ThriftServer服务
    21.6EMR上的实例组
    21.7配置EMR集群
    21.7.1部署hive-site.xml文件
    21.7.2部署.hiverc脚本
    21.7.3建立一个内存密集型配置
    21.8EMR上的持久层和元数据存储
    21.9EMR集群上的HDFS和S
    21.10在S3上部署资源、配置和辅助程序脚本
    21.11S3上的日志
    21.12现买现卖
    21.13安全组
    21.14EMR和EC2以及ApacheHive的比较
    21.15包装

    第22章HCatalog
    22.1介绍
    22.2MapReduce
    22.2.1读数据
    22.2.2写数据
    22.3命令行
    22.4安全模型
    22.5架构

    第23章案例研究
    23.1m6d.com(Media6Degrees)
    23.1.1M6D的数据科学,使用Hive和R
    23.1.2M6DUDF伪随机
    23.1.3M6D如何管理多MapReduce集群间的Hive数据访问
    23.2Outbrain
    23.2.1站内线上身份识别
    23.2.2计算复杂度
    23.2.3会话化
    23.3NASA喷气推进实验室
    23.3.1区域气候模型评价系统
    23.3.2我们的经验:为什么使用Hive
    23.3.3解决这些问题我们所面临的挑战
    23.4Photobucket
    23.4.1Photobucket公司的大数据应用情况
    23.4.2Hive所使用的硬件资源信息
    23.4.3Hive提供了什么
    23.4.4Hive支持的用户有哪些
    23.5SimpleReach
    23.6ExperiencesandNeedsfromtheCustomerTrenches
    23.6.1介绍
    23.6.2CustomerTrenches的用例
    术语词汇表
  • 内容简介:
      《Hive编程指南》是一本ApacheHive的编程指南,旨在介绍如何使用Hive的SQL方法——HiveQL来汇总、查询和分析存储在Hadoop分布式文件系统上的大数据集合。《Hive编程指南》通过大量的实例,首先介绍如何在用户环境下安装和配置Hive,并对Hadoop和MapReduce进行详尽阐述,演示Hive如何在Hadoop生态系统进行工作。
      《Hive编程指南》适合对大数据感兴趣的爱好者以及正在使用Hadoop系统的数据库管理员阅读使用。
  • 作者简介:
    EdwardCapriolo:Media6degrees公司系统管理员,他是Apache软件基金会成员,还是Hadoop-Hive项目成员。
    DeanWampler:ThinkBigAnalytics公司总顾问,对大数据问题以及Hadoop和机器学习有专门的研究。
    JasonRutherglen:ThinkBigAnalytics公司软件架构师,对大数据、Hadoop、搜索和安全有专门的研究。
  • 目录:
    第1章基础知识
    1.1Hadoop和MapReduce综述
    1.2Hadoop生态系统中的Hive
    1.2.1Pig
    1.2.2HBase
    1.2.3Cascading、Crunch及其他
    1.3Java和Hive:词频统计算法
    1.4后续事情

    第2章基础操作
    2.1安装预先配置好的虚拟机
    2.2安装详细步骤
    2.2.1装Java
    2.2.2安装Hadoop
    2.2.3本地模式、伪分布式模式和分布式模式
    2.2.4测试Hadoop
    2.2.5安装Hive
    2.3Hive内部是什么
    2.4启动Hive
    2.5配置Hadoop环境
    2.5.1本地模式配置
    2.5.2分布式模式和伪分布式模式配置
    2.5.3使用JDBC连接元数据
    2.6Hive命令
    2.7命令行界面
    2.7.1CLI选项
    2.7.2变量和属性
    2.7.3Hive中“一次使用”命令
    2.7.4从文件中执行Hive查询
    2.7.5hiverc文件
    2.7.6使用HiveCLI的更多介绍
    2.7.7查看操作命令历史
    2.7.8执行shell命令
    2.7.9在Hive内使用Hadoop的dfs命令
    2.7.10Hive脚本中如何进行注释
    2.7.11显示字段名称

    第3章数据类型和文件格式
    3.1基本数据类型
    3.2集合数据类型
    3.3文本文件数据编码
    3.4读时模式

    第4章HiveQL:数据定义
    4.1Hive中的数据库
    4.2修改数据库
    4.3创建表
    4.3.1管理表
    4.3.2外部表
    4.4分区表、管理表
    4.4.1外部分区表
    4.4.2自定义表的存储格式
    4.5删除表
    4.6修改表
    4.6.1表重命名
    4.6.2增加、修改和删除表分区
    4.6.3修改列信息
    4.6.4增加列
    4.6.5删除或者替换列
    4.6.6修改表属性
    4.6.7修改存储属性
    4.6.8众多的修改表语句

    第5章HiveQL:数据操作
    5.1向管理表中装载数据
    5.2通过查询语句向表中插入数据
    5.3单个查询语句中创建表并加载数据
    5.4导出数据

    第6章HiveQL:查询
    6.1SELECT…FROM语句
    6.1.1使用正则表达式来指定列
    6.1.2使用列值进行计算
    6.1.3算术运算符
    6.1.4使用函数
    6.1.5LIMIT语句
    6.1.6列别名
    6.1.7嵌套SELECT语句
    6.1.8CASE…WHEN…THEN句式
    6.1.9什么情况下Hive可以避免进行MapReduce
    6.2WHERE语句
    6.2.1谓词操作符
    6.2.2关于浮点数比较
    6.2.3LIKE和RLIKE
    6.3GROUPBY语句
    6.4JOIN语句
    6.4.1INNERJOIN
    6.4.2JOIN优化
    6.4.3LEFTOUTERJOIN
    6.4.4OUTERJOIN
    6.4.5RIGHTOUTERJOIN
    6.4.6FULLOUTERJOIN
    6.4.7LEFTSEMI-JOIN
    6.4.8笛卡尔积JOIN
    6.4.9map-sideJOIN
    6.5ORDERBY和SORTBY
    6.6含有SORTBY的DISTRIBUTEBY
    6.7CLUSTERBY
    6.8类型转换
    6.9抽样查询
    6.9.1数据块抽样
    6.9.2分桶表的输入裁剪
    6.10UNIONALL

    第7章HiveQL:视图
    7.1使用视图来降低查询复杂度
    7.2使用视图来限制基于条件过滤的数据
    7.3动态分区中的视图和map类型
    7.4视图零零碎碎相关的事情

    第8章HiveQL:索引
    8.1创建索引
    8.2重建索引
    8.3显示索引
    8.4删除索引
    8.5实现一个定制化的索引处理器

    第9章模式设计
    9.1按天划分的表
    9.2关于分区
    9.3唯一键和标准化
    9.4同一份数据多种处理
    9.5对于每个表的分区
    9.6分桶表数据存储
    9.7为表增加列
    9.8使用列存储表
    9.8.1重复数据
    9.8.2多列
    9.9(几乎)总是使用压缩

    第10章调优
    10.1使用EXPLAIN
    10.2EXPLAINEXTENDED
    10.3限制调整
    10.4JOIN优化
    10.5本地模式
    10.6并行执行
    10.7严格模式
    10.8调整mapper和reducer个数
    10.9JVM重用
    10.10索引
    10.11动态分区调整
    10.12推测执行
    10.13单个MapReduce中多个GROUPBY
    10.14虚拟列

    第11章其他文件格式和压缩方法
    11.1确定安装编解码器
    11.2选择一种压缩编/解码器
    11.3开启中间压缩
    11.4最终输出结果压缩
    11.5sequencefile存储格式
    11.6使用压缩实践
    11.7存档分区
    11.8压缩:包扎

    第12章开发
    12.1修改Log4J属性
    12.2连接Java调试器到Hive
    12.3从源码编译Hive
    12.3.1执行Hive测试用例
    12.3.2执行hook
    12.4配置Hive和Eclipse
    12.5Maven工程中使用Hive
    12.6Hive中使用hive_test进行单元测试
    12.7新增的插件开发工具箱(PDK)

    第13章函数
    13.1发现和描述函数
    13.2调用函数
    13.3标准函数
    13.4聚合函数
    13.5表生成函数
    13.6一个通过日期计算其星座的UDF
    13.7UDF与GenericUDF
    13.8不变函数
    13.9用户自定义聚合函数
    13.10用户自定义表生成函数
    13.10.1可以产生多行数据的UDTF
    13.10.2可以产生具有多个字段的单行数据的UDTF
    13.10.3可以模拟复杂数据类型的UDTF
    13.11在UDF中访问分布式缓存
    13.12以函数的方式使用注解
    13.12.1定数性(deterministic)标注
    13.12.2状态性(stateful)标注
    13.12.3唯一性
    13.13宏命令

    第14章Streaming
    14.1恒等变换
    14.2改变类型
    14.3投影变换
    14.4操作转换
    14.5使用分布式内存
    14.6由一行产生多行
    14.7使用streaming进行聚合计算
    14.8CLUSTERBY、DISTRIBUTEBY、SORTBY
    14.9GenericMRToolsforStreamingtoJava
    14.10计算cogroup

    第15章自定义Hive文件和记录格式
    15.1文件和记录格式
    15.2阐明CREATETABLE句式
    15.3文件格式
    15.3.1SequenceFile
    15.3.2RCfile
    15.3.3示例自定义输入格式:DualInputFormat
    15.4记录格式:SerDe
    15.5CSV和TSVSerDe
    15.6ObjectInspector
    15.7ThingBigHiveReflectionObjectInspector
    15.8XMLUDF
    15.9XPath相关的函数
    15.10JSONSerDe
    15.11AvroHiveSerDe
    15.11.1使用表属性信息定义AvroSchema
    15.11.2从指定URL中定义Schema
    15.11.3进化的模式
    15.12二进制输出

    第16章Hive的Thrift服务
    16.1启动ThriftServer
    16.2配置Groovy使用HiveServer
    16.3连接到HiveServer
    16.4获取集群状态信息
    16.5结果集模式
    16.6获取结果
    16.7获取执行计划
    16.8元数据存储方法
    16.9管理HiveServer
    16.9.1生产环境使用HiveServer
    16.9.2清理
    16.10HiveThriftMetastore
    16.10.1ThriftMetastore配置
    16.10.2客户端配置

    第17章存储处理程序和NoSQL
    17.1StorageHandlerBackground
    17.2HiveStorageHandler
    17.3HBase
    17.4Cassandra
    17.4.1静态列映射(StaticColumnMapping)
    17.4.2为动态列转置列映射
    17.4.3CassandraSerDeProperties
    17.5DynamoDB

    第18章安全
    18.1和Hadoop安全功能相结合
    18.2使用Hive进行验证
    18.3Hive中的权限管理
    18.3.1用户、组和角色
    18.3.2Grant和Revoke权限
    18.4分区级别的权限
    18.5自动授权

    第19章锁
    19.1Hive结合Zookeeper支持锁功能
    19.2显式锁和独占锁

    第20章Hive和Oozie整合
    20.1Oozie提供的多种动作(Action)
    20.2一个只包含两个查询过程的工作流示例
    20.3Oozie网页控制台
    20.4工作流中的变量
    20.5获取输出
    20.6获取输出到变量

    第21章Hive和亚马逊网络服务系统(AWS)
    21.1为什么要弹性MapReduce
    21.2实例
    21.3开始前的注意事项
    21.4管理自有EMRHive集群
    21.5EMRHive上的ThriftServer服务
    21.6EMR上的实例组
    21.7配置EMR集群
    21.7.1部署hive-site.xml文件
    21.7.2部署.hiverc脚本
    21.7.3建立一个内存密集型配置
    21.8EMR上的持久层和元数据存储
    21.9EMR集群上的HDFS和S
    21.10在S3上部署资源、配置和辅助程序脚本
    21.11S3上的日志
    21.12现买现卖
    21.13安全组
    21.14EMR和EC2以及ApacheHive的比较
    21.15包装

    第22章HCatalog
    22.1介绍
    22.2MapReduce
    22.2.1读数据
    22.2.2写数据
    22.3命令行
    22.4安全模型
    22.5架构

    第23章案例研究
    23.1m6d.com(Media6Degrees)
    23.1.1M6D的数据科学,使用Hive和R
    23.1.2M6DUDF伪随机
    23.1.3M6D如何管理多MapReduce集群间的Hive数据访问
    23.2Outbrain
    23.2.1站内线上身份识别
    23.2.2计算复杂度
    23.2.3会话化
    23.3NASA喷气推进实验室
    23.3.1区域气候模型评价系统
    23.3.2我们的经验:为什么使用Hive
    23.3.3解决这些问题我们所面临的挑战
    23.4Photobucket
    23.4.1Photobucket公司的大数据应用情况
    23.4.2Hive所使用的硬件资源信息
    23.4.3Hive提供了什么
    23.4.4Hive支持的用户有哪些
    23.5SimpleReach
    23.6ExperiencesandNeedsfromtheCustomerTrenches
    23.6.1介绍
    23.6.2CustomerTrenches的用例
    术语词汇表
查看详情