Hbase rest api несколько вставок - PullRequest
       38

Hbase rest api несколько вставок

0 голосов
/ 13 февраля 2019

Мы планируем использовать hbase rest api для выполнения вставок в таблицу hbase и хотели бы знать, есть ли способ вставить несколько столбцов в одно семейство столбцов или даже несколько семей столбцов в одном вызове.

Если нет, так как мы планируем вставить около 100+ столбцов для конкретной записи (строки), это заставляет нас сделать более 100 вызовов для одной записи строки

1 Ответ

0 голосов
/ 14 февраля 2019

Вы можете вставить несколько столбцов для одного / нескольких семейств столбцов в одной операции PUT.--data полезная нагрузка содержит key и CellSet, CellSet содержит закодированное в base64 значение cf:columnname, а $ содержит закодированное в base64 значение значения столбца.

Например:

  { "Row":[
      {
         "key":"d3d3LnNvbWVzaXRlLmNvbQ==",
         "Cell":[
            {
               "column":"QXV0aG9yczp0ZXN0MQ==",  // It can be cf1:name
               "$":"c29tZURhdGE="
            },
            {
               "column":"QXV0aG9yczp0ZXN0Mg==", // It can be cf2:address
               "$":"bW9yZURhdGE="
            }
         ]
      }
   ]
}

Последняя команда curl будет выглядеть так:

curl -vi -X PUT \
         -H "Accept: text/json" \
         -H "Content-Type: text/json" \
         -d '{"Row":[{"key":"d3d3LnNvbWVzaXRlLmNvbQ==","Cell":[{"column":"QXV0aG9yczp0ZXN0MQ==","$":"c29tZURhdGE="},{"column":"QXV0aG9yczp0ZXN0Mg==","$":"bW9yZURhdGE="}]}]}' \
         "localhost:20550/table/rowkey"
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...