【发布时间】:2018-08-08 11:38:06
【问题描述】:
有两个 json,第一个 json 有更多的列,并且总是超集。
val df1 = spark.read.json(sqoopJson)
val df2 = spark.read.json(kafkaJson)
操作除外:
我喜欢在 df1 和 df2 上应用除操作,但 df1 有 10 列,而 df2 只有 8 列。 如果我手动从 df1 中删除 2 列,那么 except 将起作用。但是我有 50 多个表/json 并且需要对所有 50 组表/json 执行除外。
问题:
如何从 DF1 中仅选择 DF2 ( 8) 列中可用的列并创建新的 df3?因此 df3 将具有来自 df1 的有限列数据,并且它将与 df2 列匹配。
【问题讨论】:
标签: scala apache-spark dataframe hadoop apache-spark-sql