如何在德鲁伊中编写嵌套查询?

How to write nested query in druid?

我是德鲁伊新手。到目前为止,我使用过 mysql 个数据库。我想知道,如何将下面的嵌套 mysql 查询写成德鲁伊查询?

Select distinct(a.userId) as userIds
from transaction as a 
where 
 a.transaction_type = 1 
 and a.userId IN (
   select distinct(b.userId) where transaction as b where a.transaction_type = 2
 )

非常感谢你的帮助。

作为德鲁伊的新手,您可能有兴趣了解几件事。

Druid 现在支持 SQL,它不像 SQL 那样支持所有花哨和复杂的功能,但它确实支持许多标准的 SQL 东西。也提供了在druid JSON.

中写SQL查询的方法

以下是有关示例的更多详细信息: http://druid.io/docs/latest/querying/sql

您的查询很简单,因此您可以使用德鲁伊 sql 功能,如下所示:

{
  "query" : "<your_sql_query>",
  "resultFormat" : "object"
}

如果你想为上面的查询构建一个 JSON 查询并且不想写整个大 JSON 那么试试这个很酷的技巧:

运行 sql 使用 -q 查询代理节点,它将为您打印 JSON 查询,您可以使用它,然后根据需要修改它,这里是语法:

 curl -X POST '<queryable_host>:<port>/druid/v2/?pretty' -H 'Content-Type:application/json' -H 'Accept:application/json' -q <druid_sql_query>

除此之外,您还可以使用 DruidDry 库,该库支持在 Java 中编写花式德鲁伊查询。