에 나는 돼지에 하이브 문 아래를 변환하려고 :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);
의 URL null도 가능 그래서 데이터가 null이거나 비어있는 경우 빈 문자열을 반환하는 Coalesce (String)라는 돼지 UDF를 작성했습니다. 데이터가 null가 아니거나 비어 있지 않으면 문자열을 반환합니다.
위의 돼지 진술은 많은 문제를 일으키고 다양한 옵션/방법을 시도했지만 아무런 효과가 없었습니다. 누구든지 이것을 구현하는 방법에 대한 아이디어가 있습니까? 도와주세요. 사전
"문제가 많은", "아무 일 없다"- 구체적 –
돼지 그래서'%가''에 * HTTP 필요하지 않습니다 matches''에 대한 자바 정규 표현식에 사용 : % *를'... 또한 왜 MAX에서 하위 문자열을 돼지와 바꿨습니까? 'MAX (SUBSTRING ...' –
글쎄, 나는 돼지의 문장을 작동시키는 데 많은 방법을 시도했지만 아직 행운이 없다. – user3167832