Snowpark Migration Accelerator: 嵌入式 SQL 代码¶
备注
Currently, SMA only supports the *pyspark.sql* (https://spark.apache.org/docs/latest/api/python/reference/pyspark.sql/api/pyspark.sql.SparkSession.sql.html) function.
SMA 可以转换嵌入在 Python 或 Scala 文件中的 SQL 代码。它处理以下文件扩展名中的嵌入式 SQL 代码:
Python 源代码文件(带有 .py 扩展名)
Scala 源代码文件(带有 .scala 扩展名)
Jupyter Notebook 文件(带有 .ipynb 扩展名)
Databricks 源文件(带有 .python 或 .scala 扩展名)
Databricks Notebook 存档文件(带有 .dbc 扩展名)
嵌入式 SQL 代码转换示例¶
支持的案例¶
Using the *spark.sql* (https://spark.apache.org/docs/latest/api/python/reference/pyspark.sql/api/pyspark.sql.SparkSession.sql.html) function in Python to execute SQL queries:
不支持的案例¶
When SMA encounters code that it cannot convert, it generates an Error, Warning, and Issue (EWI) message in the output code. For more details about these messages, see EWI.
目前不支持以下场景:
使用了 SQL 代码时,可以通过以下方式合并字符串变量:
使用了简单的串联组合字符串来构建 SQL 代码:
使用了字符串插值动态生成 SQL 语句:
使用了动态生成 SQL 查询的函数:
不支持的案例和 EWI 消息¶
分析 Scala 代码时,错误代码 SPRKSCL1173 表示不支持的嵌入式 SQL 语句。
当 Python 代码包含不支持的嵌入式 SQL 语句时,将显示错误代码 SPRKPY1077。