我們使用JSONB偶爾存儲元素。這將作爲字符串傳遞給Redshift,然後使用UDF進行解析。對於審計報告,我想在一列中顯示JSON的一部分,而在另一列中顯示另一部分。我可以調用一個返回兩個值的UDF,而不是每行都調用兩個UDF,?你能從Redshift的python UDF中返回多個值嗎?
作爲一個玩具的例子,考慮一個交易數據庫,其中每一行我們存儲客戶用來支付的方法。有些客戶可以支付多筆金額(例如,花費一張禮品卡,然後用現金支付差額),因此我們在該字段中存儲了一個JSON blob。
{"Methods": [
{"Type":"Gift Card", "Amount": 5.74}
,{"Type":"Cash", "Amount": 4.26}
],
"Coupons": [
{"Code": "XHAY12", "Amount":1.22},
{"Code": "Y123A", "Amount": 4.66}
]}
在我的報告,我想一列(methods
),顯示現金量和顯示交易是否得到了超過$ 5第二列coupons > $5
)。
我試過RETURNS float, int
以及括號,大括號和括號,但得到一般的語法錯誤。任何人都有建議?或者我需要吮吸它並具有單獨的功能?
哦哇,我喜歡那個黑客! – ScottieB