数据帧写入分区依据 - 无法参数化多个列



创建一个接受表名和分区列作为输入的泛型代码。但是,尝试将数据帧写入分区表时面临问题。

partAttr='product_category_id,product_id' 
pattr=partAttr.split(",")
df.write.partitionBy('"'+'","'.join(pattr)+'"').saveAsTable(dataBase+".temptable_"+deltaTable)

pyspark.sql.utils.AnalysisException: u'partition 列 "product_category_id"、"product_id" 未在表 bbiuserdb 中定义。temptable_products_stg,定义的表列为:product_id、product_name、product_description、product_price、product_image、product_category_id;

但是,如果我在 pattr 变量中有单个属性,上面的代码有效。

有没有人遇到过类似的情况?

设法确定了不同的路线,但我不确定上述失败的原因 -

df.write.partitionBy(pattr[0:]).saveAsTable(dataBase+".temptable_"+deltaTable)

考虑了完整列表的python方式

相关内容

  • 没有找到相关文章

最新更新