SnowFlake 程序
2022-04-17
289
用 Javascript 编写的 Snowflake 程序是否经过预编译。我注意到该程序在每次调用时都会进行编译。有什么想法吗?
此外,考虑到 SnowFlake SQL 或 Java 仍处于预览阶段,在生产过程中使用它们是否明智?
1个回答
已编译:否
JavaScript 不是编译语言。但 SQL 也不是,但许多 DB 都有“预编译的 SQL 过程”和“预编译的 SQL”。Snowflake 没有“预编译的”SQL。但 Java 是经过编译的。
这说得有点长,不,SQL/JavaScript 在“目前”每次运行时都会进行评估,因此不是“编译的”
这有关系吗?
但实际上,如果您使用的 JavaScript 过程超过 10 行,那么编译时间将是一个重要因素。如果您对从文件中读取的 10 亿行数据组使用 JavaScript 函数,并过滤到 100 万行,那么与读取的数据相比,这些行的 JavaScript 的“成本”将是不可见的。
因此,与所有事物一样,没有通用的答案,您应该测试您的性能,当它“足够好”时,再继续使用下一个功能/昂贵的功能/程序。
编译 Java 值得吗?
可能不值得,在极端情况下,是的,就像在现实世界中一样,任何项目都应该用 Java 而不是用 JavaScript 编写。一个开发速度快,另一个开发速度非常慢。一个可以很快,另一个可以使用库(Snowflake SP 中没有库)。无论如何,我会“获得一个可行的解决方案”,然后在您看到它们时优化“慢”位。而不是试图预先写出最好的东西。
Simeon Pilgrim
2022-04-17