将新列附加到现有的镶木地板文件

Chu*_*Hsu 6 apache-spark parquet apache-spark-sql

有没有办法将新列附加到现有的镶木地板文件?

我目前正在进行一场讨价还价的竞赛,我已将所有数据转换为镶木地板文件.

在这种情况下,我将镶木地板文件读入pyspark DataFrame,进行了一些特征提取并将新列添加到DataFrame中

pysaprk.DataFrame.withColumn().

之后,我想在源镶木地板文件中保存新列.

我知道Spark SQL带有Parquet模式演变,但该示例仅显示了具有键值的情况.

镶木地板"附加"模式也不起作用.它只将新行附加到镶木地板文件中.如果无论如何都要将新列附加到现有的镶木地板文件而不是再次生成整个表格?或者我必须生成一个单独的新镶木地板文件并在运行时加入它们.

Dan*_*ado 6

在 parquet 中,您不会修改文件,而是读取、修改它们并将它们写回,您不能只更改需要读取和写入完整文件的列。


Chu*_*Hsu 5

虽然这个问题已经贴了2年了,还是没有答案,让我自己来回答我自己的问题。

在我还在用 Spark 的时候,Spark 的版本是 1.4。我不喜欢新版本,但对于那个版本,向镶木地板文件添加新列是不可能的。