我有两个这样的数据帧:
DF1:
id | name
---
1 | abc
2 | xyz
DF2:
id | course
---
1 | c1
1 | c2
1 | c3
2 | c1
2 | c3
当我left_outer或内连接df1和df2时,我希望得到的数据帧如下:
id | name | course
---
1 | abc | c1
---
2 | xyz | c1
---
当我加入时,id 1是c1、c2还是c3并不重要;但我只需要一张唱片。
请让我知道如何才能在火花中实现这一点。
谢谢你,约翰
如何删除基于列id
的所有重复记录,这将为每个唯一的id
保留一条记录,然后将其与df1
连接:
df1.join(df2.dropDuplicates(Seq("id")), Seq("id"), "inner").show
+---+----+------+
| id|name|course|
+---+----+------+
| 1| abc| c1|
| 2| xyz| c1|
+---+----+------+
我正在尝试连接到数据帧。它们看起来像这样 期望的最终目标是: 我一直试图使用pd.merge和。连接函数与on='外'设置不成功
我正在实施一个项目,其中MySql数据被导入到hdfs使用sqoop。它有将近30张桌子。我通过推断模式和注册为临时表来读取每个表作为数据帧。我做这件事有几个问题...1.假设df1到df10的表需要实现几个连接。在MySQL中,查询将是而不是使用是否有其他连接所有数据帧有效地基于条件...
我有两个具有经度和纬度值的数据帧,我想从数据帧#2中提取值(例如数据帧#2的第三列),这些值与数据帧1的列匹配...例如,数据帧1有两列(、),数据帧2有三列(、和一些值)...我想在数据帧1中添加第三列,其中的值对应于两个数据帧中两列完全匹配的值,类似于和...在、不匹配的对中,我希望添加,以便第三列(我要添加到数据。帧1)的长度为=。我尝试了merge函数,但在将的两列与的列进行匹配时遇到了困
我想过滤掉具有“c2”列前3个字符的记录,无论是“MSL”还是“HCP”。 所以输出应该如下所示。 有谁能帮忙吗? 我知道df。过滤器($c2.rlike(“MSL”))--用于选择记录,但如何排除记录? 版本:Spark 1.6.2 Scala:2.10
我有两个数据帧,希望比较它们并返回第一个数据帧(df1)中不在第二个数据帧(df2)中的行。我找到了一种比较它们并返回差异的方法,但无法找出如何只返回df1中缺失的部分。
如何将数据帧中的数据写入到单个。拼花地板文件(两个数据 df.rdd.get1个分区 1个 如果我使用上述命令在HDFS中创建拼花文件,它将在HDFS中创建目录“payloads.parquet”,并在该目录中创建多个文件。拼花地板文件,元数据文件正在保存。 找到4项 如何将数据帧中的数据写入单个文件(两个数据 帮助将不胜感激。