如何使用数据块 sql 查询 json 列?

How to query json column using databricks sql?

查询是

SELECT *
FROM companies c
where c.urls ->> 'Website' = '';

这是公司 table。

网址
{'Website': '', 'Twitter': ''}
{'Website': 'www.google.com', 'Twitter: ''}

我正在查询公司 table 的 urls 列中网站为空字符串的行。但是,此查询在 dattabricks sql 中出错:

mismatched input '->' expecting {<EOF>, ';'}(line 3, pos 13)

有谁知道如何查询数据块 sql 中的 json 列?

查看 Databricks 文档中的以下页面:Query semi-structured data in SQL

如果列的内容是 JSON 作为字符串,那么您可以使用此语法:<column-name>:<extraction-path>。例如:

select * from companies c
where c.urls:Website = ''

如果列的内容是一个结构,那么你可以使用这个语法:<column-name>:<nested-field>:

SELECT *
FROM companies c
where c.urls.Website = '';