水平堆栈Spark数据帧 - 相当于pandas concat或r cbind

时间:2018-04-10 21:19:16

标签: apache-spark dataframe

有没有办法将dataframe水平追加到另一个 - 假设两者的行数相同?

这相当于pandas的{​​{1}} concat;

axis=1

result = pd.concat([df1, df4], axis=1) R

1 个答案:

答案 0 :(得分:3)

不会是一个人。与Pandas DataFrame不同,Spark DataFrame更像是一种关系,并且没有固有的顺序。

有一种已知模式,您可以使用索引字段将数据转换为RDDzipWithIndexPySpark DataFrames - way to enumerate without converting to Pandas?)然后join,但它最终是反模式*。

*如果我们没有明确保证特定的订单(以及谁知道在所有新的铃声和口哨之下发生的事情,如基于成本的优化器和自定义优化器规则)那么它很容易变得脆弱并且在某些情况下无声地失败意想不到的方式。