SQL के एक निश्चित भाग को किसी फ़ील्ड में json स्ट्रिंग को पार्स करने की आवश्यकता होती है, हालाँकि, इसमें मौजूद चीनी वर्ण भी एक समान प्रारूप में एन्कोड और संग्रहीत होते हैं।
u6e38u620f
SQL कथन सैद्धांतिक रूप से इस प्रकार है
get_json_object(extends,'$.cate')='u6e38u620f'
हालाँकि, वास्तविक सिस्टम निष्पादन में संकलन प्रक्रियाओं की परतें शामिल होती हैं। सही परिणाम का चयन करने के लिए कितने बैकस्लैश लिखे जाने चाहिए?
प्रयोगात्मक निष्कर्ष इस प्रकार हैं:
अस्तित्व
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