pyspark Databricks/Spark从Parquet文件读取自定义元数据

snz8szmq  于 2023-01-12  发布在  Spark
关注(0)|答案(1)|浏览(172)

我创建了一个Parquet文件,在文件级自定义元数据:

现在我尝试从(Azure)数据块中的Parquet文件读取元数据,但是当我运行下面的代码时,我没有得到任何元数据。

storageaccount = 'zzzzzz'
containername = 'yyyyy'
access_key = 'xxxx'
spark.conf.set(f'fs.azure.account.key.{storageaccount}.blob.core.windows.net', access_key)

path = f"wasbs://{containername}@{storageaccount}.blob.core.windows.net/generated_example_10m.parquet"
data = spark.read.format('parquet').load(path)
print(data.printSchema())
ddrv8njm

ddrv8njm1#

我尝试在我的环境中重现同样的东西。我得到了这个输出。

请遵循以下代码并使用select(“*",“_metadata”)

path = "wasbs://<container>@<storage_account_name>.blob.core.windows.net/<file_path>.parquet"
data = spark.read.format('parquet').load(path).select("*", "_metadata")
display(data)

使用.select("*", "_metadata")说明您的模式和加载路径

df = spark.read \
  .format("parquet") \
  .schema(schema) \
  .load(path) \
  .select("*", "_metadata")

display(df)

相关问题