복붙노트

[HADOOP] 하이브에 XML 파일을로드하는 방법

HADOOP

하이브에 XML 파일을로드하는 방법

임, 하이브 테이블에 다음과 같은 문제가 발생했습니다. HDFS에 10 억 개 이상의 XML 파일이 있습니다. 내가 뭘하고 싶은지, 각 XML 파일은 4 가지 섹션을 가지고 있습니다. 이제 모든 XML 파일에 대해 각 테이블의 각 부분을 분할하여로드하려고합니다.

예 :

            <?xml version='1.0' encoding='iso-8859-1'?>

            <section1>
                <id> 1233222 </id>
               // having lot of xml tages 
            </section1>

            <section2>
               // having lot of xml tages 
            </section2>

            <section3>
               // having lot of xml tages 
            </section3>

            <section4>
               // having lot of xml tages 
            </section4>

            </xml>

그리고 나는 네 개의 테이블을 가지고있다.

        section1Table

        id       section1    // fields 

        section2Table

        id       section2

        section3Table 

        id       section3

        section4Table

        id       section4

이제 각 테이블에 데이터를 분할하여로드하려고합니다.

어떻게하면 이럴 수 있겠 어. 아무도 나를 도울 수 있습니까?

감사

최신 정보

나는 다음을 시도했다.

CREATE EXTERNAL TABLE test(name STRING) LOCATION '/user/sornalingam/zipped/output/Tagged/t1';\


SELECT xpath (name, '//section1') FROM test LIMIT 1 ;

하지만 다음 오류가 발생했습니다.

java.lang.RuntimeException: org.apache.hadoop.hive.ql.metadata.HiveException: Hive Runtime Error while processing row {"name":"<?xml version='1.0' encoding='iso-8859-1'?>"}

해결법

  1. ==============================

    1.몇 가지 옵션이 있습니다.

    몇 가지 옵션이 있습니다.

    이러한 접근 방식에 따라 귀하의 경험과 편안함의 수준에 달려 있습니다.

  2. ==============================

    2.이것을 사용하십시오 :

    이것을 사용하십시오 :

    CREATE EXTERNAL TABLE test(name STRING) LOCATION '/user/sornalingam/zipped/output/Tagged/t1'
    
    tblproperties ("skip.header.line.count"="1", "skip.footer.line.count"="1");
    

    그리고 xpath 함수를 사용하십시오.

  3. ==============================

    3.복잡한 XML을 Hive로 변환하는 전체 프로세스를 자동화 할 수 있습니다 (예 : Flexter XML 변환기는 Hive가 쿼리 할 수있는 마루 또는 Avro 파일을 생성 할 수 있습니다.

    복잡한 XML을 Hive로 변환하는 전체 프로세스를 자동화 할 수 있습니다 (예 : Flexter XML 변환기는 Hive가 쿼리 할 수있는 마루 또는 Avro 파일을 생성 할 수 있습니다.

    다음은 MISMO XML을 하이브 및 마루로 변환하는 것을 자동화하는 방법을 보여주는 블로그 게시물입니다

    면책 조항 : 나는 Sonra를 위해 일한다.

  4. from https://stackoverflow.com/questions/20852166/how-to-load-xml-file-into-hive by cc-by-sa and MIT license