MapR - Rest API list 命令没有给出正确的输出
MapR - Rest API list command is not giving proper output
MapR REST API for MapR DB 看起来工作不正常。我只是尝试将列族的列表命令用作过滤器,但它没有给我正确的输出,但它与 maprcli 完美配合 option.Here 是我所做的操作列表。
用maprcli命令
maprcli table cf list -path /user/hbase/testShashi
readperm appendperm inmemory versionperm cfname writeperm compressionperm memoryperm compression ttl maxversions minversions
u:mapr u:mapr 假 u:mapr f1 u:mapr u:mapr u:mapr 关闭 2147483647 1 0
u:mapr u:mapr 假 u:mapr f2 u:mapr u:mapr u:mapr 关闭 2147483647 1 0
maprcli table cf list -path /user/hbase/testShashi -cfname f1
readperm appendperm inmemory versionperm cfname writeperm compressionperm memoryperm compression ttl maxversions minversions
u:mapr u:mapr 假 u:mapr f1 u:mapr u:mapr u:mapr 关闭 2147483647 1 0
当我将 cfname 作为 f1 传递时使用 maprcli 选项,它只给我一条记录,但它似乎不会发生在 REST API
有 REST API
应用过滤器之前
curl -k -u mapr:mapr https://hostname:8443/rest/table/cf/list?path=/user/hbase/testShashi
将 cfname 作为选项
curl -k -u mapr:mapr https://hostname:8443/rest/table/cf/list?path=/user/hbase/testShashi&cfname=f1
如果我在这里犯了任何错误,请告诉我。
沙市,
我不知道您是否粘贴了确切的命令行,但如果粘贴了,您可能需要在 url 周围添加引号,这样 shell 就不会解释 & .
在 MapR 4.1 上这对我有用:
[mapr@ip-172-16-2-19 ~]$ curl -k -u mapr:mapr 'https://ip-172-16-2-17:8443/rest/table/cf/list?path=/tmp/mytable&cfname=cf1' | jq .
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 345 100 345 0 0 1638 0 --:--:-- --:--:-- --:--:-- 1642
{
"timestamp": 1436384780597,
"timeofday": "2015-07-08 07:46:20.597 GMT+0000",
"status": "OK",
"total": 1,
"data": [
{
"cfname": "cf1",
"maxversions": 1,
"minversions": 0,
"ttl": 2147483647,
"inmemory": false,
"compression": "lz4",
"appendperm": "u:mapr",
"compressionperm": "u:mapr",
"memoryperm": "u:mapr",
"readperm": "u:mapr",
"versionperm": "u:mapr",
"writeperm": "u:mapr"
}
]
}
但是,如果我像您的示例一样删除引号,请查看 cfname 参数似乎如何被忽略 - 这是因为当 shell 到达 & 时,它将命令置于后台,并且服务器永远不会考虑 cfname 参数,因为它没有到达那里;所以 maprcli 列出了所有的 cfs:
[mapr@ip-172-16-2-19 ~]$ curl -k -u mapr:mapr https://ip-172-16-2-17:8443/rest/table/cf/list?path=/tmp/mytable&cfname=cf1 | jq .
[1] 18868
[mapr@ip-172-16-2-19 ~]$ {"timestamp":1436384975909,"timeofday":"2015-07-08 07:49:35.909 GMT+0000","status":"OK","total":2,"data":[{"cfname":"cf1","maxversions":1,"minversions":0,"ttl":2147483647,"inmemory":false,"compression":"lz4","appendperm":"u:mapr","compressionperm":"u:mapr","memoryperm":"u:mapr","readperm":"u:mapr","versionperm":"u:mapr","writeperm":"u:mapr"},{"cfname":"cf2","maxversions":1,"minversions":0,"ttl":2147483647,"inmemory":false,"compression":"lz4","appendperm":"u:mapr","compressionperm":"u:mapr","memoryperm":"u:mapr","readperm":"u:mapr","versionperm":"u:mapr","writeperm":"u:mapr"}]}
MapR REST API for MapR DB 看起来工作不正常。我只是尝试将列族的列表命令用作过滤器,但它没有给我正确的输出,但它与 maprcli 完美配合 option.Here 是我所做的操作列表。
用maprcli命令
maprcli table cf list -path /user/hbase/testShashi
readperm appendperm inmemory versionperm cfname writeperm compressionperm memoryperm compression ttl maxversions minversions u:mapr u:mapr 假 u:mapr f1 u:mapr u:mapr u:mapr 关闭 2147483647 1 0 u:mapr u:mapr 假 u:mapr f2 u:mapr u:mapr u:mapr 关闭 2147483647 1 0
maprcli table cf list -path /user/hbase/testShashi -cfname f1
readperm appendperm inmemory versionperm cfname writeperm compressionperm memoryperm compression ttl maxversions minversions u:mapr u:mapr 假 u:mapr f1 u:mapr u:mapr u:mapr 关闭 2147483647 1 0
当我将 cfname 作为 f1 传递时使用 maprcli 选项,它只给我一条记录,但它似乎不会发生在 REST API
有 REST API 应用过滤器之前
curl -k -u mapr:mapr https://hostname:8443/rest/table/cf/list?path=/user/hbase/testShashi
将 cfname 作为选项
curl -k -u mapr:mapr https://hostname:8443/rest/table/cf/list?path=/user/hbase/testShashi&cfname=f1
如果我在这里犯了任何错误,请告诉我。
沙市,
我不知道您是否粘贴了确切的命令行,但如果粘贴了,您可能需要在 url 周围添加引号,这样 shell 就不会解释 & .
在 MapR 4.1 上这对我有用:
[mapr@ip-172-16-2-19 ~]$ curl -k -u mapr:mapr 'https://ip-172-16-2-17:8443/rest/table/cf/list?path=/tmp/mytable&cfname=cf1' | jq .
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 345 100 345 0 0 1638 0 --:--:-- --:--:-- --:--:-- 1642
{
"timestamp": 1436384780597,
"timeofday": "2015-07-08 07:46:20.597 GMT+0000",
"status": "OK",
"total": 1,
"data": [
{
"cfname": "cf1",
"maxversions": 1,
"minversions": 0,
"ttl": 2147483647,
"inmemory": false,
"compression": "lz4",
"appendperm": "u:mapr",
"compressionperm": "u:mapr",
"memoryperm": "u:mapr",
"readperm": "u:mapr",
"versionperm": "u:mapr",
"writeperm": "u:mapr"
}
]
}
但是,如果我像您的示例一样删除引号,请查看 cfname 参数似乎如何被忽略 - 这是因为当 shell 到达 & 时,它将命令置于后台,并且服务器永远不会考虑 cfname 参数,因为它没有到达那里;所以 maprcli 列出了所有的 cfs:
[mapr@ip-172-16-2-19 ~]$ curl -k -u mapr:mapr https://ip-172-16-2-17:8443/rest/table/cf/list?path=/tmp/mytable&cfname=cf1 | jq .
[1] 18868
[mapr@ip-172-16-2-19 ~]$ {"timestamp":1436384975909,"timeofday":"2015-07-08 07:49:35.909 GMT+0000","status":"OK","total":2,"data":[{"cfname":"cf1","maxversions":1,"minversions":0,"ttl":2147483647,"inmemory":false,"compression":"lz4","appendperm":"u:mapr","compressionperm":"u:mapr","memoryperm":"u:mapr","readperm":"u:mapr","versionperm":"u:mapr","writeperm":"u:mapr"},{"cfname":"cf2","maxversions":1,"minversions":0,"ttl":2147483647,"inmemory":false,"compression":"lz4","appendperm":"u:mapr","compressionperm":"u:mapr","memoryperm":"u:mapr","readperm":"u:mapr","versionperm":"u:mapr","writeperm":"u:mapr"}]}