no1*_*3ff 4 elasticsearch apache-spark apache-spark-sql
我正在尝试在ElasticSearch中查询数组
data: "names":[{"name":"allen"},{"name":"bill"},{"name":"dave"},{"name":"poter"}]
goal: "select names from table where array_contains(names.name, "bill")"
Run Code Online (Sandbox Code Playgroud)
但如果SQL语句使用array_contains函数,spark不会执行谓词下推.
hint: names.name = ["allen","bill","dave","poter"]
我试过了
select * from table where array_contains(names.name,"bill")
-- and
select explode(names.name) as name from table as t1;select * from t1 where name = "bill"
-- and
select * from table where cast(names.name as string) like '%bill%'
Run Code Online (Sandbox Code Playgroud)
所有未能做下推,其他任何方式做到这一点?
| 归档时间: |
|
| 查看次数: |
414 次 |
| 最近记录: |