首页 > 解决方案 > 不明确的 Spark DataFrame 架构 - 非 JOINed 场景

问题描述

鉴于我们可以在下面的数据框中看到相同的 Col 名称 - 正如我在其他地方指出的那样:

root
  |-- week: string (nullable = true)
  |-- dim1: integer (nullable = false)
  |-- dim2: string (nullable = true)
  |-- t1: integer (nullable = false)
  |-- t2: integer (nullable = false)
  |-- t3: integer (nullable = false)
  |-- t1: integer (nullable = false)
  |-- t2: integer (nullable = false)
  |-- t3: integer (nullable = false)
  |-- t1_diff: integer (nullable = false)
  |-- t2_diff: integer (nullable = false)

然后:

df.select("t1").show(false) 

返回模棱两可的参考,那么我该如何说明我要选择哪一个?

这不是 JOIN 的结果,而是基于带有 .toDF(...) 的 Seq 定义,如下所示:

val df = Seq(
         ("2016-04-02",14, null, 9784, 880, 23, 9789, 820, 45, -5, 60),
         ("2016-04-30",14, "FR", 9785,  13, 34, 9785,   9, 67, 90, 4),
         ("2016-04-16",14, "FR", 9785,  13, 34, 9785,   9, 67, -100, -123)
            ).toDF("week", "dim1", "dim2", "t1", "t2", "t3", "t1", "t2", "t3", "t1_diff", "t2_diff")

对我来说有点不一致,不是我会做的事情,但我确实注意到了这一点,更多的是出于好奇。似乎是疏忽?

标签: apache-spark

解决方案


唯一的方法是重命名数据框的列。


推荐阅读