Hbase REST调用-获取垃圾字符“\x0A";

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

我正在尝试使用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==", "$": "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==
这两者之间有区别。。这就是造成我问题的原因