아래 링크 적극 참고
https://bigdataprogrammers.com/import-csv-data-into-hbase/
Import CSV data into HBase - BIG DATA PROGRAMMERS
In this post, we are having a data set. The format of the data file is CSV. We are going to import CSV data into HBase table.
bigdataprogrammers.com
기본 데이터가 아래와 같이 생겼다고 하자.
< data.tsv > | < data.csv > |
1 a 0001 eye 2 b 0010 ball 3 c 0011 sss |
1,a,0001,eye 2,b,0010,ball 3,c,0011,sss |
1.
먼저 위의 데이터를 hdfs 에 넣는다. 아래 명령어는 tsv 지만, csv 도 똑같은 방식으로 넣는다.
hdfs dfs -put data.tsv /data/data.tsv hdfs dfs -put data.csv /data/data.csv
|
2.
hbase shell 에 들어가서 아래 명령어로 table 을 만든다.
$HBASE_HOME/bin/hbase shell create "load_test_table", "cf1", "cf2"
|
3.
tsv 는 아래 명령어로 load 한다.
$HBASE_HOME/bin/hbase org.apache.hadoop.hbase.mapreduce.ImportTsv -Dimporttsv.columns="HBASE_ROW_KEY,cf1:alphbet,cf2:byte,cf2:string" load_test_table /data/data.tsv
|
csv 는 아래 명령어로 load 한다.
$HBASE_HOME/bin/hbase org.apache.hadoop.hbase.mapreduce.ImportTsv -Dimporttsv.separator="," -Dimporttsv.columns="HBASE_ROW_KEY,cf1:alphbet,cf2:byte,cf2:string" load_test_table /data/data.csv
|
데이터가 갖고 있는 열 순서대로
HBASE_ROW_KEY, cf1:alphbet, cf2:byte, cf2:string 에 들어간다.
즉,
첫번째 열의 값들 (1,2,3...) 은 => | HBASE_ROW_KEY 에 들어감 |
두번째 열의 값들 (a,b,c...) 은 => | column family(cf1) 의 column name(alphabet) 에 들어감 |
세번째 열의 값들 (0001, 0010...) 은 => | column family(cf2) 의 column name(byte) 에 들어감 |
네번째 열의 값들 (eye,ball,sss....) 은 => | column family(cf2) 의 column name(string) 에 들어감 |
실제 데이터를 살펴보면 아래와 같다.
'HBase' 카테고리의 다른 글
[HBase] org.apache.hadoop.hbase.util.FileSystemVersionException: hbase.version file is missing. 에러 해결 방법 (0) | 2019.11.14 |
---|---|
[HBase] ERROR: org.apache.hadoop.hbase.PleaseHoldException: Master is initializing 에러 해결 방법 (0) | 2019.11.14 |
[HBase] Spark 와 연동해서 데이터 읽는 방법 - hortonworks shc (0) | 2019.11.01 |
[HBase] log 보는 방법 (0) | 2019.10.31 |
[HBase] Spark 와 연동해서 데이터 읽는 방법 (2) | 2019.10.24 |