Spark中的拆分,操作和联合数据框

Posted

技术标签:

【中文标题】Spark中的拆分,操作和联合数据框【英文标题】:split,operate and union dataframe in spark 【发布时间】:2017-05-03 05:17:11 【问题描述】:

我们如何拆分数据帧并对单独的拆分和合并所有单独的数据帧结果进行操作?

假设我有下面列的数据框。我需要根据通道拆分数据帧并在单独的拆分上进行操作,这会添加称为存储桶的新列。然后我需要联合返回结果。

帐户、频道、观看次数

groupBy 只允许简单的聚合操作。在每个拆分的数据帧上,我需要进行特征提取。

目前 spark-mllib 的所有 Feature Transformer 都只支持单个数据帧。

【问题讨论】:

你能显示你的代码吗?当然,您可以从另一个列的选择中创建一个单独的数据框 你想要的结果 【参考方案1】:

你可以这样随机拆分

val Array(training_data, validat_data, test_data) = raw_data_rating_before_spilt.randomSplit(Array(0.6,0.2,0.2))

这将创建 3 个 df 然后 d 你想做什么然后你可以加入或联合

val finalDF = df1.join(df2, df1.col("col_name")===df2.col("col_name"))

你也可以同时加入多个df。 这是你想要的还是别的什么。??

【讨论】:

感谢您的回复。一旦我拆分数据帧,我如何以并行方式对每个拆分的数据帧运行操作。我有一个函数可以为每个拆分的数据框添加新列。我不想在 arry 上循环并执行它。

以上是关于Spark中的拆分,操作和联合数据框的主要内容,如果未能解决你的问题,请参考以下文章

SPARK 数据框错误:在使用 UDF 拆分列中的字符串时无法转换为 scala.Function2

按行索引拆分 Spark 数据帧

使用 spark python 拆分数据帧

如何在 Spark Scala 数据框中拆分逗号分隔的字符串并获取 n 个值?

将数据框中的结构类型列拆分为多列

使用行分隔符拆分 Spark 数据帧