创建一个接受TableName和Partition列作为输入的通用代码。但是在尝试将数据帧写入分区表时面临问题。

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



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

有人遇到过类似情况吗?

最佳答案

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

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

考虑了完整列表的python方式

关于hadoop - DataFrame Write PartitionBy-无法参数化多个列,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/48076710/

10-09 08:51