pyspark Azure Databricks创建不必要的文件夹

izj3ouym  于 12个月前  发布在  Spark
关注(0)|答案(1)|浏览(125)

Azure Databricks在写入和合并时创建随机文件夹。
我在databricks中运行以下查询:

df.write.format('delta').mode('overwrite').save("abfss://[email protected]/some_path/events")

字符串
当我检查Azure存储UI时,我看到一些文件夹:x1c 0d1x
这些文件夹xJ是什么?为什么要创建它?
查询的说明:
engineInfo:databricks-cn/13.2.x-scala2.12
isolationLevel:WriteSerializable


hgqdbh6s

hgqdbh6s1#

  • 特定的文件夹名称'**xJ'**可能是Delta Lake内部使用的随机生成的标识符。它是Delta Lake用于有效可靠地管理数据的结构的一部分。
  • 这些内部文件夹不允许用户直接访问或修改,它们对Delta Lake的运行至关重要,并由Delta Lake系统自动管理。

我已经尝试了本地和全局spark会话,并执行了对ADLS的写入和合并操作:

下面是全球星火会议:

from pyspark.sql import SparkSession
spark = SparkSession.builder \
    .appName("example") \
    .config("spark.some.config.option", "some-value") \
    .getOrCreate()
data = [('Alice', 34), ('Bob', 55), ('Charlie', 45)]
columns = ['name', 'age']
df = spark.createDataFrame(data, columns)
df.write.format('delta').mode('overwrite').save("abfss://[email protected]/1_path/events")
new_data = [('Dave', 28), ('Eva', 38)]
new_df = spark.createDataFrame(new_data, columns)
new_df.write.format('delta').mode('append').save("abfss://folde[email protected]/1_path/events")

字符串


的数据
通过遵循此全局spark会话方法,可以确保操作一致,并避免在使用Delta Lake的Azure Databricks中执行写入和合并操作期间出现任何意外的文件夹创建或命名问题。

相关问题