2013-04-18 5 views
0

하나의 큰 테이블을 만들고 데이터베이스의 모든 테이블에있는 모든 데이터를 포함하고이 테이블을 CSV 파일로 내 보낸 다음 Hbase로이 파일을 가져 오시겠습니까? 제 문제는 모든 데이터베이스 테이블에서 bigtable을 만드는 방법입니다. 나는 어떤 도움에 감사 할 것이다. 미리 감사드립니다. 관계형 데이터베이스를 하나의 Bigtable로 변환하는 방법

+2

그들 모두가 합리적으로 합류 할 수 있다고 가정하는 모든 이들과 합류하십시오 ... –

+0

나는 수천 개의 테이블을 가지고 있습니다. –

+0

그들 모두가 같은 구조를 가지고 있지 않다면, 그때 한 걸음 나아갈 필요가 있습니다. 새로 시작하는 방법에 대해 생각해보고 기존 데이터를 가져 오는 방법을 살펴보십시오. –

답변

1

모든 데이터를 HBase 또는 HDFS로 덤프하려는 경우 sqoop을 사용하여 모든 테이블과 데이터를 HBase로 전송할 수 있습니다. 모든 데이터를 하나의 큰 테이블로 변환하는 것이 효율적이거나 가능하지 않을 수도 있습니다. CLOS/BLOB 데이터를 CVS 파일로 내보낼 수 없습니다.

+0

좋은 지적. 당신은 "sqoop import-all-tables"도구를 사용하여이를 수행 할 수 있습니다. 하지만 다음과 같은 사항을 염두에 두어야합니다. (1) 각 테이블에는 단일 열 기본 키가 있어야합니다. (2) 각 테이블의 모든 열을 가져와야합니다. (3) 기본값이 아닌 분할 열을 사용하거나 WHERE 절을 통해 조건을 지정하지 않아야합니다. – Tariq

0

왜 그렇게할까요? MapReduce 작업을 작성하고 출력을 HBase 테이블에 삽입하십시오.

1

sqoop을 보시면 도움이 될 수 있습니다.

우리는 RDBMS의 데이터를 하이브 테이블에 저장하는 데 사용합니다. 하이브의 경우 적절한 열 이름과 유형으로 테이블을 자동으로 만들 수 있습니다. 또한 데이터를 청크로 분할하는 방법을 지정하는 사용자 지정 쿼리에 대해서는 split_by 옵션이 필요합니다.

+0

감사합니다. 노력에 감사드립니다 .i Sqoop 및 Hbase 사용 –