加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

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

发布时间:2020-12-16 10:06:01 所属栏目:安全 来源:网络整理
导读:这是我的数据: scala data.printSchemaroot |-- 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: canno
这是我的数据:

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|
+---+
|,|
+---+

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读