Azure Synapse PySpark -从架构定义文件加载架构

kpbpu008  于 2023-10-15  发布在  Spark
关注(0)|答案(1)|浏览(111)

我在一个datalake上有几个不同的数据集(JSON格式)。这是吸入过程中的着陆数据
我使用PySpark notebook将数据从Landing加载到Staging,它将在Parquet文件中。这个过程的一部分是确保数据是正确的。
我想在PySpark中加载每个数据集的预定模式,这样我就可以将Notebook用于多个数据集(参数化)
我希望能够在湖上创建一个“Schema File”,然后将其加载到PySpark中的一个Schema对象中,并使用该Schema Object从湖上的文件加载框架。

#schema = LoadFromFile(varSchema)     
df = spark.read.load(varLanding, format='json', schema=dataSchema)
display(df.limit(5))
atmip9wb

atmip9wb1#

这个预定义的Schema文件可以是JSON吗?

from pyspark.sql import SparkSession

spark = SparkSession.builder.appName("SchemaLoading").getOrCreate()

schema_file_path = "path_to_schema_file.json"

schema = spark.read.json(schema_file_path)

landing_path = "path_to_json_files"
dataSchema = schema   # Use the loaded schema

df = spark.read.load(landing_path, format="json", schema=dataSchema)

相关问题