2017-02-13 3 views
0

에 열에서 XML을 폭발 :돼지 나는이처럼 보이는 하이브 테이블의 데이터가 HCat

col1 | col2 
12345  <AnXMLElement><AChildElement1>2</AChildElement1><AChildElement2>4</AChildElement2></AnXMLElement> 

내가 두 번째 열을 등과 같은 요소로 그것을 밖으로 폭발 할 :

col1 | col2 | AChildElement1 | AChildElement2 
12345 <OriginalData>  2     4 

그리고 CSV 파일에 작성하십시오.

Hive/Hcat 로더를 사용하여 데이터를 가져 와서이 두 열로 필터링 할 수 있지만 XPath 또는 XMLoader를 사용하여 이미 필터링 된 결과 집합에서 열을로드하는 방법에 대해 혼란스러워합니다. XPath 또는 XMLoader를 사용하여 파일 대신 열에서로드하는 방법이 있습니까?

미리 감사드립니다. 아래

답변

0

사용 : - 더 XMLpath 관련 기능에 대한

select *,xpath_string(z,'//AChildElement1'),xpath_string(z,'//AChildElement2') from table; 

: https://cwiki.apache.org/confluence/display/Hive/LanguageManual+XPathUDF

또는 당신은 또한 XMLserde 접근 방식을 사용할 수 있습니다.

+0

감사합니다. 완벽하게 작동했습니다. – Nagos1

+0

위대한 :) 다른 사람의 참조에 대한 대답을 받아들입니다. 감사 –