복붙노트

[HADOOP] HDFS에서 HBase로 데이터 가져 오기 (cdh3u2)

HADOOP

HDFS에서 HBase로 데이터 가져 오기 (cdh3u2)

나는 hadoop과 hbase cdh3u2를 설치했다. hadoop에서 /home/file.txt 경로에 파일이 있습니다. 그것은 같은 데이터를 가지고있다.

one,1
two,2
three,3

이 파일을 hbase로 가져오고 싶습니다. 첫 번째 필드는 String으로 파싱되어야하고 두 번째 필드는 정수로 파싱 된 다음 hbase로 푸시되어야합니다. 나를 도와 줘.

미리 감사드립니다 ....

해결법

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

    1.나는 간단하고 직설적이며 유연하기 때문에 HBase에 인젝션을하기 위해 Apache Pig를 사용하는 것을 좋아합니다.

    나는 간단하고 직설적이며 유연하기 때문에 HBase에 인젝션을하기 위해 Apache Pig를 사용하는 것을 좋아합니다.

    다음은 테이블과 컬럼 패밀리를 작성한 후에 당신을 위해 일할 돼지 스크립트입니다. 테이블과 열 패밀리를 작성하려면 다음을 수행하십시오.

    $ hbase shell
    > create 'mydata', 'mycf'
    

    파일을 HDFS로 이동하십시오.

    $ hadoop fs -put /home/file.txt /user/surendhar/file.txt
    

    그런 다음 HBaseStorage에 저장할 돼지 스크립트를 작성하십시오 (돼지를 설치하고 실행하는 방법을 찾아야 할 수도 있음).

    A = LOAD 'file.txt' USING PigStorage(',') as (strdata:chararray, intdata:long);
    STORE A INTO 'hbase://mydata'
            USING org.apache.pig.backend.hadoop.hbase.HBaseStorage(
                  'mycf:intdata');
    

    위의 스크립트에서 키는 strdata가 될 것입니다. 무언가에서 자신의 키를 만들고 싶다면 FOREACH 문을 사용하여 키를 생성하십시오. HBaseStorage는 이전 릴레이션 (이 경우에는 A :: strdata)의 첫 번째 것이 핵심이라고 가정합니다.

    다른 옵션은 다음과 같습니다.

  2. from https://stackoverflow.com/questions/8644261/import-data-from-hdfs-to-hbase-cdh3u2 by cc-by-sa and MIT license