0
我想下面的蜂巢語句轉換成豬:Convesion從蜂房到PigLatin
max(substr(case when url like 'http:%' then '' else url end,1,50))
我對上面的豬的說法是:
url_group = GROUP data by (uid);
max_substr_url= FOREACH url_group generate SUBSTRING(MAX(((Coalesce(data.url) matches '.*http:%.*') ? '' : Coalesce(data.url))), 0, 49);
對於一些數據,該網址可以爲null。所以我寫了一個名爲Coalesce(String)的豬UDF,如果數據爲null或爲空,它將返回一個空字符串。如果數據不爲空或不爲空,則返回字符串。
上述豬的聲明給了我很多麻煩,並嘗試了不同的選擇/方式,但沒有任何工作。任何人都有如何實現這個想法?請幫幫我。
在此先感謝
「很麻煩」, 「毫無效果」 - 更具體 –
豬用來'matches' java的正則表達式,所以'%不需要''中的HTTP *:%*'。另外,爲什麼你在豬中交換MAX和substring?它應該是'MAX(SUBSTRING ...' –
嗯,我嘗試了很多方法讓我的豬語句工作,但沒有運氣.. – user3167832