तो मेरे पास एक ऑरैकल क्वेरी है:

SELECT REGEXP_SUBSTR('BOND~CRR~CD~DAKAR_2299913320','[^~]+',1,3) FROM DUAL

उस क्वेरी से परिणाम इस तरह होना चाहिए: सीडी

अब, मेरा सवाल यह है कि उस क्वेरी को हाइव में कैसे कार्यान्वित किया जाए, क्योंकि जो मुझे पता है, हाइव में REGEXP_SUBSTR सिंटैक्स नहीं है, अब तक जो मैंने पहले ही कोशिश की है वह था:

select regexp_extract('BOND~CRR~CD~DAKAR_2299913320','[^~]+',0)

लेकिन परिणाम था : BOND

जब मैं अपनी क्वेरी को इसमें बदलता हूं:

select regexp_extract('BOND~CRR~CD~DAKAR_2299913320','[^~]+',2)

यह एक अर्थपूर्ण अपवाद दे रहा था: गलत तर्क '2'

तो क्या उस ऑरैकल क्वेरी को हाइव में लागू करने का कोई तरीका है?

0
badigot power 24 सितंबर 2020, 09:57

1 उत्तर

सबसे बढ़िया उत्तर

आप REGEXP के बजाय स्प्लिट फ़ंक्शन का उपयोग कर सकते हैं

select split('BOND~CRR~CD~DAKAR_2299913320','[\~]')[2]

अधिक जानकारी के लिए नीचे दिए गए लिंक देखें

https://dwgeek.com/hive-string-functions-examples.html/

1
saravanatn 24 सितंबर 2020, 10:50