| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 大数据 -> Hive编程指南 -> 正文阅读 |
|
[大数据]Hive编程指南 |
1、基础知识2、基础操作$HOME/.hiverc 历史命令在$HOME/.hivehistory 在hive CLI 中执行hadoop的dfs命令,只要将hadoop去掉,结尾加分号 3、数据类型和文件格式4、HiveQL:数据定义内部表、外部表、管理表、分区表 5、HiveQL:数据操作导入数据: insert into insert overwrite create table as select 6、HiveQL:查询select ... from? 数学运算、聚合函数、嵌套select、case? when? then? like、rlike支持正则表达式 group by、having join:inner join、left outer join、outer join、right?outer join、full?outer join、left semi-join、笛卡尔积join 保证连续查询的表的大小从左到右依次增加。 order by、sort by只会在每个reducer中排序&是局部的、 distribute by控制map的输出在reducer中是如何划分的 cluster by:确保类似的数据可以分发到同一个reduce task中,而且保证数据是有序的。 类型转换case(value as type) 抽样查询 select * from tab tablesample(bucket 3 out of 10 on rand()) s ; 数据块抽样 select * from tab?tablesample(0.1 percent) s; union/union all 7、HiveQL:视图使用视图来降低查询复杂度 使用视图来限制基于条件过滤的数据 8、HiveQL:索引9、模式设计10、调优Explain 关键字 explain extended 输出信息更多 limit: hive.limit.optimize.enable设置为true、hive.limit.row.max.size和hive.limit.optimize.limit.file JOIN优化:最大的表放在join语句最右边 本地模式:适用于小数据集,设置hive.exec.mode.local.auto为true 并行执行:不依赖的stage可以并行执行,设置hive.exec.parallel为true 严格模式:设置hive.mapred.mode为strict,可以禁止3种查询:
调整mapper和reducer个数:
JVM重用:mapred.job.reuse.jvm.num.tasks? ,可以使得JVM实例在同一个job中重新使用N次 索引:可以加快含有group by语句的查询速度 动态分区调整: 推测执行: 单个mapreduce中多个group by: 虚拟列: 11、其他文件格式和压缩方法压缩可以最小化所需磁盘的存储空间,减少磁盘和网络的IO操作。 开启中间压缩可以减少job中map和reduce task间的数据传输量。
最终输出结果压缩
sequence file存储格式:可以将一个文件划分成多个块,然后采用一种分割的方式对块进行压缩。
存档分区:HAR归档文件 压缩包扎: 12、开发13、函数show functions describe function concat describe function extended concat UDF:用户自定义函数,继承并实现evaluate函数 HDAF:用户自定义聚合函数,avg UDTF:用户自定义表生成函数,array、explode、lateral view,继承GenericUDTF 14、Streaming在streaming job中,会为外部进程开启一个IO管道。 15、自定义Hive文件和记录格式RCfile二进制 记录格式:SerDe 序列化和反序列化 CSV:逗号分隔 TSV:回车分隔 XML UDF JSON?SerDe: Avro Hive?SerDe: 二进制输出: 16、Hive的Thrift服务Thrift是一个软件框架,用于跨语言的服务开发。10000 启动hiveserver:hive --service hiveserver &?? hive的thriftmetastore应该和实际使用jdbc的元数据存储进行通信:9083 启动:hive --service metastore & 17、存储处理程序和NoSQLhive可以将底层数据以文本形式存储在hdfs,以列簇方式存储在hbase、cassandra、amazon dynamoDB。 支持hbase表之间连接,也支持hbase表和非hbase表之间连接。 18、安全和hadoop安全功能相结合 使用hive进行验证 hive中的权限管理
分区级别的权限 自动授权 19、锁hive结合zookeeper支持锁功能 显式锁和独占锁:lock table people exclusive 20、Hive和Oozie整合oozie是一个工作流引擎服务器。 oozie提供的多种动作:mapreduce、shell、java、pig、hive、distcp oozie网页控制台:http://ip:11000/oozie 21、Hive和亚马逊网络服务系统AWS22、HCatalog不同工具之间共享元数据 23、案例研究-------------《Hive编程指南》 |
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/22 23:33:57- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |