在Presto中使用自定义SQL,例如DSL

问题描述 投票:0回答:1

我的Web应用程序应使用DSL这样的自定义SQL来了解存储在数据湖上的镶木地板文件。现在,我使用Spark将DSL命令转换为DataFrame API,但我意识到使用MPP解决方案(例如Presto \ Impala等)可以实现更好的性能,因为它们始终具有用于SQL执行的准备好的过程。但我有一个局限性-将DSL转换为SQL应该在第三方位置进行。我知道我可以构建一个代理应用程序,以从此DSL转换为SQL。我的问题是下一个:有什么方法可以在Presto方面进行这种转换吗?

dsl presto
1个回答
0
投票

有没有办法在Presto方面进行这种转换?

Presto没有language的任何扩展点,因此它不允许替换SQL或通过插件对其进行扩展。

当然,您可以在Presto中滚动使用迷你语言来替换SQL解析器和分析器,但这将需要很多工作。如果选择此路径,则可以在#devPresto Community Slack通道上寻求指导。但是,我不建议重新实现语言层-从时间的角度来看这是昂贵的。

我建议您在应用程序中或Presto前面的某些代理中将自定义DSL转换为SQL。您可以方便地使用presto-proxy作为基础为Presto构建代理。

© www.soinside.com 2019 - 2024. All rights reserved.