superset 使用 presto 获取数据缓慢问题解决

排查思路

原文链接: https://editor.csdn.net/md/?articleId=104540547

1.使用 traceback.print_stack() 加入到pyhive源码中,如 venv/lib/python3.6/site-packages/pyhive/presto.py 的 _process_response方法
2.superset界面上执行任意sql
3.superset控制台打印出调用_process_response的方法栈
4.根据方法栈,追踪到time.sleep的代码
5.修改sleep的间隔,缩小至0.2s,即可解决pyhive poll presto 结果时,每次的间隔为1s,比较缓慢的问题.

其它

查看superset的hive.py源码,发现有可配置参数HIVE_POLL_INTERVAL.
但是presto没有.此处可以对superset提一个PR,让presto的轮询间隔时间作为可配置的.

后续有时间再给superset提交优化的PR.

你可能感兴趣的:(superset 使用 presto 获取数据缓慢问题解决)