hive
文章平均质量分 70
mingming20547
这个作者很懒,什么都没留下…
展开
-
hive中的lateral view 与 explode函数的使用 行转列
hive中的lateral view 与 explode函数的使用explode与lateral view在关系型数据库中本身是不该出现的,因为他的出现本身就是在操作不满足第一范式的数据(每个属性都不可再分),本身已经违背了数据库的设计原理(不论是业务系统还是数据仓库系统),不过大数据技术普及后,很多类似pv,uv的数据,在业务系统中是存贮在非关系型数据库中,用json存储的概率比较大,直接导入hive为基础的数仓系统中,就需要经过ETL过程解析这类数据,explode与lateral view在这原创 2020-05-25 17:36:28 · 1379 阅读 · 0 评论 -
HIVE 插入中文分区值的问题
执行程序报错,如下信息error msg=[|| e.getMessage()=Error while processing statement: FAILED: Execution Error, return code 1 from org.apache.hadoop.hive.ql.exec.MoveTask. Exception when loading 1 in table temp_A...原创 2020-04-28 20:04:27 · 1761 阅读 · 0 评论 -
hive报错(1)MoveTask/HIVE return code 1、2、3
今天在CDH上执行hive sql的时候报了一个错错误内容为:FAILED: Execution Error, return code 1 from org.apache.hadoop.hive.ql.exec.MoveTask错误语句:INSERT OVERWRITE DIRECTORY '{$dir}' select * from tmp_analyse_os w...原创 2020-04-28 12:04:59 · 7249 阅读 · 0 评论 -
case when是不是只要满足第一个别的就不进行执行了
CASE WHEN是列出几个并行的条件,几个情况都是并列的,优先级从前往后;所以如果你的情况条件从小到大,那么遇到前边的,虽然可能符合多个条件,但是优先级是前边的优于后边的。所以遇到第一个符合的,就会取出这个条件需要的数据,而不会再往后判断。...原创 2020-04-01 15:12:05 · 8327 阅读 · 0 评论 -
hive null 值比较大小
select case when null >'1' then 1 when null < '1' then 2 when null = '1' then 3 else null end所以结果为nullnull 值不满足任意一个条件。''的achii 吗 是 0select cas...原创 2020-03-25 18:26:29 · 4535 阅读 · 0 评论 -
hive 配置参数说明
hive.exec.mode.local.auto 决定 Hive 是否应该自动地根据输入文件大小,在本地运行(在GateWay运行) true hive.exec.mode.local.auto.inputbytes.max 如果 hive.exec.mode.local.auto 为 true,当输入文件大小小于此阈值时可以自动在本地模式运行,...原创 2019-08-21 11:53:55 · 323 阅读 · 0 评论 -
HIVE 计算指定日期本周的第一天和最后一天
select day ,(day,1) -- 时间 ,date_add(day,1 - dayofweek(day)) as week_first_day -- 本周第一天_周日 ,date_add(day,7 - dayofweek(day))...原创 2019-08-07 12:02:48 · 13314 阅读 · 0 评论 -
hive左关联剔除和where 剔除不一致
--在关联条件不唯一的时候。存在一对多的情况时候。select count(1) from TEMP.TEMP_DTL_GL T LEFT JOIN TEMP.COST_RATE RATE ON T.MOD = RATE.MOD AND T.IAT = RATE.SAT where T....原创 2019-07-30 09:41:37 · 479 阅读 · 0 评论 -
Hive删除表中数据
方式一:仅删除表中数据,保留表结构truncate table 表名;(truncate用于删除所有的行,这个行为在hive元存储删除数据是不可逆的)或delete from 表名 where 1 = 1 ;(delete用于删除特定条件下的行,使用where 1=1 删除所有行SQL中where 1 = 1 的使用)truncate 不能删除外部表!因为外部表里...原创 2019-07-12 11:40:44 · 43001 阅读 · 3 评论 -
#Hive报错 WritableStringObjectInspector cannot be cast to org.apache.hadoop.hive.serde2.objectinspect
#Hive报错FAILED: ClassCastException org.apache.hadoop.hive.serde2.objectinspector.primitive.WritableStringObjectInspector cannot be cast to org.apache.hadoop.hive.serde2.objectinspector.primitive.LongO...原创 2019-07-12 09:57:26 · 6435 阅读 · 0 评论 -
ORACLE NOT EXISTS不等值 改写成hive
ORACLE NOT EXISTS不等值 改写成hive SELECT A.A1, A.A2,A.A3,A.A4 FROM A LEFT JOIN C ON A.A6= C.C6 WHERE NOT EXISTS (SELECT 1 FROM B WHERE B.B1 = A....原创 2019-07-18 16:40:04 · 916 阅读 · 0 评论 -
oracle中代替in 和not in 高效方法
-- 在oracle中效率排行:表连接>exist>not exist>in>not in;-- 因此如果简单提高效率可以用exist代替in进行操作,当然换成表连接可以更快地提高效率,-- 具体是用left join代替not in 和not exist,用inner join 代替in和exist,这样可以大大提高效率。具体例子如下:-- A、NOT IN、N...原创 2019-07-16 13:23:23 · 3328 阅读 · 0 评论 -
hive 字符串前有 ’ 符号
hive 字符串前有 ’ 符号字符串前有 ' 符号导致数据关联不上,在hue查询的时候可能显示不出来,但是看数据长度会比之前长一点Excel表格的单元格中左上角有一个绿色的小角代表什么代表文本类型,此时这些字段前面有 ' 符号。解决方法为FROM DD.F_ORDD ECM) DLEFT JOIN DIM.DD_D ITON IT.ICODE =nvl(ca...原创 2019-07-04 18:11:18 · 1115 阅读 · 0 评论 -
unix_timestamp 时间戳函数用法(hive)
一、unix_timestamp函数用法1、unix_timestamp() 得到当前时间戳2、如果参数date满足yyyy-MM-dd HH:mm:ss形式,则可以直接unix_timestamp(string date) 得到参数对应的时间戳3、如果参数date不满足yyyy-MM-dd HH:mm:ss形式,则我们需要指定date的形式,在进行转换select unix_...原创 2019-07-04 10:22:48 · 73191 阅读 · 3 评论 -
SQL语句中的AND和OR执行顺序问题
问题的关键就在于AND和OR的执行顺序问题。查阅资料,关系型运算符优先级高到低为:NOT>AND>OR如果where 后面有OR条件的话,则OR自动会把左右的查询条件分开hive 中‘不等于’不管是用! 或者<>符号实现,都会将空值即null过滤掉,此时要用where (white_level<>'3' or white_level is nul...原创 2019-07-09 10:10:40 · 938 阅读 · 0 评论 -
Hive性能优化
2.介绍 首先,我们来看看Hadoop的计算框架特性,在此特性下会衍生哪些问题?数据量大不是问题,数据倾斜是个问题。 jobs数比较多的作业运行效率相对比较低,比如即使有几百行的表,如果多次关联多次汇总,产生十几个jobs,耗时很长。原因是map reduce作业初始化的时间是比较长的。 sum,count,max,min等UDAF,不怕数据倾斜问题,hadoop在map端的汇总合并...转载 2019-07-08 12:58:32 · 163 阅读 · 0 评论 -
hive 和 impala 时间参数错误的问题 yyyy-MM-dd
FROM_UNIXTIME(UNIX_TIMESTAMP(M.LAST_UPDATE_DATE), 'yyyy-MM-dd') >='${START_DATE}' LAST_UPDATE_DATE 的日期格式为'2017-02-01 18:47:58' 这种形式的,如果把''dd' 改成'DD' 则会变成当年当天是该年的第几天 select FROM_UNIXTIME(U...原创 2018-12-26 17:40:36 · 1348 阅读 · 0 评论