Запрос HBase Stargate на шестнадцатеричный ключ строки через Ruby
У меня есть таблица HBase, которая (частично) использует шестнадцатеричные байты для построения своих ключей строк. Я могу запросить из Hbase Shell, как показано ниже
get 'my_table', "XYZ:\x7F\xFF\xFF\xFF\xFF\xFF\xFF\x82"
Тем не менее, я хочу использовать API звездных врат (или один из множества рубиновых гемов, которые служат оболочкой) для удаленного запроса к hbase.
Если я выполню точно такой же запрос выше, я получу 404 не найден. Обратите внимание, что :
а также \
символы имеют URL-кодировку
curl "http://myHbaseServer.domain:8080/my_table/XYZ%3A%5Cx7F%5CxFF%5CxFF%5CxFF%5CxFF%5CxFF%5CxFF%5Cx82/content:raw"
=> 404 Not Found
Я знаю, что этот формат правильный, так как он возвращает список таблиц, когда я просто вызываю /
конечная точка. Это также не вызывает ошибку подключения. Есть мысли о том, правильно ли сбежали эти персонажи?
Спасибо!
1 ответ
\x
не нужно кодировать, это просто соглашение, используемое HBase для представления байтового значения не-ASCII. \x7F
следует преобразовать в %7F
в URL