某段SQL中需要去解析一个字段中的json字符串,然而,里边的汉字也是编码后的,存的格式类似
\u6e38\u620f
SQL语句理论上如下
get_json_object(extends,'$.cate')='\u6e38\u620f'
但是呢,实际系统执行中涉及到层层编译过程,反斜杠到底该写几个才能select出正确的结果呢?
实验结论如下:
在
spark-hive>
情况下,输入两个反斜杠即可
spark-hive> ……get_json_object(extends,'$.cate')='\\u6e38\\u620f'……
如果使用
spark-hive -e "" > out.txt
方式执行,则需要输入四个反斜杠
spark-hive -e "……get_json_object(extends,'$.cate')='\\\\u6e38\\\\u620f'……" > out.txt