gpt4 book ai didi

hadoop - DataFrame Write PartitionBy-无法参数化多个列

转载 作者:行者123 更新时间:2023-12-02 20:45:53 27 4
gpt4 key购买 nike

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

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

pyspark.sql.utils.AnalysisException: u'partition column "product_category_id", "product_id" is not defined in table bbiuserdb.temptable_products_stg, defined table columns are: product_id, product_name, product_description, product_price, product_image, product_category_id;'



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

有人遇到过类似情况吗?

最佳答案

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

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

考虑了完整列表的python方式

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

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com