SELECT c.PROCESS_ID,
CASE WHEN c.PAYMODE = 'M'
THEN
CASE WHEN CURRENCY = 'USD'
THEN c.PREMIUM * c.RATE
ELSE c.PREMIUM END * 12
ELSE
CASE WHEN CURRENCY = 'USD'
THEN c.PREMIUM * c.RATE
ELSE c.PREMIUM END END VAlue
FROM CMM c
मैं मैं कैसे कर सकता एसक्यूएल क्वेरी चिंगारी एसक्यूएल एपीआई कनवर्ट करना चाहते हैं का उपयोग कर के मामले में लिखने के लिए? हालांकि,कैसे जब चिंगारी एसक्यूएल में हालत स्केला
val df: DataFrame = ...
df.select(
col("PROCESS_ID"),
when(col("PAYMODE") === lit("M"),
(when(col("CURRENCY") === lit("USD"), col("PREMIUM") * col("RATE"))
.otherwise(col("PREMIUM"))) * 12
).otherwise(
when(col("CURRENCY") === lit("USD"), col("PREMIUM") * col("RATE"))
.otherwise(col("PREMIUM"))
)
)
शायद यह करने के लिए एक क्लीनर तरीका,:
धन्यवाद
क्या आपने 'registerTempTable' और फिर' sqlContext.sql ("...") 'कोशिश की? –
हाय उत्तर के लिए धन्यवाद, मैंने यह काम किया है लेकिन मैं एपीआई का उपयोग करना चाहता हूं तो क्या कोई विचार है कि इसे कैसे किया जाए? – praveen
प्रवीण: क्या आप @ डेविड ग्रिफिन उत्तर को स्वीकार करने पर विचार कर सकते हैं। यह अन्य उपयोगकर्ताओं के लिए भी सूचक होगा। THX –