如何在Databricks Spark中查询名为like的SQL关键字列?
Databricks Spark中处理SQL关键字作为列名的解决方案
在Databricks Spark SQL里,like属于SQL保留关键字,直接用它当列名会触发语法错误,而且Spark不支持用双引号转义这类关键字,正确的处理方式是用**反引号()**包裹该列名。另外你的原查询还有个语法疏漏:CASE语句缺少END`关键字,这也会导致报错,必须补上。
修正后的完整SQL如下:
SELECT uid_1, uid_2, CASE WHEN `like` IS TRUE THEN 1 ELSE 0 END AS liked FROM relevant_table
补充说明:
- 反引号是Spark SQL中转义保留关键字、带特殊字符列名的标准方式,无需修改集群配置就能直接使用
- 除了
like,其他如select、from这类关键字当列名时,都可以用同样的方式处理
内容的提问来源于stack exchange,提问作者user16863796
相关产品推荐
相关产品推荐

