[HADOOP] hdfs를 통해 hbase 데이터를 가져 오거나 내보내는 법 (hadoop 명령)
HADOOPhdfs를 통해 hbase 데이터를 가져 오거나 내보내는 법 (hadoop 명령)
파일 시스템이 hdfs 인 Hbase의 nutch가 크롤링 한 데이터를 저장했습니다. 그런 다음 hdfs의 명령을 사용하여 직접 로컬 디렉토리에 내 데이터 (hbase의 한 테이블)를 복사했습니다.
hadoop fs -CopyToLocal /hbase/input ~/Documents/output
그 후, 나는 그 데이터를 다른 hbase (다른 시스템)에 다음 명령에 따라 복사했다.
hadoop fs -CopyFromLocal ~/Documents/input /hbase/mydata
그것은 hdfs에 저장되며 hbase 쉘에서 list 명령을 사용하면 다른 테이블, 즉 'mydata'로 표시되지만 스캔 명령을 실행하면 'mydata'라는 이름의 테이블이 없다고 표시됩니다.
위의 절차에 문제가 있습니까? 간단한 단어로 :
해결법
-
==============================
1.한 hbase 클러스터에서 테이블을 내보내고 다른 테이블로 가져 오려면 다음 방법 중 하나를 사용하십시오.
한 hbase 클러스터에서 테이블을 내보내고 다른 테이블로 가져 오려면 다음 방법 중 하나를 사용하십시오.
Hadoop 사용
-
==============================
2.hbase 테이블을 백업하는 대신 Hbase 명령을 사용할 수있는 경우 map reduce 작업을 사용하여 hfile, 로그 및 스냅 샷 메타 데이터를 다른 파일 시스템 (로컬 / hdfs / s3)에 복사하는 Hbase ExportSnapshot 도구를 사용할 수 있습니다.
hbase 테이블을 백업하는 대신 Hbase 명령을 사용할 수있는 경우 map reduce 작업을 사용하여 hfile, 로그 및 스냅 샷 메타 데이터를 다른 파일 시스템 (로컬 / hdfs / s3)에 복사하는 Hbase ExportSnapshot 도구를 사용할 수 있습니다.
로컬 파일 시스템에서 다시 hdfs : /// srv2 : 8082 / hbase로 내 보낸 다음 hbase 쉘에서 restore 명령을 실행하여 스냅 샷에서 테이블을 복구 할 수 있습니다.
$ ./bin/hbase shell hbase> disable 'myTable' hbase> restore_snapshot 'myTableSnapshot-122112'
참조 : Hbase 스냅 샷
from https://stackoverflow.com/questions/25909132/how-to-import-export-hbase-data-via-hdfs-hadoop-commands by cc-by-sa and MIT license
'HADOOP' 카테고리의 다른 글
[HADOOP] 매퍼 (mapper)에서 라인 단위로 HDFS에서 텍스트 파일 읽기 (0) | 2019.07.08 |
---|---|
[HADOOP] 하이브에 데이터를 조 변경하는 방법이 있습니까? (0) | 2019.07.08 |
[HADOOP] Ubuntu 14.04에 HDFS를 마운트하는 방법 (0) | 2019.07.08 |
[HADOOP] Apache Mahout을 사용하여 데이터 분류 (0) | 2019.07.08 |
[HADOOP] 돼지에서 결과를 데이터베이스로 내보내는 방법 (0) | 2019.07.08 |