开发者社区 > 大数据与机器学习 > 实时计算 Flink > 正文

impala第一次查询慢 第二次查询快这是什么原因?

impala第一次查询慢 第二次查询快这是什么原因? 本问题来自阿里云开发者社区的【11大垂直技术领域开发者社群】。 点击这里欢迎加入感兴趣的技术领域群。

展开
收起
黄一刀 2019-12-10 11:39:09 4729 0
2 条回答
写回答
取消 提交回答
  • impala依赖操作系统缓存,第一次查询后数据会在操作系统内存中缓存,下一次查询的IO扫描时间就会大幅缩短。

    One way to simulate a heavy workload on a lightly loaded system is to flush the OS buffer cache (on each DataNode) between iterations of queries against the same tables or partitions:
    $ sync
    $ echo 1 > /proc/sys/vm/drop_caches
    
    2020-05-05 10:07:25
    赞同 展开评论 打赏
  • 第一次编译花费时间长,第二次直接从内存中取,花不了多少时间.第一次查询时数据是从硬盘调入缓冲区,此后这些数据会被缓存在缓冲区,第二次调用时就直接从缓冲区取数据了,所以看上去第一次要比第二次慢. 你每次执行前加这样一句

    DBCC DROPCLEANBUFFERS GO

    清空缓冲区,然后再看查询速度

    2019-12-10 11:39:56
    赞同 展开评论 打赏

实时计算Flink版是阿里云提供的全托管Serverless Flink云服务,基于 Apache Flink 构建的企业级、高性能实时大数据处理系统。提供全托管版 Flink 集群和引擎,提高作业开发运维效率。

相关电子书

更多
Phoenix Search Index 功能与应用场景介绍 立即下载
数据采集:日志数...[jing.luojing].1477375627.pdf 立即下载
PolarDB NL2SQL: 帮助您写出准确、优化的SQL 立即下载