【问题标题】:DataFrame Write PartitionBy - couldnt parameterize multiple columnsDataFrame Write PartitionBy - 无法参数化多个列
【发布时间】:2018-01-03 11:42:56
【问题描述】:

创建一个接受 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, 定义的表列有:product_id, product_name, product_description, product_price, product_image, product_category_id;'

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

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

【问题讨论】:

    标签: hadoop pyspark spark-dataframe mapr


    【解决方案1】:

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

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

    考虑了完整列表的python方式

    【讨论】:

      猜你喜欢
      • 2016-11-14
      • 2016-04-19
      • 1970-01-01
      • 2018-06-29
      • 2023-04-07
      • 1970-01-01
      • 1970-01-01
      • 2022-06-20
      • 1970-01-01
      相关资源
      最近更新 更多