IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: 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编程指南随笔

hive cli(1.1.0版本)
(1)hive客户端可以使用hadoop相关命令,去掉hdfs,例如:dfs -ls /;
(2)set hive.cli.print.header=true; 打印头部信息
(3)set hive.cli.print.current.db=true; hive cli 显示当前所在数据库
(4)删除数据库先得删除库下面的表,加cascade关键字可以让hive自行删除库下面的表
例如:drop database if exists test_dp cascade;
(5)hive自带的两个属性,last_modified_by上一次修改用户,last_modified_time上一次修改时间
(6)分区,
hive.exec.dynamic.partitions.pernode ,缺省值是100,指每个mapper或reducer可以创建的最大动态分区个数
hive.exec.max.dynamic.partitions 缺省值是1000,指的是一个动态分区创建语句可以创建的最大分区数目
hive.exec.max.created.files 缺省值是100000,全局可以创建的最大文件个数
(7)floor()向下取整,ceil()向上取整
(8)json_tuple()可以解析多个字段,例如:select a.* from test lateral view json_tuple(‘${hivevar:msg}’,’server’,’host’) a as f1,f2;
get_json_object()只能解析一个
(9)解析url,parse_url_tuple()和parse_url()
(10)job的输入数据大小必须小于参数:
hive.exec.mode.local.auto=true
hive.exec.mode.local.auto.inputbytes.max(默认128MB)
job的map数必须小于参数:hive.exec.mode.local.auto.tasks.max(默认4)
job的reduce数必须为0或者1
(11)map join 大表关联小表,将小表加入内存,
set hive hive.auto.convert.join=true; --开启
set hive.mapjoin.smalltable.filesize=25000000; --设置小表的大小
right join和full join 不支持此操作。
(12)order by和sort by的区别:
order by全局排序,会有一个reduce去处理。sort by局部排序,在每个reduce中排序。如果只有一个reduce的时候是一样的。如果取topN,sort by优于order by
distribute by类似于group by
(13)多个union all,可以insert into 代替。union all会对数据源进行分发拷贝
(14)多个left join关联时,表的数据量应该依次增大。扫描最大的那个表,其他表加入缓存。可以手动加参数,/+streamtable(s)/
(15)当查询同一个张表的两个不用语句时,
如下效率低:
insert overwrite table test1 select * from history where user=‘xiaoming’

insert overwrite table test2 select * from history where user=‘xiaohong’

优化查询:
from history
insert overwrite table test1 select * where user=‘xiaoming’
insert overwrite table test2 select * where user=‘xiaohong’
注:使用多插入模式,不能往同一个表中插入
(16)set hive.mapred.mode=strict;严格模式,会禁止三种查询。
1.分区表不加where条件限制查询,不允许扫描所有分区
2.order by语句查询,必须限制limit语句
3.限制笛卡尔的查询

  大数据 最新文章
实现Kafka至少消费一次
亚马逊云科技:还在苦于ETL?Zero ETL的时代
初探MapReduce
【SpringBoot框架篇】32.基于注解+redis实现
Elasticsearch:如何减少 Elasticsearch 集
Go redis操作
Redis面试题
专题五 Redis高并发场景
基于GBase8s和Calcite的多数据源查询
Redis——底层数据结构原理
上一篇文章      下一篇文章      查看所有文章
加:2021-08-19 12:07:10  更:2021-08-19 12:09:18 
 
开发: 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/23 12:47:07-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码