所以我有一个包含一列地图类型的表(键和值都是字符串)。
我想写这样的spark sql来检查地图中是否存在给定的密钥。
select count(*) from my_table where map_contains_key(map_column, "testKey")
我找不到任何可以执行此操作的现有spark sql函数。
有任何想法吗?
谢谢
可以使用这种结构:
df.where($"map_column"("testKey").isNotNull)
对于纯sql:
spark.sql("select * from my_table where mapColumn[\"testKey\"] is not null")
弄清楚了。以下sql查询工作
select count(*) from my_table where map_column["testKey"] is not null