azure 增量表分区文件夹名称正在更改

tp5buhyn  于 2023-08-07  发布在  其他
关注(0)|答案(1)|浏览(101)

我面临的问题是,预期的日期分割文件夹应该以date=yyyymmdd格式命名,而不是以-x1c 0d1x的形式命名
有时对于增量路径中创建的每个Parquet文件,它创建一个单独的文件夹。
我看不出源数据或pyspark代码有任何问题,因为它在其他数据源上运行得很好。此外,相同的数据在单独的增量路径中完美写入。
它不会引起任何问题,因为在增量表中,日期格式被正确捕获并且可以被查询。但如果我在存储帐户中手动更改文件夹名称,那么它会抛出错误。
我期待数据应写入一个特定的文件夹中的每个日期,应命名为日期值-



因为,pyspark代码是从timestamp值创建一个日期列,像这样-2021-10- 27 T11:56:41.380416Z。我试图将该字段转换为timestamp,然后提取日期,但它随后创建的文件夹为date=。现有的代码以前在此数据库中工作,但突然开始以这种方式工作

knpiaxh1

knpiaxh11#

您可以使用partitionBy函数尝试下面的代码。
下面是我的时间表。


的数据
已转换为日期并将-替换为空。

from pyspark.sql.functions import *
w_df = df.withColumn("date",regexp_replace(to_date("timestamp","yyyy-MM-dd'T'HH:mm:ss.SSSSSS'Z'"),"-",""))

字符串



接下来,在写入delta时,您需要在此date列中给予partitionby。



你说你手动更改了文件夹名称,这给了你错误,因为增量日志将记住这些分区,并不匹配时,它是手动更改.

相关问题