Azure Databricks写入Delta存储位置时数据异常问题求助
Azure Databricks写入Delta存储后数据异常问题
问题概述
在Azure Databricks的Python Notebook中处理/databricks-datasets/flights/数据集时,将数据写入Blob存储挂载路径下的Delta位置后,查询得到的数据与预期不符,出现字段错位、数据混乱的情况。
完整操作步骤
1. 挂载Azure Blob存储到Databricks
dbutils.fs.mount( source = "wasbs://flight@storageaccount7830.blob.core.windows.net", mount_point = "/mnt/blobstorage", extra_configs = {'fs.azure.account.key.storageaccount7830.blob.core.windows.net':'accountKey'} )
2. 读取全量航班数据集并写入Delta存储
fulldf = spark.read.format("csv").option("header",True).option("inferSchema",True).load('/databricks-datasets/flights/') fulldf.write.format("delta").mode("overwrite").save("/mnt/blobstorage/Full")
3. 提取前10条数据写入Delta存储
df=fulldf.limit(10) df.write.format("delta").mode("overwrite").save("/mnt/blobstorage/Small")
结果验证
实际查询结果(异常)
执行以下SQL查询Small路径下的Delta数据:
select * from delta.`/mnt/blobstorage/Small`
返回数据字段错位、内容混乱,与原数据集前10条不符。
预期查询结果(正常)
返回数据字段对应准确,内容为原航班数据集的前10条记录。
内容的提问来源于stack exchange,提问作者Baxy
相关产品推荐
相关产品推荐

