如何优化这个简单的查询,表里有850亿条记录

PasLeChoix 2017-10-24 08:02:37
我使用的是26个节点的Cloudera 集群,每个节点的内存是256G。

我有一个很简单的query,但是总是time out

select * from order_detail 
where
cast(trd_date as timestamp) > cast ('2014-10-30' as timestamp) and
cast(trd_date as timestamp) < cast ('2015-01-01' as timestamp) and
cat = 'FUSION' and DEST in ('XCBF','XCBG','XDVF','CBF')


挑战在于这个order_detail有850亿条记录!

谢谢各位。
...全文
1399 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
yourfff 2018-09-04
  • 打赏
  • 举报
回复
select * from order_detail
where
cat = 'FUSION' and
cast(trd_date as timestamp) > cast ('2014-10-30' as timestamp) and
cast(trd_date as timestamp) < cast ('2015-01-01' as timestamp) and
( DEST ='XCBF' or DEST ='XCBG' or DEST ='XDVF' or DEST ='CBF')
五哥 2018-08-29
  • 打赏
  • 举报
回复
select * from order_detail
where
cat = 'FUSION' and
cast(trd_date as timestamp) > cast ('2014-10-30' as timestamp) and
cast(trd_date as timestamp) < cast ('2015-01-01' as timestamp) and
( DEST ='XCBF' or DEST ='XCBG' or DEST ='XDVF' or DEST ='CBF')
pucheung 2018-08-23
  • 打赏
  • 举报
回复
850亿, trd_date  这个字段不是分区字段吗 , 方法: 分区、分批次查询
五哥 2018-07-26
  • 打赏
  • 举报
回复
850亿条数据,日期分期,不要用in,用or
老农民挖数据 2018-02-11
  • 打赏
  • 举报
回复
order_detail 这个肯定是分区表咯, 所以你的850亿,无所谓。 你肯定要分区过滤。 我看了你的*号, 完全没有意思, 你是在测试性能吧。 真正的业务不会这样用吧。 所以,你完全可以按分区循环查询,列出你需要你的列。加上limit更佳。 或者你的详单存hbase,设计好你的key。 要不走impala,利用好compute stats xxx 表 partiton(xxxx)。 或者我们私聊, qq :271866215 CSDN: 老农民挖数据
勤奋的沉沦 2017-11-08
  • 打赏
  • 举报
回复
1. 你的查询用索引了吗? 2. 你的索引科学吗?是否能让你查询的数据连续的分布在一个或者多个节点上?如果不能,那么查询出来的数据还需要重新聚合重新查询 3. 如果上面的两个问题都不能解决,那么就想办法减少表的数据量。
zgycsmb 2017-10-30
  • 打赏
  • 举报
回复
应该是和索引有关。。
TracyGao01 2017-10-27
  • 打赏
  • 举报
回复
用什么引擎查的?hive on spark? hive on mr? spark sql? Impala?...明确一下问题 楼上说的对,你的索引字段放在函数里是无法命中索引的
水草有根 2017-10-26
  • 打赏
  • 举报
回复
使用的是什么技术?spark/spark sql , 还是hive ,还是 presto之类的sql引擎,吴国是MR技术,特别注意数据倾斜;如果是sql引擎,注意索引,一般如果把index key放在函数中是无法走索引的,优化sql,把index key 从函数中拿出来

20,808

社区成员

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

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