首页 > 解决方案 > 如何在 pyspark 中附加 2 个数据帧并将两个标题都保留在第一行和第二行?或者将第二个标头添加到已经有 1 个标头的数据帧中?

问题描述

我正在尝试在 databricks 中编写一个 sparksql 代码(pyspark),它在 CSV 文件中附加 2 个数据帧,但是有一个问题是我需要保留这两个数据帧的两个标头,因为我将在接下来使用这两个标头作为元数据步。你能帮我怎么做吗,前两行应该读作标题。

%python
from pyspark.sql import DataFrameWriter
from pyspark.sql.functions import col

df12= spark.read.csv ("/FileStore/tables/BBrate.csv")
df12.write.csv(path="/opt/Output/test5.csv", mode="append")
df12= df12.select (col("_c0").alias("IntCurrates"), col("_c1").alias(" "), 
col("_c2").alias(" "),col("_c3").alias(" "), col("_c4").alias(" "), 
col("_c5").alias(" "))
df12.createOrReplaceTempView("BBXrate")
sqlDF = spark.sql("SELECT * FROM BBXrate")
sqlDF.show()

老实说,我完全是 Spark 的初学者,坦率地说,我需要的是 2 个数据帧,并将它们都附加到 CSV 文件中,如下所示(第二个表只是作为标题的一行)但我知道下面的代码不正确。还有一点是 mode="append" 不再起作用了。

%python
from pyspark.sql import DataFrameWriter
from pyspark.sql.functions import col

df8= spark.read.csv("/FileStore/tables/BBrate.csv") 
df9= spark.read.csv("/FileStore/tables/ETLy.csv")
df8.coalesce(1). write.format('com.databricks.spark.csv') 
.save("/FileStore/tables/ETLyardi2.csv").mode("append")
df9.coalesce(1). Write.format('com.databricks.spark.csv')
.save("/FileStore/tables/ETLy.csv", mode= 'append')
df9.createOrReplaceTempView("BBXrate")
sqlDF9 = spark.sql("SELECT * FROM BBXrate")
sqlDF9.show()

标签: csvdataframepysparkapache-spark-sqlheader

解决方案


推荐阅读