python - 如何在 Pyspark 中按列连接/附加多个 Spark 数据帧?

标签 python apache-spark pyspark apache-spark-sql pyspark-sql

如何使用 Pyspark 数据框做相当于 pd.concat([df1,df2],axis='columns') 的 Pandas?
我用谷歌搜索并找不到一个好的解决方案。

DF1
var1        
     3      
     4      
     5      

DF2
var2    var3     
  23      31
  44      45
  52      53

Expected output dataframe
var1        var2    var3
     3        23      31
     4        44      45
     5        52      53

编辑以包括预期的输出

最佳答案

等效于使用 pyspark 接受的答案将是

from pyspark.sql.types import StructType

spark = SparkSession.builder().master("local").getOrCreate()
df1 = spark.sparkContext.parallelize([(1, "a"),(2, "b"),(3, "c")]).toDF(["id", "name"])
df2 = spark.sparkContext.parallelize([(7, "x"),(8, "y"),(9, "z")]).toDF(["age", "address"])

schema = StructType(df1.schema.fields + df2.schema.fields)
df1df2 = df1.rdd.zip(df2.rdd).map(lambda x: x[0]+x[1])
spark.createDataFrame(df1df2, schema).show()

关于python - 如何在 Pyspark 中按列连接/附加多个 Spark 数据帧?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44320699/

相关文章:

python - 在其他 Linux 计算机上运行已编译的 Linux 可执行文件

python - 如何为可以发送和接收消息的mqtt客户端实现多线程

python - 使用 csv.reader 的制表符分隔文件未在我期望的位置分隔

java - 如何在 Java 中使用 Seq<String> 从数据集中选择列?

python - 将 RDD 转换为可迭代的 : PySpark?

python - PySpark jdbc谓词错误: Py4JError: An error occurred while calling o108. jdbc

apache-spark - 如何在pyspark中使用foreach sink?

python - 使用 .map() 在 pandas DataFrame 中高效地创建额外的列

scala - 如何使用 "scopt"命令行参数解析具有字段的案例类作为另一个案例类?

python - AWS Glue 和更新复制数据