apache-spark - 不明确的 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")
对我来说有点不一致,不是我会做的事情,但我确实注意到了这一点,更多的是出于好奇。似乎是疏忽?
解决方案
唯一的方法是重命名数据框的列。
推荐阅读
- python - 如何调试使用 Kivy 制作的安卓应用程序在导入熊猫时崩溃?
- rest - REST API 心跳标准
- java - Android 生命周期 - 旋转屏幕是否不再破坏 Activity?
- python - 如何使用 Dash、pandas、mysql 和 python 填充下拉列表
- java - 如何在添加另一个数字之前检查列表中的重复项?
- javascript - 如何在 Lodash 的 isEqualWith 中将缺失和未定义的属性视为等效
- reactjs - GraphQL 返回数据但在代码中未定义
- amazon-web-services - 如何从 jenkins 在 AWS EC2 上安排 jenkins 作业
- idris - 对同一表达式中的不同 Nat 变量调用 (-) 两次需要显式证明注释
- django - 自定义重定向到 /admin/app/model/?q='search_criteria'