DataFrame Write PartitionBy - невозможно параметризовать несколько столбцов

Создание общего кода, который принимает столбцы 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 "product_category_id", "product_id" не определен в таблице bbiuserdb,temptable_products_stg, определенные столбцы таблицы: product_id, product_name, product_description, product_price, product_image, product_category_id;'

Однако приведенный выше код работает, если у меня есть один атрибут в переменной pattr.

Кто-нибудь сталкивался с подобной ситуацией?

1 ответ

Удалось определить другой маршрут, но я не уверен в причине вышеупомянутого сбоя -

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

Рассмотрен питонский способ полного списка

Другие вопросы по тегам