Bảng tạo HBase với Java Ví dụ về API & Shell
⚡ Tóm tắt thông minh
HBase lưu trữ dữ liệu trong các bảng, và bạn có thể tạo và quản lý các bảng đó theo hai cách: thông qua... Java API với HTableDescripthoặc sử dụng HBaseAdmin, hoặc trực tiếp trong trình shell của HBase bằng lệnh create.

Cách tạo bảng trong HBase với Java API
Trong HBase, có hai cách để tạo bảng: thông qua... Java API và thông qua giao diện dòng lệnh HBase. Phần này bao gồm Java API này cho phép ứng dụng tạo bảng và tải dữ liệu theo chương trình như một phần của tác vụ lớn hơn.
Thông qua Java API, chúng ta có thể tạo bảng trong HBase và cũng có thể tải dữ liệu vào bảng bằng cách sử dụng Java Lập trình. Hai việc chúng ta thiết lập ở đây là:
- Thiết lập kết nối với HBase thông qua Java API.
- Sử dụng Eclipse cho Java Lập trình, gỡ lỗi và kiểm thử.
Sau đây là các bước để tạo bảng trong HBase thông qua Java API.
Bước 1) Tạo một Java Dự án ở Eclipse
Ở bước này, chúng ta sẽ tạo một Java dự án trong Eclipse Đối với kết nối HBase, được đặt tên là “HbaseConnection”.
The New Java Hộp thoại dự án bên dưới hiển thị quá trình thiết lập dự án “HbaseConnection”:
Nếu chúng ta quan sát ảnh chụp màn hình phía trên:
- Hãy nhập tên dự án vào ô này. Trong trường hợp của chúng tôi, tên dự án là “HbaseConnection”.
- Chọn ô này để lưu vị trí mặc định. Ở đây, đường dẫn là /home/hduser/work/HbaseConnection.
- Chọn hộp cho Java môi trường ở đây. Trong trường hợp này JavaSE-1.7 là Java ấn bản.
- Hãy chọn tùy chọn nơi bạn muốn lưu tập tin. Trong trường hợp này, chúng tôi đã chọn tùy chọn thứ hai, “Tạo một thư mục riêng cho các tệp nguồn và tệp lớp học”.
- Nhấp vào nút Hoàn tất, thao tác này sẽ tạo dự án “HbaseConnection”. Eclipse và mở ra Eclipse trang chủ.
Bước 2) Cấu hình đường dẫn xây dựng trong Eclipse
trên Eclipse Trang chủ, hãy làm theo các bước sau để mở cấu hình đường dẫn xây dựng:
Right click on project -> Select Build Path -> Configure build path
Ảnh chụp màn hình bên dưới hiển thị menu chuột phải được sử dụng để mở cấu hình đường dẫn xây dựng:
Từ ảnh chụp màn hình phía trên:
- Nhấp chuột phải vào một dự án.
- Chọn Đường dẫn xây dựng.
- Chọn Cấu hình Đường dẫn Xây dựng.
Sau khi nhấp vào Configure Build Path, một cửa sổ khác sẽ mở ra, như trong ảnh chụp màn hình bên dưới. Tab Libraries là nơi các tệp JAR của HBase và Hadoop được thêm vào dự án:
Trong bước này, chúng ta thêm các tệp JAR HBase có liên quan vào... Java dự án như trong ảnh chụp màn hình.
- Các file JAR quan trọng cần thêm vào: hbase-0.94.8.jar và hadoop-core-1.1.2.jar.
- Hãy vào mục Thư viện.
- Nhấn vào tùy chọn Thêm JAR bên ngoài.
- Chọn các tệp JAR quan trọng cần thiết.
- Nhấn nút Hoàn tất để thêm các tệp này vào thư mục “src” của dự án. Java Dự án thuộc lĩnh vực Thư viện.
Sau khi thêm các file JAR, chúng sẽ xuất hiện trong thư mục “src” của dự án như hình bên dưới:
Tất cả các tập tin JAR thuộc dự án hiện đã sẵn sàng để sử dụng với hệ sinh thái Hadoop.
Bước 3) Thiết lập kết nối HBase
Ở bước này, sử dụng HBaseConnection.java, kết nối HBase được thiết lập thông qua Java mã hóa.
trên Eclipse menu trên cùng, thực hiện một Java Chương trình như hiển thị bên dưới: Chạy -> Chạy với quyền -> Java Ứng dụng. Menu bên dưới hiển thị chương trình đang được khởi chạy:
- Chọn Chạy.
- Chọn Chạy với quyền Java Ứng dụng.
- Đoạn mã này thiết lập kết nối với HBase thông qua Java API.
- Sau khi chạy đoạn mã này, bảng “guru99” được tạo trong HBase với hai nhóm cột có tên là “education” và “projects”. Hiện tại, chỉ có lược đồ trống được tạo trong HBase.
Đoạn mã trích dẫn bên dưới làm nổi bật HTable.Descripthoặc các lệnh addFamily để xây dựng lược đồ bảng:
Từ ảnh chụp màn hình phía trên, chúng ta đang thực hiện các chức năng sau:
- Sử dụng HTableDescriptHoặc, chúng ta có thể tạo bảng “guru99” trong HBase.
- Sử dụng phương thức addFamily, chúng ta thêm “education” và “projects” làm các nhóm cột vào bảng “guru99”.
Đoạn mã dưới đây sẽ thiết lập kết nối với HBase và tạo bảng “guru99” với hai nhóm cột. Hãy đặt đoạn mã này vào bên trong tệp HBaseConnection.java:
// Place this code inside Hbase connection import java.io.IOException; import org.apache.hadoop.conf.Configuration; import org.apache.hadoop.hbase.HBaseConfiguration; import org.apache.hadoop.hbase.HColumnDescriptor; import org.apache.hadoop.hbase.HTableDescriptor; Import org.apache.hadoop.hbase.client.HBaseAdmin; public class HBaseConnection { public static void main(String[] args) throws IOException { HBaseConfigurationhc = new HBaseConfiguration(new Configuration()); HTableDescriptorht = new HTableDescriptor("guru99"); ht.addFamily( new HColumnDescriptor("education")); ht.addFamily( new HColumnDescriptor("projects")); System.out.println( "connecting" ); HBaseAdminhba = new HBaseAdmin( hc ); System.out.println( "Creating Table" ); hba.createTable( ht ); System.out.println("Done......"); } }
Đây là đoạn mã bắt buộc bạn phải đặt vào tệp HBaseConnection.java trước khi chạy. Java chương trình.
Sau khi chạy chương trình này, nó sẽ thiết lập kết nối với HBase và tạo ra một bảng với các tên cột.
- Tên bảng là “guru99”.
- Các nhóm cột là "giáo dục" và "dự án".
Bước 4) Kiểm tra bảng đã tạo trong HBase
Chúng ta có thể kiểm tra xem bảng “guru99” có được tạo với hai nhóm cột trong HBase hay không bằng cách sử dụng chế độ shell của HBase với lệnh “list”. Lệnh “list” cung cấp thông tin về tất cả các bảng đã được tạo trong HBase.
Chạy lệnh list trong HBase shell sẽ xác nhận bảng mới, như hình bên dưới:
- Code Kiểm tra trong trình shell HBase bằng cách thực thi lệnh “list”.
- Nếu ta chạy lệnh “list”, nó sẽ hiển thị các bảng đã được tạo trong HBase. Trong trường hợp này, ta có thể thấy bảng “guru99” đã được tạo.
Bảng tạo HBase với Shell
Bên cạnh những Java Thông qua API, bạn có thể tạo bảng trực tiếp từ giao diện dòng lệnh HBase, đây là cách nhanh nhất để thiết lập bảng cho các thử nghiệm nhanh. Cú pháp để tạo bảng trong HBase bằng giao diện dòng lệnh là:
Syntax: create <tablename>, <columnfamilyname>
Thí dụ:-
hbase(main):001:0> create 'education' ,'guru99' 0 rows(s) in 0.312 seconds =>Hbase::Table – education
Ví dụ trên giải thích cách tạo bảng trong HBase với tên được chỉ định theo thông số kỹ thuật của từng nhóm cột. Ngoài ra, chúng ta cũng có thể truyền một số thuộc tính phạm vi bảng vào đó.
create 'guru99', {NAME=>'Edu', VERSIONS=>213423443}
Khối {NAME=>'Edu', VERSIONS=>…} ở đây thiết lập một nhóm cột có tên là “Edu” và số lượng phiên bản ô mà nhóm đó lưu giữ. Con số lớn chỉ mang tính minh họa; trên thực tế, VERSIONS là một giá trị nhỏ như 3 hoặc 5.
Liệt kê, mô tả và xác minh các bảng HBase
Việc tạo bảng chỉ là bước đầu tiên trong việc quản lý bảng trong HBase. Sau khi bảng “guru99” tồn tại, một vài lệnh tổng quát cho phép bạn kiểm tra và xác nhận trạng thái của bảng trước khi đọc, ghi hoặc sửa đổi dữ liệu. Bạn có thể chạy tất cả các lệnh này từ... Vỏ HBase.
Lệnh list trả về tất cả các bảng người dùng trong HBase:
hbase> list
Lệnh describe hiển thị cấu trúc của bảng, bao gồm các nhóm cột và trạng thái hiện tại của bảng:
hbase> describe 'guru99'
Lệnh `exists` kiểm tra xem bảng có tồn tại hay không, và `is_enabled` cho biết bảng đó có cho phép ghi dữ liệu hay không.
hbase> exists 'guru99' hbase> is_enabled 'guru99'
Các kiểm tra chỉ đọc này có thể chạy an toàn bất cứ lúc nào. Chúng là cách nhanh nhất để xác nhận rằng bảng đã được tạo đúng cách và để xem xét các nhóm cột của bảng trước khi tải dữ liệu.
Thay đổi bảng HBase
Lược đồ bảng HBase không được cố định sau khi tạo. Lệnh `alter` thay đổi các nhóm cột và thuộc tính phạm vi bảng mà không tạo lại bảng. Tùy thuộc vào phiên bản HBase của bạn, bạn có thể cần phải vô hiệu hóa bảng trước, sau đó chạy lệnh `alter` và kích hoạt lại bảng.
Để thêm một nhóm cột mới vào bảng “guru99”:
hbase> alter 'guru99', {NAME => 'contact'}
Để thiết lập số lượng phiên bản mà một nhóm cột lưu giữ:
hbase> alter 'guru99', NAME => 'education', VERSIONS => 5
Để xóa một nhóm cột khỏi bảng:
hbase> alter 'guru99', {NAME => 'contact', METHOD => 'delete'}
Bạn cũng có thể thay đổi các thuộc tính phạm vi bảng. Ví dụ, đánh dấu bảng là chỉ đọc hoặc đặt kích thước tệp vùng tối đa là 128 MB:
hbase> alter 'guru99', READONLY hbase> alter 'guru99', MAX_FILESIZE => '134217728'
Vì lệnh `alter` viết lại lược đồ, hãy lên kế hoạch thay đổi cẩn thận trên bảng sản xuất và xác nhận kết quả sau đó bằng lệnh `describe`.
Vô hiệu hóa, Kích hoạt và Xóa bảng HBase
Để xóa một bảng hoặc áp dụng một số thay đổi nhất định, HBase yêu cầu bạn phải vô hiệu hóa bảng đó trước. Việc vô hiệu hóa sẽ đưa bảng vào trạng thái ngoại tuyến, do đó không có máy khách nào có thể đọc hoặc ghi vào bảng đó, điều này giúp đảm bảo an toàn cho các thay đổi cấu trúc.
Vô hiệu hóa một bảng và kiểm tra trạng thái của nó bằng hàm is_disabled:
hbase> disable 'guru99' hbase> is_disabled 'guru99'
Kích hoạt lại bảng để tiếp tục đọc và ghi:
hbase> enable 'guru99'
Bảng phải được vô hiệu hóa trước khi có thể bị xóa. Xóaping Thao tác này xóa vĩnh viễn bảng và tất cả dữ liệu trong đó, vì vậy hãy sử dụng cẩn thận:
hbase> disable 'guru99' hbase> drop 'guru99'
Để xóa nhiều bảng cùng một lúc, lệnh `drop_all` sẽ xóa tất cả các bảng có tên khớp với biểu thức chính quy. Các lệnh `create`, `alter`, `disable`, `enable` và `drop` cùng nhau bao trùm toàn bộ vòng đời của một hệ thống. xử lý dữ liệu trong các bảng HBase.






