Hive常见问题及处理方法
来源:互联网 发布:淘宝企业店铺 申请 编辑:程序博客网 时间:2024/05/18 12:29
Hive是什么
Hive是基于Hadoop的一个数据仓库工具,应该是整个Hadoop系统中最常使用的一个功能组件,通过内部的关系型元数据库,将存储在hdfs中的文件有效的管理起来,并提供类SQL的数据库操作语言,满足大数据集的统计分析工作。关于Hive的架构原理和基本操作部分,可以参考如下这篇文章(http://www.cnblogs.com/wangrd/p/6275162.html)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=103)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;
实例:
(http://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;后续遇到新的问题再补充。。
- Hive常见问题及处理方法
- Hive常见问题及解决方法
- GridView控件常见问题及处理方法
- GridView控件常见问题及处理方法
- GridView控件常见问题及处理方法
- 金蝶常见问题及处理方法
- 源码同步常见问题及处理方法
- Android sdk配置 常见问题及处理方法
- dedecms织梦常见问题及处理方法
- Android Studio 常见问题及处理方法
- 常见问题及处理
- vs2003 常见问题及处理
- Oracle常见问题,及处理。
- GoldenGate常见问题及处理
- Android sdk配置 常见问题及处理方法——馨新欣心
- 关于Date类型的常见问题及处理方法
- 22种手机使用中的常见问题及处理方法
- Linux常见问题处理方法
- Java学习笔记
- 四轴飞行器的相关知识
- ios-Swift中的懒加载和getter、setter方法
- android 关机流程解析
- linux常见压缩解压命令
- Hive常见问题及处理方法
- 项目实战之集成邮件开发
- ini_set("display_errors","On");和error_reporting(E_ALL);
- c#中堆和栈的区别
- 算法day07
- 定时器的使用
- 菜鸟springboot学习之旅之@RequestBody
- LCA算法模板(离线算法,在线算法)
- 键盘事件