您的位置 首页 java

Hive常见问题及处理方法

  1. Hive 是什么
  2. Hive是基于Hadoop的一个数据仓库工具,应该是整个Hadoop系统中最常使用的一个功能组件,通过内部的关系型元数据库,将存储在 hdfs 中的文件有效的管理起来,并提供类SQL的数据库操作语言,满足大数据集的统计分析工作。关于Hive的架构原理和基本操作部分.
  3. Hive操作中常见的问题及处理方法
  4. 1)如何在脚本中嵌入hive操作语句
  5. 命令:hive -e “语句块”
  6. 案例:
  7. 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 ”
  8. 说明:语句块中,各个语句之间用分号分隔
  9. 2)大数据集情况下,hive查询提示” Java heap space”错误
  10. 解决办法:调整hive的 io .sort.mb参数(默认值为100),使其值在10-80之间
  11. 命令:set io.sort.mb=10
  12. 3)Hive中 空值 处理
  13. hive中空值有两种形态:null 和’ ‘,其存储规则为:若字段类型为string,则null的存储值为\N, ’ ‘的存储值为本身,其他字段类型如int的存储值均为\N;对于string类型,条件is null 查出来的是\N的数据;而条件 =’’,查询出来的是”“的数据
  14. hive可自定义字符来表示null,比如用’ ‘表示null,实现空值的存储统一.
  15. 命令如下:
  16. alter table tab_name set serdeproperties(‘serialization.null.format’=”)
  17. 空值条件查询(针对 字符串 ):
  18. select b.id,b.name from b where b.name<>’’ and b.name is not null;
  19. 4)查看hive表数据的存储路径
  20. 指令:show create table table_name;
  21. 实例:
  22. (
  23. 5)Load hdfs文件时报SemanticException [Error 10028]错误
  24. 原因说明:Line 1:17 Path is not legal,Please check that values for params “default.fs.name” and “hive.metastore.warehouse.dir” do not conflict.
  25. hive配置文件被更改导致
  26. 解决办法:Load 文件时,添加Path的绝对路径即可,且主机IP需用别名。
  27. load data inpath ‘hdfs://master1:9000/home/liuh3/router_mac/part-00000’ into table router_m;
  28. 后续遇到新的问题再补充。。

文章来源:智云一二三科技

文章标题:Hive常见问题及处理方法

文章地址:https://www.zhihuclub.com/199516.shtml

关于作者: 智云科技

热门文章

发表回复

您的电子邮箱地址不会被公开。

网站地图