无法解析Spark Dataframe中的列(数字列名称) [英] Cannot resolve column (numeric column name) in Spark Dataframe

查看:536
本文介绍了无法解析Spark Dataframe中的列(数字列名称)的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

这是我的数据

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上运行)!

Try this at home (I'm running on the 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

推荐答案

您可以使用

You can use backticks to escape the dot, which is reserved for accessing columns for struct type:

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

这篇关于无法解析Spark Dataframe中的列(数字列名称)的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆