我有两个具有相同行数的DataFrame,但列数根据来源不同而且是动态的.
第一个DataFrame包含所有列,但第二个DataFrame被过滤和处理,其中没有所有其他列.
需要从第一个DataFrame中选择特定列,并添加/合并第二个DataFrame.
val sourceDf = spark.read.load(parquetFilePath)
val resultDf = spark.read.load(resultFilePath)
val columnName :String="Col1"
Run Code Online (Sandbox Code Playgroud)
我尝试以几种方式添加,在这里我只是给了一个......
val modifiedResult = resultDf.withColumn(columnName, sourceDf.col(columnName))
val modifiedResult = resultDf.withColumn(columnName, sourceDf(columnName))
val modifiedResult = resultDf.withColumn(columnName, labelColumnUdf(sourceDf.col(columnName)))
Run Code Online (Sandbox Code Playgroud)
这些都不起作用.
你可以帮我解决这个问题,将第一个DataFrame的第二个DataFrame合并/添加到第一个DataFrame.
给出的示例不是我需要的确切数据结构,但它将满足我解决此问题的要求.
输入输出样本:
Source DataFrame:
+---+------+---+
|InputGas|
+---+------+---+
|1000|
|2000|
|3000|
|4000|
+---+------+---+
Result DataFrame:
+---+------+---+
| Time|CalcGas|Speed|
+---+------+---+
| 0 | 111| 1111|
| 0 | 222| 2222|
| 1 | 333| 3333|
| 2 | 444| 4444|
+---+------+---+
Expected Output:
+---+------+---+
|Time|CalcGas|Speed|InputGas|
+---+------+---+---+
| 0|111 | 1111 …Run Code Online (Sandbox Code Playgroud)