无法构造 `org.apache.drill.exec.server.rest.QueryWrapper` 的实例
Cannot construct instance of `org.apache.drill.exec.server.rest.QueryWrapper`
我是 运行 Apache Drill,在嵌入式模式下开箱即用。
当我向 localhost:8047/query.json
发送 POST 请求时,它产生 400 错误:
Cannot construct instance of `org.apache.drill.exec.server.rest.QueryWrapper`, problem: null
at [Source: (org.glassfish.jersey.message.internal.EntityInputStream); line: 4, column: 1]
要求:
{
"QueryType": "SQL",
"Query": "SELECT count(*) as `cnt` FROM dfs.`/data/demo/Parquet/*.parquet`"
}
Content-Type: application/json
当运行处于分布式模式时,它也会发生。
运行 通过网页界面查询好像没问题...
根据 google,我是唯一出现此错误的人。
有什么想法吗?
请求中存在一个愚蠢的错误。
请求中的字段必须是 camelCase,不是 QueryType,而是 queryType。由于错误的序列化程序设置,之前的请求中存在大写的“Q”。
我一个小时没注意到这个细节。
这个有效:
{
"queryType": "SQL",
"query": "SELECT count(*) as `cnt` FROM dfs.`/data/demo/Parquet/*.parquet`"
}
如果 API 返回像 "queryType is missing" 这样的正常错误而不是神秘的 Cannot construct instance of org.apache.drill.exec.server.rest.QueryWrapper
.
就好了
希望这会为某人节省一个小时的生命。
我是 运行 Apache Drill,在嵌入式模式下开箱即用。
当我向 localhost:8047/query.json
发送 POST 请求时,它产生 400 错误:
Cannot construct instance of `org.apache.drill.exec.server.rest.QueryWrapper`, problem: null
at [Source: (org.glassfish.jersey.message.internal.EntityInputStream); line: 4, column: 1]
要求:
{
"QueryType": "SQL",
"Query": "SELECT count(*) as `cnt` FROM dfs.`/data/demo/Parquet/*.parquet`"
}
Content-Type: application/json
当运行处于分布式模式时,它也会发生。 运行 通过网页界面查询好像没问题...
根据 google,我是唯一出现此错误的人。 有什么想法吗?
请求中存在一个愚蠢的错误。 请求中的字段必须是 camelCase,不是 QueryType,而是 queryType。由于错误的序列化程序设置,之前的请求中存在大写的“Q”。
我一个小时没注意到这个细节。
这个有效:
{
"queryType": "SQL",
"query": "SELECT count(*) as `cnt` FROM dfs.`/data/demo/Parquet/*.parquet`"
}
如果 API 返回像 "queryType is missing" 这样的正常错误而不是神秘的 Cannot construct instance of org.apache.drill.exec.server.rest.QueryWrapper
.
希望这会为某人节省一个小时的生命。