hive
文章平均质量分 92
abc200941410128
这个作者很懒,什么都没留下…
展开
-
hive计算周几函数遇见的结果差1的问题(DATEDIFF和pmod)
因公司的hive版本较低,不支持计算周几的函数dayofweek。只能用pmod(datediff(‘2020-09-17’, ‘1920-01-01’) -3, 7)来计算周几。但是后面发现与pmod(datediff(to_date(‘2020-09-17’), ‘1920-01-01’) -3, 7)返回结果不一致,然后就进行了一些 探索(注,CURRENT_DATE和current_timestamp 是9.17做的)select -- 日期和时间形式的字符串 pmod(原创 2020-09-18 19:20:36 · 1664 阅读 · 1 评论 -
Hive分区表新增字段后用MR查询为null的bug及解决方法
1、问题描述最近工作需要,需对近两个月hive分区表增加新的字段(公司平台,hive版本2.*),利用alter table table_name add columns (col_name string ) 新增字段后,向已存在分区中插入数据,结果新增字段的值全部为null。2、问题追溯首先用MR引擎查询为空,结果如下:怀疑是不是数据没有插入,但是看日志明显已经写入成功了;然后换了...原创 2019-12-28 10:16:15 · 1197 阅读 · 0 评论 -
将mysql中时间类型的字段导入hive中遇到的坑(时间错啦)
一、问题发现与分析问题:用公司的大数据平台(DataX)导数,已经开发上线一个多月的一批报表,突然有同事说有个报表数据不准。出在时间字段上。分析:1、先看了原数据MySQL字段类型为datetime,目标字段为timestamp类型;2、经发现所有时间的差距都是8小时,怀疑是因为时区转换的原因;3、对比其他表,看看是大范围现象还是特殊情况,发现其他的同样情况字段的一样没有问题,也有改变...原创 2019-11-12 20:45:49 · 5687 阅读 · 0 评论 -
在数据库处理中数字与字符串之间比较的坑(hive VS mysql )
数字与字符串之间比较的坑(hive&mysql )背景MySQLhive背景在工作中遇到了同样的SQL在hive和MySQL执行后所得总数对不上,但是抽样执行都是一致的。最后发现问题出在hive和MySQL在数字和字符串比较时是不一样的。MySQL在MySQL中,字符串和数字比较是自动转化为数字,如果开头没有数字就转化为0:字符串(数值)与数值比较 ,与数值比较没有差别:m...原创 2019-11-11 20:26:16 · 7280 阅读 · 0 评论 -
hive表复制和HDFS回收站清除
hive表复制1、非分区表的复制create table t_copy as select * from t_temp;跟一般sql语句一样。2、分区表的复制先复制源表的表结构create table t_copy like t_part;再插入分区数据,如:insert overwrite table t_copy partition(year,month)select id,name,o原创 2017-12-11 10:34:22 · 8511 阅读 · 0 评论 -
hive执行语句优化
一、类SQL语句优化1、跟SQL基本一致的优化原则1.1 尽量原子化操作尽量避免一个SQL包含复杂逻辑,可以使用中间表来完成复杂的逻辑。1.2 尽量尽早地过滤数据尽量先where筛选后再join,减少每个阶段的数据量,对于分区表要加分区条件,只选择需要使用到的字段。1.3 表链接时尽量使用相同的连接键当对3个或者更多个表进行join连接时,如果每个on子...原创 2018-04-16 16:58:39 · 4295 阅读 · 0 评论