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"}]}