Apache spark 粘合如何使用pyspark删除数据帧上的记录
我怀疑在pyspark中如何删除从另一个数据帧获取数据的数据帧中的记录 如下。 Pypark:Apache spark 粘合如何使用pyspark删除数据帧上的记录,apache-spark,pyspark,apache-spark-sql,aws-glue,Apache Spark,Pyspark,Apache Spark Sql,Aws Glue,我怀疑在pyspark中如何删除从另一个数据帧获取数据的数据帧中的记录 如下。 Pypark: 我想你想要凝聚: import pyspark.sql.functions as F result = df1.join( df2.withColumnRenamed('dt_change', 'dt_change2'), df1.columns[:2] + df1.columns[3:], 'full' ).withColumn( 'dt_change',
我想你想要凝聚:
import pyspark.sql.functions as F
result = df1.join(
df2.withColumnRenamed('dt_change', 'dt_change2'),
df1.columns[:2] + df1.columns[3:],
'full'
).withColumn(
'dt_change',
F.coalesce('dt_change', 'dt_change2')
).select(df1.columns).orderBy('id')
result.show()
+---+----------+----------+----+-------+---+-------+
| id| dt_create| dt_change|bank|account|doc| name|
+---+----------+----------+----+-------+---+-------+
| 1|2020-12-01|2020-12-21| 001| 001|001|Michael|
| 2|2020-12-02| null| 001| 002|002| Ismael|
| 3|2020-12-02| null| 002| 002|003| Ben|
| 9|2020-12-21| null| 002| 002|003| Mary|
+---+----------+----------+----+-------+---+-------+
我想你想要凝聚:
import pyspark.sql.functions as F
result = df1.join(
df2.withColumnRenamed('dt_change', 'dt_change2'),
df1.columns[:2] + df1.columns[3:],
'full'
).withColumn(
'dt_change',
F.coalesce('dt_change', 'dt_change2')
).select(df1.columns).orderBy('id')
result.show()
+---+----------+----------+----+-------+---+-------+
| id| dt_create| dt_change|bank|account|doc| name|
+---+----------+----------+----+-------+---+-------+
| 1|2020-12-01|2020-12-21| 001| 001|001|Michael|
| 2|2020-12-02| null| 001| 002|002| Ismael|
| 3|2020-12-02| null| 002| 002|003| Ben|
| 9|2020-12-21| null| 002| 002|003| Mary|
+---+----------+----------+----+-------+---+-------+
@保罗,我看不到你的留言。请编辑问题以将错误消息放在那里。在实现后,我收到了以下消息:UnboundLocalError:在赋值之前引用了局部变量“df2”,之后是:import pyspark.sql.functions as F result=df1.join(df2.WithColumnRename('dt_change','dt_change2'),df1.columns[:2]+df1.columns[3:],'full')。withColumn('dt_change',F.coalesce('dt_change','dt_change2')。select(df1.columns)。orderBy('id'))@Paulo,这意味着未定义
df2
。请检查您的代码,确保它在我的代码之前已定义。mck先生,我创建了另一个主题,标题为Pyspark error:UnboundLocalError:local variable referenced before assignment如果您能帮助我,我将不胜感激it@Paulo我没有看到任何新问题。你能提供一个链接到您的新问题?@Paulo我看不到您的消息。请编辑该问题以将错误消息放在那里。在实现后,我收到以下消息:UnboundLocalError:在赋值之前引用的局部变量“df2”:导入pyspark.sql.functions asF result=df1.join(df2.withColumnRename('dt_change','dt_change2')、df1.columns[:2]+df1.columns[3:]、'full')。with column('dt_change',F.coalesce('dt_change','dt_change2'))。select(df1.columns)。orderBy('id'))@Paulo,这意味着未定义df2
。请检查您的代码,确保它在我的代码之前已定义。mck先生,我创建了另一个主题,标题为Pyspark error:UnboundLocalError:local variable referenced before assignment如果您能帮助我,我将不胜感激it@Paulo我没有看到任何新问题。你能提供一个链接到你的新问题?
import pyspark.sql.functions as F
result = df1.join(
df2.withColumnRenamed('dt_change', 'dt_change2'),
df1.columns[:2] + df1.columns[3:],
'full'
).withColumn(
'dt_change',
F.coalesce('dt_change', 'dt_change2')
).select(df1.columns).orderBy('id')
result.show()
+---+----------+----------+----+-------+---+-------+
| id| dt_create| dt_change|bank|account|doc| name|
+---+----------+----------+----+-------+---+-------+
| 1|2020-12-01|2020-12-21| 001| 001|001|Michael|
| 2|2020-12-02| null| 001| 002|002| Ismael|
| 3|2020-12-02| null| 002| 002|003| Ben|
| 9|2020-12-21| null| 002| 002|003| Mary|
+---+----------+----------+----+-------+---+-------+