Select 数据块中以“@”开头的列 sql
Select a column starting with '@' in databricks sql
我正在通过 logstash 进入 elasticsearch。
我将数据导入数据块,首先通过 python 扫描,然后将数据转换为数据帧
然后将数据框转换为数据块中的临时视图。然后可以在 sql 建模中使用此视图。此过程无法更改
当我查询时:Select * from tempview
然后我得到所有列:)
现在的挑战是:我的一个字段名为 @timestamp,我可以看到数据块显示该列在那里,但我不能 select专栏本身。在 T-SQL 中,我本来可以使用方括号 [@timestamp] 并继续前进,但它在 hivesql.
中不起作用
我知道@name 语法是为 sql 变量保留的,但是有解决方法吗?
使用反引号`
select `@timestamp`, `@version` from t
Spark shell 示例:
Seq((1, "a", "10")).toDF("id", "@version", "@timestamp").registerTempTable("t")
sql ("select `@timestamp`, `@version` from t").show
+----------+--------+
|@timestamp|@version|
+----------+--------+
| 10| a|
+----------+--------+
我正在通过 logstash 进入 elasticsearch。 我将数据导入数据块,首先通过 python 扫描,然后将数据转换为数据帧 然后将数据框转换为数据块中的临时视图。然后可以在 sql 建模中使用此视图。此过程无法更改
当我查询时:Select * from tempview
然后我得到所有列:)
现在的挑战是:我的一个字段名为 @timestamp,我可以看到数据块显示该列在那里,但我不能 select专栏本身。在 T-SQL 中,我本来可以使用方括号 [@timestamp] 并继续前进,但它在 hivesql.
中不起作用我知道@name 语法是为 sql 变量保留的,但是有解决方法吗?
使用反引号`
select `@timestamp`, `@version` from t
Spark shell 示例:
Seq((1, "a", "10")).toDF("id", "@version", "@timestamp").registerTempTable("t")
sql ("select `@timestamp`, `@version` from t").show
+----------+--------+
|@timestamp|@version|
+----------+--------+
| 10| a|
+----------+--------+