- Hive是什么
- Hive是基于Hadoop的一个数据仓库工具,应该是整个Hadoop系统中最常使用的一个功能组件,通过内部的关系型元数据库,将存储在hdfs中的文件有效的管理起来,并提供类SQL的数据库操作语言,满足大数据集的统计分析工作。关于Hive的架构原理和基本操作部分.
- Hive操作中常见的问题及处理方法
- 1)如何在脚本中嵌入hive操作语句
- 命令:hive -e “语句块”
- 案例:
- hive -e “set io.sort.mb=10; select did,mac,made,count(*) from table_name where date between ‘2016-06-01’ and ‘2016-06-30’ and io =’in’ and (did is not null and did<>”) group by did,mac,made ”
- 说明:语句块中,各个语句之间用分号分隔
- 2)大数据集情况下,hive查询提示” Java heap space”错误
- 解决办法:调整hive的io.sort.mb参数(默认值为100),使其值在10-80之间
- 命令:set io.sort.mb=10
- 3)Hive中空值处理
- hive中空值有两种形态:null 和’ ‘,其存储规则为:若字段类型为string,则null的存储值为\N, ’ ‘的存储值为本身,其他字段类型如int的存储值均为\N;对于string类型,条件is null 查出来的是\N的数据;而条件 =’’,查询出来的是”“的数据
- hive可自定义字符来表示null,比如用’ ‘表示null,实现空值的存储统一.
- 命令如下:
- alter table tab_name set serdeproperties(‘serialization.null.format’=”)
- 空值条件查询(针对字符串):
- select b.id,b.name from b where b.name<>’’ and b.name is not null;
- 4)查看hive表数据的存储路径
- 指令:show create table table_name;
- 实例:
- (https://img-blog.csdn.net/20170915151428947?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvenlsb3ZlMjAxMA==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast)
- 5)Load hdfs文件时报SemanticException [Error 10028]错误
- 原因说明:Line 1:17 Path is not legal,Please check that values for params “default.fs.name” and “hive.metastore.warehouse.dir” do not conflict.
- hive配置文件被更改导致
- 解决办法:Load 文件时,添加Path的绝对路径即可,且主机IP需用别名。
- load data inpath ‘hdfs://master1:9000/home/liuh3/router_mac/part-00000’ into table router_m;
- 后续遇到新的问题再补充。。
mach3使用小窍门
小猪网
2025-04-23 00:29:45
12765
【声明】任何单位或个人未经本站书面授权不得转载、链接、转贴或以其他方式复制发表。否则,本站将依法追究其法律责任。