分享

关于hive动态分区依赖外部表问题

mjjian0 发表于 2017-4-7 10:27:18 [显示全部楼层] 回帖奖励 阅读模式 关闭右栏 6 13599
hive动态分区我知道怎么做,但是我们现在是想把mysql数据导入进hive的时候,就可以按mysql表里的日期字段自动分区。
目前的动态分区
INSERT overwrite TABLE table1 PARTITION (month,day)
SELECT url,substr(day,1,7) AS month,day
FROM table2;
动态创建table1表分区的时候需要从table2表select数据,但是如果这样的话,我是不是需要在hive库里创建两个表结构一样的表,而且存储着相同的数据,这样不是造成数据重复存储了吗。
不知道,hive动态分区,可不可以省略掉table2.
大神支招啊。

已有(6)人评论

跳转到指定楼层
fly2015 发表于 2017-4-7 10:56:38
sqoop应该可以吧
回复

使用道具 举报

mjjian0 发表于 2017-4-7 13:19:38

sqoop不知道满不满足我的要求,但我们现在用datax
回复

使用道具 举报

arsenduan 发表于 2017-4-7 15:55:14
那就搞个临时表,这在传统数据库中,也是非常常见的
回复

使用道具 举报

mjjian0 发表于 2017-4-7 16:16:29
arsenduan 发表于 2017-4-7 15:55
那就搞个临时表,这在传统数据库中,也是非常常见的

数据存两份了吗?
回复

使用道具 举报

langke93 发表于 2017-4-7 17:32:03
mjjian0 发表于 2017-4-7 16:16
数据存两份了吗?

这么说,也不全错。但是临时表和普通表是有一定区别的。建议了解一下临时表
下面资料供楼主参考:


临时表
Hive 0.14.0及以上
表只对当前session有效,session退出后,表自动删除。
语法:
CREATE TEMPORARY TABLE ...
注意点:
1、如果创建的临时表表名已存在,那么当前session引用到该表名时实际用的是临时表,只有drop或rename临时表名才能使用原始表
2、临时表限制:不支持分区字段和创建索引

~~~~~~~~~~~~~~~~~~
相关文章
Hive使用临时表及非临时表示例

~~~~~~~~~~~~~~~~~

更多楼主可搜索下


回复

使用道具 举报

mjjian0 发表于 2017-4-7 17:55:56
langke93 发表于 2017-4-7 17:32
这么说,也不全错。但是临时表和普通表是有一定区别的。建议了解一下临时表
下面资料供楼主参考:

谢谢,这应该是我要的了,谢谢大神啊
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

推荐上一条 /2 下一条