Hbase REST调用-获取垃圾字符“\x0A";
我正在尝试使用Hbase REST API调用将值插入到Hbase表中。。下面是我正在使用的curl命令Hbase REST调用-获取垃圾字符“\x0A";,rest,hadoop,curl,hbase,Rest,Hadoop,Curl,Hbase,我正在尝试使用Hbase REST API调用将值插入到Hbase表中。。下面是我正在使用的curl命令 curl -v -XPUT 'http://localhost:8080/emp/1/pers:name' -H "Accept: application/json" -H "Content-Type: application/json" --data '{ "Row": [ { "Cell": [ { "column": "cGVyczpuYW1lCg==", "$": "TXlOYW1l
curl -v -XPUT 'http://localhost:8080/emp/1/pers:name' -H "Accept: application/json" -H "Content-Type: application/json" --data '{ "Row": [ { "Cell": [ { "column": "cGVyczpuYW1lCg==", "$": "TXlOYW1lCg==" } ], "key": "MQo=" } ] }'
这个调用工作正常,我得到了一个“HTTP/1.1200 OK”。。但是当我看到Hbase表时,调用并没有更新行“1”中的值,而是创建了一个新行“1\x0A”,并插入具有相同垃圾字符的新值
1\x0A column=pers:name\x0A, timestamp=1437596697507, value=MyName\x0A
有人见过这样的东西吗?提前谢谢 好的,我把这个整理好了。。
\x0A是转义的十六进制换行符。等效于\n。。
base64编码时,会考虑转义字符。。因此,当我们对rowkey、column和value进行base64编码时,需要传递“-n”
例如:
echo -n MyName | base64
TXlOYW1l
echo MyName | base64
TXlOYW1lCg==
这两者之间有区别。。这就是造成我问题的原因