随笔分类 -  HIVE

摘要:问题描述: 实际应用中,常常存在修改数据表结构的需求,比如:增加一个新字段。 如果使用如下语句新增列,可以成功添加列col1。但如果数据表tb已经有旧的分区(例如:dt=20190101),则该旧分区中的col1将为空且无法更新,即便insert overwrite该分区也不会生效。 alter t 阅读全文

posted @ 2019-04-16 11:11 jackley 阅读(529) 评论(0) 推荐(0)

摘要:先说结论,再举例子。 hive中,left join与left outer join等价。 left semi join与left outer join的区别:left semi join相当于in,即会过滤掉左表中join不到右表的行,右表中有多行能join到时显示一行,并且只输出左表的字段、不输 阅读全文

posted @ 2018-04-10 20:11 jackley 阅读(1524) 评论(0) 推荐(0)

摘要:当选择两个字段时,例如:"select XX1, XX2 from tb; ",那么将distinct放在前一个字段XX1之前和放在后一个字段XX2之前,结果有什么不同呢? 先说结论:如果将distinct放在前一个字段之前,则会返回对两个字段的组合去重后的结果;而如果将distinct放在后一个字 阅读全文

posted @ 2016-07-12 19:38 jackley 阅读(694) 评论(0) 推荐(0)

摘要:同一条语句之中,如果同时有group by和distinct语句,是先group by后distinct,还是先distinct后group by呢? 先说结论:先group by后distinct。 以下是在HIVE中的验证: 1)建表:其中xxx替换为本地目录名 2)从tmp_tb文件中导入数据 阅读全文

posted @ 2016-07-11 20:02 jackley 阅读(319) 评论(0) 推荐(0)