2012-09-12 34 views
6

Tôi mới tham gia cơ sở. Bạn có thể chỉ cho tôi cách thêm cột vào một nhóm cột. Tôi có dữ liệu như sau:cách thêm họ cột vào cột trong hbase

{ 
name: abc 
addres: xyz 
} 

Tôi có kiểm tra bảng với người gia đình cột. Làm cách nào để thêm tên và địa chỉ làm cột cho người này. Xin vui lòng chỉ cho tôi trong dòng lệnh hbase cũng như java.

Trả lời

14

HBase Shell:

Từ vỏ wiki HBase: http://wiki.apache.org/hadoop/Hbase/Shell

Đặt một tế bào 'giá trị' tại quy định bảng/hàng/cột và dấu thời gian tùy chọn tọa độ. Để đặt một giá trị của ô vào bảng 't1' ở hàng 'r1' dưới cột 'c1' đánh dấu với thời gian 'TS1', làm:

hbase> put 't1', 'r1', 'c1', 'value', ts1 

một cái gì đó như thế này trong trường hợp của bạn:

hbase> put 'test', 'yourRow', 'person:name', 'abc' 
hbase> put 'test', 'yourRow', 'person:address', 'xyz' 

trong Java:

Configuration config = HBaseConfiguration.create(); 
HTable table = new HTable(config, "test"); 

Put p = new Put(Bytes.toBytes("yourRow")); 
p.add(Bytes.toBytes("person"), Bytes.toBytes("name"), 
    Bytes.toBytes("abc")); 
table.put(p); 
+0

bạn có biết nếu HBase tìm kiếm "person: name" khác với bất kỳ tên nào khác không? Nói cách khác, không phải là ":" có ý nghĩa đặc biệt trong HBase hoặc nó chỉ tread toàn bộ như là một chuỗi? –

+0

Giá trị cung cấp cần phải ở định dạng sau: ": ". là tên của cột trong họ cột và là họ cột –

+0

Tôi có thể thấy tôi phải có cột gia đình đầu tiên, nhưng nếu tôi muốn thêm cột khác của cột như "person: name: firstname", "name: firstname" được xử lý đặc biệt trong HBase? –

6

JP Bond đã cho bạn những mẫu mã bạn cần - tôi chỉ muốn nói thêm rằng một trong những điều tốt đẹp về HBase là vì nó là thưa thớt (tức là không đặt trước không gian cột cho các hàng với ra giá trị). Một trong những tính năng của quyết định thiết kế này là bạn có thể tạo một cột mới (cột gia đình + vòng loại) chỉ bằng cách viết cho nó.

Các vấn đề liên quan