我正在尝试在集群范围内的德鲁伊上设置查找。
如文档中所述- 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/