运维开发网

scala – 无法解析Spark Dataframe中的列(数字列名称)

运维开发网 https://www.qedev.com 2020-07-29 08:07 出处:网络 作者:运维开发网整理
这是我的数据: scala> data.printSchema root |-- 1.0: string (nullable = true) |-- 2.0: string (nullable = true) |-- 3.0: string (nullable = true) 这不起作用:( scala> data.select("2.0").show 例外: org.apache.spar
这是我的数据:

scala> data.printSchema
root
 |-- 1.0: string (nullable = true)
 |-- 2.0: string (nullable = true)
 |-- 3.0: string (nullable = true)

这不起作用:(

scala> data.select("2.0").show

例外:

org.apache.spark.sql.AnalysisException: cannot resolve '`2.0`' given input columns: [1.0, 2.0, 3.0];;
'Project ['2.0]
+- Project [_1#5608 AS 1.0#5615, _2#5609 AS 2.0#5616, _3#5610 AS 3.0#5617]
   +- LocalRelation [_1#5608, _2#5609, _3#5610]
        ...

在家尝试这个(我在shell v_2.1.0.5上运行)!

val data = spark.createDataFrame(Seq(
  ("Hello", ", ", "World!")
)).toDF("1.0", "2.0", "3.0")
data.select("2.0").show
您可以使用 backticks来转义点,这是为访问结构类型的列而保留的:

data.select("`2.0`").show
+---+
|2.0|
+---+
| , |
+---+
0

精彩评论

暂无评论...
验证码 换一张
取 消