我尝试使用apache-drill运行简单的连接聚合查询,速度不是很好.我的测试查询是:
SELECT p.Product_Category, SUM(f.sales)
FROM facts f
JOIN Product p on f.pkey = p.pkey
GROUP BY p.Product_Category
Run Code Online (Sandbox Code Playgroud)
事实有大约422,000行,产品有600行.分组返回4行.
首先,我在SqlServer上测试了这个查询,并在大约150ms内得到了一个结果.
使用钻取我首先尝试直接连接到SqlServer并运行查询,但这很慢(大约5秒).
然后我尝试将表保存到json文件并从中读取,但这甚至更慢,所以我尝试了镶木地板文件.
我在第一次运行中得到了结果,大约3秒钟.下次运行大约900ms,然后稳定在大约500ms.
从阅读来看,这没有任何意义,钻孔应该更快!我试过"REFRESH TABLE METADATA",但速度没有变化.
我通过钻取命令行在Windows上运行它.
如果我需要一些额外的配置或什么的任何想法?
谢谢!
有没有办法从java创建镶木地板文件?
我在内存中有数据(java类),我想把它写成一个镶木地板文件,以后再从apache-drill中读取它.
有没有一种简单的方法可以做到这一点,比如将数据插入到sql表中?
得到它了
谢谢您的帮助.
结合答案和这个链接,我能够创建一个镶木地板文件并用钻头读回来.