postgresql - 第一次在协调器上初始化查找时 Druid Postgresql 语法错误

标签 postgresql druid

我正在尝试在集群范围内的德鲁伊上设置查找。

如文档中所述- http://druid.io/docs/latest/querying/lookups.html , 1. 在我的加载列表中包含了“druid-lookups-cached-global”。 2. 我尝试发布一个空的 json 对象来初始化配置。

我运行的命令:

curl -X 'POST' -d @blank.json http://localhost:8081/druid/coordinator/v1/lookups/config/

{localhost 是我在分布式环境中的协调器节点。我的 blank.json 包含:{}}

这是我在发布空白 json 时遇到的错误:

org.skife.jdbi.v2.exceptions.UnableToExecuteStatementException: org.postgresql.util.PSQLException: ERROR: syntax error at or near "UPDATE" Position: 18 [statement:"BEGIN; LOCK TABLE druid_config IN SHARE ROW EXCLUSIVE MODE; WITH upsert AS (UPDATE druid_config SET payload=:value WHERE name=:key RETURNING *) INSERT INTO druid_config (name, payload) SELECT :key, :value WHERE NOT EXISTS (SELECT * FROM upsert) ;COMMIT;", located:"BEGIN; LOCK TABLE druid_config IN SHARE ROW EXCLUSIVE MODE; WITH upsert AS (UPDATE druid_config SET payload=:value WHERE name=:key RETURNING *) INSERT INTO druid_config (name, payload) SELECT :key, :value WHERE NOT EXISTS (SELECT * FROM upsert) ;COMMIT;", rewritten:"BEGIN; LOCK TABLE druid_config IN SHARE ROW EXCLUSIVE MODE; WITH upsert AS (UPDATE druid_config SET payload=? WHERE name=? RETURNING *) INSERT INTO druid_config (name, payload) SELECT ?, ? WHERE NOT EXISTS (SELECT * FROM upsert) ;COMMIT;", arguments:{ positional:{}, named:{value:[123, 125],key:'lookupsConfig'}, finder:[]}]

有人可以帮忙吗?

最佳答案

失败是因为我使用的是 postgresql 版本。低于 9.1 的 postgresql 版本不支持从德鲁伊触发的 Upsert 语句。

关于postgresql - 第一次在协调器上初始化查找时 Druid Postgresql 语法错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52753651/

相关文章:

druid - 我们可以在 Druid 中更改维度后摄取的数据类型吗

druid - Apache Druid sql 查询转换为基于 json 的查询

ruby-on-rails - 仅将 JSON curl 请求的值保存到 RoR 中的 PG 数据库

database - 如何以正确的方式确定 postgresql 数据库是否为空

python - 将 PostgreSQL 枚举类型转换为 Django 自定义字段

druid - apache 德鲁伊中的总和(不同指标)

ruby-on-rails - 如何仅在扩展不存在时启用它?

python - sqlalchemy.exc.DataError : (psycopg2. DataError) 整数超出范围

druid - Druid 中是否有可能有另一个时间戳作为维度?

hadoop - Druid hadoop批处理主管:无法将类型id 'index.hadoop'解析为SupervisorSpec的子项