在数组内的 Spark SQL 中进行查询



为了给出回合,我使用

sqlContext.read.json(sn3://...)
df.registerTable("posts")

我在 Spark 中的表有以下架构

scala> posts.printSchema
root
 |-- command: string (nullable = true)
 |-- externalId: string (nullable = true)
 |-- sourceMap: struct (nullable = true)
 |    |-- hashtags: array (nullable = true)
 |    |    |-- element: string (containsNull = true)
 |    |-- url: string (nullable = true)
 |-- type: string (nullable = true)

我想选择所有带有"nike"标签的帖子

sqlContext.sql("select sourceMap['hashtags'] as ht from posts where ht.contains('nike')");

我收到错误未定义的函数 ht.包含

我不确定使用什么方法在数组中搜索。

谢谢!

我找到了参考Hive SQL的答案。

sqlContext.sql("select sourceMap['hashtags'] from posts where array_contains(sourceMap['hashtags'], 'nike')");

关键函数是 array_contains()

相关内容

  • 没有找到相关文章

最新更新