1

嗨,我知道这是一个基本问题,但我是 Foundry 和 Pyspark 的新手,请帮忙!我需要使用 3 列在 Palantir Foundry 的代码工作簿中加入两个数据集(两个在两者中的名称相同,但一个在数据集中使用不同的名称)我不知道该怎么做。谢谢您的帮助!

4

2 回答 2

1

根据pyspark 文档,您可以将列列表用于“on”参数(连接键)。如果您要连接两个数据集(df1 和 df2),其中 df1 有连接键 ["a"、"b"、"c"],而 df2 有连接键 ["a"、"b"、"c2"],我会做这样的事情:

df1.join(df2.withColumnRenamed("c2", "c"), on=["a", "b", "c"], how="left")
于 2021-10-14T20:13:12.640 回答
0

根据@kate 提供的 PySpark 文档,您只需要指定

  1. 表示列的字符串,必须存在于两个表中
  2. 代表多列的字符串列表,这两个表都必须存在
  3. 一个列表达式,它允许您对连接条件执行一些更复杂的逻辑。例如,您可能希望date在表 A 中的列位于表 B 之间date_before和之间的条件下加入date_after表。这看起来像df_a.join(df_b, on=((df_a.date < df_b.date_after) & (df_a.data > df_b.date_before)))这样,因此您在如何加入数据集方面有很大的灵活性
于 2021-10-25T13:12:06.963 回答