假设我有两个数据帧,具有不同级别的信息,如下所示:
df1
Month Day Values
Jan Monday 65
Feb Monday 66
Mar Tuesday 68
Jun Monday 58
df2
Month Day Hour
Jan Monday 5
Jan Monday 5
Jan Monday 8
Feb Monday 9
Feb Monday 9
Feb Monday 9
Mar Tuesday 10
Mar Tuesday 1
Jun Tuesday 2
Jun Monday 7
Jun Monday 8
我想加入df1和df2,并将“值”信息传递给df2:一天中的每一小时都将获得“日”值。
预期产出:
final
Month Day Hour Value
Jan Monday 5 65
Jan Monday 5 65
Jan Monday 8 65
Feb Monday 9 66
Feb Monday 9 66
Feb Monday 9 66
Mar Tuesday 10 68
Mar Tuesday 1 68
Jun Monday 7 58
Jun Monday 8 58
这应该是一个简单的连接:
df2 = df2.join(df1, on=['Month', 'Day'], how='inner')
连接将计算所有可能的组合。例如,
df1:
Jan Monday 65
df2:
Month Day Hour
Jan Monday 5
Jan Monday 5
因为所有条目在Jan
和Monday
匹配,所以所有可能的组合都将成为输出的一部分:
Month Day Hour Value
Jan Monday 5 65
Jan Monday 5 65
注意:是将< code>df1连接到< code>df2上还是反之亦然,以及是使用< code >内还是< code >左连接取决于您希望如何处理不匹配。
我有两个包含GB数据的大型pyspark数据框df1和df2。第一个数据框中的列是id1,col1。第二个数据框中的列是id2,col2。数据框的行数相等。id1和id2的所有值都是唯一的。id1的所有值也正好对应一个值id2。 因为。前几个条目与df1和df2区域相同,如下所示 DF1: df2: 所以我需要连接键 id1 和 id2 上的两个数据帧。df = df1.join(df2, df1
我有两个火花数据帧。我想基于第二个更新第一个。 数据流1 df2 我想更新第一个数据帧(df1),如下所示 我不知道如何加入嵌套结构中的数据
有很多关于这个问题的帖子,但没有一个回答我的问题。 在尝试将许多不同的数据帧连接在一起时,我在PySpark中遇到了<code>OutOfMemoryError 我的本地机器有16GB内存,我已将Spark配置设置为: 关于Spark中OOM错误的SO帖子显然很多很多,但基本上大多数都是说增加你的内存属性。 我实际上是对50-60个较小的数据帧执行连接,这些数据帧有两列< code>uid和< c
我在pyspark有两个数据框。如下所示,df1保存来自传感器的整个long_lat。第二个数据帧df2是第一个数据帧的子集,其中lat-long值被向上舍入到2位小数,然后删除重复项以保留唯一的lat_long数据点。 DF1: df2: 因此,df2 的行数比第一个少得多。在 df2 中,我应用了一个 udf 来计算状态名称。 现在我想在 df1 中填充状态名称。由于 df2 的 lat_lo
问题内容: 我正在尝试从Amazon s3读取JSON文件以创建spark上下文并使用它来处理数据。 Spark基本上位于docker容器中。因此,将文件放在docker路径中也是PITA。因此将其推送到S3。 以下代码说明了其余内容。 我收到以下错误- 我已经清楚地提供了aswSecretAccessKey和awsAccessId。怎么了 问题答案: 我已经解决了添加到spark-submit命
我正在尝试从Amazon s3读取一个JSON文件,以创建一个火花上下文并使用它来处理数据。 Spark基本上在docker容器中。所以将文件放入docker路径也是PITA。因此将其推送到S3。 下面的代码解释了其余的内容。 我得到以下错误- 我已经清楚地提供了aswSecret AccessKey和awsAccessId。出了什么问题?