Azure Synapse Analytics中PySpark Notebook加载独立SQL脚本的实现咨询
在Azure Synapse Analytics中调用独立SQL脚本到PySpark Notebook
1. 能否在PySpark Notebook中使用独立SQL脚本?
完全可以。你可以将独立SQL脚本存储在Azure Data Lake Storage (ADLS) Gen2、Synapse工作区文件系统或其他可访问的存储位置,通过PySpark代码读取并执行脚本内容。
2. 将SQL脚本加载到变量的Python代码
根据脚本存储位置,常见实现方式如下:
方式一:从ADLS Gen2读取(挂载点或ABFS路径)
如果SQL脚本存于ADLS Gen2容器,可通过挂载路径或完整ABFS路径读取:
# 方法1:Python原生文件操作(适用于已挂载的路径) sql_file_path = "/mnt/adls/path/to/your/query.sql" with open(sql_file_path, 'r') as f: sql_query = f.read() # 方法2:PySpark text读取(适用于ABFS直接路径) sql_file_path = "abfss://container@storageaccount.dfs.core.windows.net/path/to/query.sql" sql_query_df = spark.read.text(sql_file_path) sql_query = ' '.join(sql_query_df.select("value").rdd.flatMap(lambda x: x).collect())
方式二:从Synapse工作区脚本目录读取
若SQL脚本直接创建在Synapse工作区的「Scripts」目录下,可使用mssparkutils工具读取:
from notebookutils import mssparkutils sql_file_path = "/Scripts/your_script.sql" sql_query = mssparkutils.fs.head(sql_file_path)
读取完成后,可通过spark.sql(sql_query)执行该SQL语句。
内容的提问来源于stack exchange,提问作者Sybaris
相关产品推荐
相关产品推荐

