scala - 如何在Spark SQL中使用连字符对列名进行转义

标签 scala apache-spark apache-spark-sql

我已经在Spark中导入了一个json文件并将其转换为表

myDF.registerTempTable("myDF")

然后,我想在此结果表上运行SQL查询
val newTable = sqlContext.sql("select column-1 from myDF")

但是,由于列column-1的名称中存在连字符,这给了我一个错误。如何解决这是Spark SQL?

最佳答案

反引号(`)似乎有效,因此

val newTable = sqlContext.sql("select `column-1` from myDF")

至少在Spark v1.3.x中应该做到这一点。

关于scala - 如何在Spark SQL中使用连字符对列名进行转义,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30889630/

相关文章:

scala - 计算时间差

apache-spark - 用 pyspark 用以前已知的好值填充 null

scala - Spark SQL 窗口函数前瞻和复函数

scala - Spark 出现奇怪的 "Task not serializable"

scala - 从 Spark 中的 Cassandra 中减去第一行和最后一行的值

apache-spark - 通过 Spark 加载的表在 Hive 中无法访问

scala - 如何从字符串在 Spark 中创建 TimestampType 列

json - 如何有效地加载和处理包含不同的、不断发展的模式的 JSON 文件

apache-spark - 使用 scala 从 Spark 中的数组数组中的结构中提取值

scala - 如何在scala中读取不断更新的日志文件