Mari buat tabel HBase sederhana dari awal!
Ada banyak cara untuk membuat tabel HBase dan mengisinya :bulk load, hbase shell, hive dengan HBaseStorageHandler, dll.
Di sini kita akan menggunakan kelas ImportTsv yang bertujuan untuk mengurai file .tsv untuk memasukkannya ke dalam tabel HBase yang ada.
Pertama, mari ambil beberapa data!
Download access.tsv ke komputer mana pun di cluster Anda :ini adalah file zip 2 Gb dengan contoh data yang dipisahkan tab, berisi kolom rowkey,tanggal,rujukan-url, dan kode-http, dan letakkan di HDFS.
[root@sandbox ~]# gunzip access.tsv.gz
[root@sandbox ~]# hdfs dfs -copyFromLocal ./access.tsv /tmp/
Sekarang kita harus membuat tabel di shell HBase; itu hanya akan berisi satu ColumnFamily untuk contoh ini
[root@sandbox ~]# hbase shell
hbase(main):001:0> create 'access_demo','cf1'
0 row(s) in 14.2610 seconds
Dan mulai impor dengan kelas ad hoc, pilih kolom (jangan lupa HBASE_ROW_KEY yang bisa menjadi salah satu kolom, maka itu yang pertama di sini).
Sintaksnya adalah hbase JAVA_CLASS -DPARAMETERS TABLE_NAME FILE
Perhatikan bahwa Anda dapat menentukan pemisah tsv ‘-Dimporttsv.separator=,’ dan bahwa Anda jelas dapat menambahkan kelompok kolom yang berbeda cf1:field1,cf1:field2,cf2:field3,cf2:field4
[root@sandbox ~]# hbase org.apache.hadoop.hbase.mapreduce.ImportTsv -Dimporttsv.columns=HBASE_ROW_KEY,cf1:date,cf1:refer-url,cf1:http-code access_demo /tmp/access.tsv
2015-05-21 19:55:38,144 INFO [main] mapreduce.Job: Job job_1432235700898_0002 running in uber mode : false
2015-05-21 19:55:38,151 INFO [main] mapreduce.Job: map 0% reduce 0%
2015-05-21 19:56:00,718 INFO [main] mapreduce.Job: map 7% reduce 0%
2015-05-21 19:56:03,742 INFO [main] mapreduce.Job: map 21% reduce 0%
2015-05-21 19:56:06,785 INFO [main] mapreduce.Job: map 65% reduce 0%
2015-05-21 19:56:10,846 INFO [main] mapreduce.Job: map 95% reduce 0%
2015-05-21 19:56:11,855 INFO [main] mapreduce.Job: map 100% reduce 0%
2015-05-21 19:56:13,948 INFO [main] mapreduce.Job: Job job_1432235700898_0002 completed successfully
Yuk cek :
[root@sandbox ~]# hbase shell
hbase(main):001:0> list
TABLE
access_demo
iemployee
sales_data
3 row(s) in 9.7180 seconds
=> ["access_demo", "iemployee", "sales_data"]
hbase(main):002:0> scan 'access_demo'
ROW COLUMN+CELL
# rowkey column=cf1:date, timestamp=1432238079103, value=date
# rowkey column=cf1:http-code, timestamp=1432238079103, value=http-code
# rowkey column=cf1:refer-url, timestamp=1432238079103, value=refer-url
74.201.80.25/san-rafael-ca/events/sho column=cf1:date, timestamp=1432238079103, value=2008-01-25 16:20:50
w/80343522-eckhart-tolle
74.201.80.25/san-rafael-ca/events/sho column=cf1:http-code, timestamp=1432238079103, value=200
w/80343522-eckhart-tolle
74.201.80.25/san-rafael-ca/events/sho column=cf1:refer-url, timestamp=1432238079103, value=www.google.com/search
w/80343522-eckhart-tolle
calendar.boston.com/ column=cf1:date, timestamp=1432238079103, value=2008-01-25 19:35:50
calendar.boston.com/ column=cf1:http-code, timestamp=1432238079103, value=200
Ini dia!