Улей - как оператор со специальными символами - PullRequest
0 голосов
/ 10 июня 2018

Я новичок в улье и пытаюсь вытащить все записи в таблице, которые соответствуют определенному формату.

> Table structure-
>     (
>     id string,
>     col_json string
>     )

Внутри json col_json есть атрибут, представляющий собой текст, в котором я ищу формат

  • \ "abc \": \ "xyz \ "

.

Я использую условие where, как показано ниже - и get_json_object (a.col_json, '$. Attributes []. attributeValues ​​[]. AttributeValue ') наподобие'% \ "abc \": \ "xyz \"% '

Но, похоже, это не работает, так как я не получаю никаких возвращаемых строк.Может кто-нибудь подсказать, что идет не так?

1 Ответ

0 голосов
/ 11 июня 2018

Добавьте еще одну обратную косую черту перед каждой обратной косой чертой в подобной функции и снова запустите

hive> get_json_object (a.col_json, '$. Attributes []. AttributeValues ​​[].attributeValue ') как'% \\ "abc \\": \\ "xyz \\"% '

С одним ульем с обратной косой чертой считает, что он используется как escape-символ () , поэтому нам нужно использовать две обратные косые черты (\) , тогда hive считает ****

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...