Hãy tạo một bảng HBase đơn giản từ đầu!
Có nhiều cách để tạo bảng HBase và điền nó vào:tải số lượng lớn, trình bao hbase, hive với HBaseStorageHandler, v.v.
Ở đây chúng ta sẽ sử dụng lớp ImportTsv nhằm phân tích cú pháp tệp .tsv để chèn nó vào một bảng HBase hiện có.
Đầu tiên, hãy lấy một số dữ liệu!
Tải xuống access.tsv xuống bất kỳ máy nào trong cụm của bạn:đây là tệp nén 2Gb với dữ liệu mẫu được phân tách bằng tab, chứa khóa hàng, ngày, url giới thiệu và mã http và đặt nó trên HDFS.
[root@sandbox ~]# gunzip access.tsv.gz
[root@sandbox ~]# hdfs dfs -copyFromLocal ./access.tsv /tmp/
Bây giờ chúng ta phải tạo bảng trong HBase shell; nó sẽ chỉ chứa một ColumnFamily cho ví dụ này
[root@sandbox ~]# hbase shell
hbase(main):001:0> create 'access_demo','cf1'
0 row(s) in 14.2610 seconds
Và bắt đầu nhập với lớp đặc biệt, chọn các cột (đừng quên HBASE_ROW_KEY có thể là bất kỳ cột nào, do đó nó là cột đầu tiên ở đây).
Cú pháp là hbase JAVA_CLASS -DPARAMETERS TABLE_NAME FILE
Lưu ý rằng bạn có thể chỉ định dấu phân tách tsv ‘-Dimporttsv.separator =,’ và rõ ràng bạn có thể thêm các họ cột khác nhau 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
Hãy kiểm tra:
[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
Đây là nó!