2011-10-05 5 views
1

get_json_object를 사용하여 하이브 쿼리를 실행하여 HDFS의 파일에서 json 문자열을 읽습니다. 와 나는 이상한 행동 충돌 : 를 JSON은 다음과 같다 경우 : hive 및 get_json_object 이상한 동작

{"oneSlash":"aaabbb","twoSlashes":"ccc\\ddd","threeSlashes":"eee\\fff"} 

내가 이해 'oneSlash'과 'threeSlashes'결과 :

{"data":{"oneSlash":"aaa\bbb","twoSlashes":"ccc\\ddd","threeSlashes":"eee\\\fff"}} 

쿼리의 결과는 왜 'twoSlashes'가 "ccc \ ddd"와 같지 않은지? 는 결국 '\'로 이스케이프한다 '\'

은 BTW quesry이다 : d를 \ 것은 아니다 반면 \ B와 \ f를 유효 이스케이프 문자이므로

SELECT get_json_object(escaping_test.data, '$.data') FROM escaping_test 

답변