我正在尝试使用hbase restapi。我看过这里的文件了(http://wiki.apache.org/hadoop/hbase/stargate),但它们似乎是不完整的(不包括json)和过时的。
我也遇到了这个要点,这正是我要说的。
以下是我试图发送的(插入)请求:
uri: http://server:8070/table/row1/data
标题: Content-Type
:
application/json Accept
: application/json
http动词- POST
以及json负载(其中key、column和$都是base64编码的值):
{
"Row": {
"key": "NjQ=",
"Cell": [{
"column": "NjQ=",
"$": "NjQ="
}]
}
}
下面是我得到的错误:
Error 500 Can not deserialize instance of java.util.List out of START_OBJECT token
at [Source: org.mortbay.jetty.HttpParser$Input@3da0b822; line: 2, column: 5]
(through reference chain: org.apache.hadoop.hbase.rest.model.CellSetModel["Row"])
这个错误似乎表明有些东西应该是数组而不是数组。我试着把方括号放在任何地方,除了稍微改变错误消息的性质之外,我什么也做不了。
我浏览了源代码,这似乎表明我的方括号的位置是正确的。然而,据我所知,整个请求看起来是正确的。不过,我对java不是很流利,所以可能我遗漏了什么。
在hbase rest网关中插入记录的正确json语法是什么?
1条答案
按热度按时间xdyibdwo1#
现在是正确的格式:
哪里:
键-是行键
column-是列名
$—是存储在给定表、列和行中的数据。