hive分区优化不生效

tchqiq 2015-08-31 11:08:25
大神们~问一个关于hive的问题
我们的日志是按天做分区的
我想在hive中直接取当天分区的数据
这样写:concat_ws('-',year,month,day)=date_sub(from_unixtime(unix_timestamp(),'yyyy-MM-dd'),1)
结果貌似是先把所有分区都加载了然后进行的过滤,因为观察日志可以看到job的map数量巨大
但是如果这样写 where concat_ws('-',year,month,day)='2015-08-30' ,指明了分区,而不用计算就会有分区优化了
我想问的是,如果我就想采用第一种写法,有什么办法能让hive进行分区优化吗?
是有什么参数可以强制指定先过滤分区吗?
...全文
307 1 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
alinly 2015-09-15
  • 打赏
  • 举报
回复
想在hive中直接取当天分区的数据? 创建分区的时候按照year,month,day 三个字段分开创建, 读取能直接定位到day,不用过滤. 比如: where year="2015" and month="09" and day="15"

20,848

社区成员

发帖
与我相关
我的任务
社区描述
Hadoop生态大数据交流社区,致力于有Hadoop,hive,Spark,Hbase,Flink,ClickHouse,Kafka,数据仓库,大数据集群运维技术分享和交流等。致力于收集优质的博客
社区管理员
  • 分布式计算/Hadoop社区
  • 涤生大数据
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧