Как мы можем сравнить два фрейма данных в spark scala, чтобы найти разницу между этими двумя файлами, какой столбец ?? а стоимость?

Я думаю, вы отключили JTAG и SW в своем коде, когда первичный переназначение gpio. когда я код stm32 с базой libOpenCM3, код вроде этого: gpio_primary_remap(AFIO_MAPR_SWJ_CFG_JTAG_OFF_SW_OFF, AFIO_MAPR_CAN1_REMAP_PORTB); вызовет проблему, похожую на вашу.

-1
задан Brian Tompsett - 汤莱恩 20 January 2019 в 12:09
поделиться

1 ответ

Это возможное решение:

//to create a joined DF with column "col_name" 
//if columns "name" and "uuid" contains different values: 
var output = df1.join(df2, df1.col("id_sk")===df2.col("id_sk"))
                .where(df1.col("name")=!=df2.col("name") || df1.col("uuid")=!=df2.col("uuid"))
                .withColumn("col_name", when(df1.col("name")=!=df2.col("name"), "name")
                                       .otherwise(when(df1.col("uuid")=!=df2.col("uuid"), "uuid")))

//to create the new "col_values" column 
//containing concatenated values:
output = output.withColumn("col_values", when(output.col("col_name")==="name", when(df1.col("name")=!=df2.col("name"), concat_ws(",", df1.col("name"), df2.col("name")) ))
                                        .when(output.col("col_name")==="uuid", when(df1.col("uuid")=!=df2.col("uuid"), concat_ws(",", df1.col("uuid"), df2.col("uuid")) )))

output = output.select(df1.col("id_sk"), output.col("col_name"), output.col("col_values"))
+-----+--------+----------+
|id_sk|col_name|col_values|
+-----+--------+----------+
|    2|    name|    b,b-up|
|    3|    uuid|  30,30-up|
+-----+--------+----------+

Обратите внимание, что я не думаю, что это наилучшее из возможных решений, а просто отправная точка (например, что если в одной строке более одного столбца? ценности?).

0
ответ дан pheeleeppoo 20 January 2019 в 12:09
поделиться
Другие вопросы по тегам:

Похожие вопросы: