Im làm việc trên một dự án mà tôi đã sử dụng HBase.Các dự án là dựa trên java. Tôi cần biết api client hbase tốt nhất cho java là gì.API khách hàng HBase tốt nhất cho java
Trả lời
HBase có ứng dụng khách java riêng trong thư viện lõi. Nó bao gồm tất cả mọi thứ. (Có kết nối là tốt). Nếu bạn cần một máy khách không đồng bộ Bạn có thể kiểm tra asyncbase từ stumbleupon, đó là một khách hàng vững chắc. Nhưng nó hỗ trợ bộ lọc bị hạn chế. (Nó có bộ lọc cơ bản mặc dù, và chúng hoạt động như sự quyến rũ). Nếu bạn đang sử dụng java tôi sẽ không khuyên bạn nên sử dụng thông qua phần còn lại.
Kundera là một công cụ lập bản đồ đối tượng-datastore cho HBase cùng với Cassandra và MongoDB.
Một số tính năng nổi bật là:
- JPA 2.0.
- Lập chỉ mục gia đình cột/cột bằng cách sử dụng lucene.
- Hỗ trợ cho các mối quan hệ thực thể và truy vấn JPA.
- Cross-kho dữ liệu bền bỉ
Nó được lưu trữ ở đây: https://github.com/impetus-opensource/Kundera
Bạn có lưu trữ chỉ số lucene của họ cột/cột trên hdfs không? – debarshi
playOrm là một công cụ java khác mà bạn có thể chú thích các đơn vị của bạn và ngay lập tức được lên và chạy. Nó không phải là JPA phù hợp với mục đích vì nosql là quá khác nhau. Nó có các phương thức như findAll() khi bạn muốn song song các lần đọc của bạn trong nosql.
playOrm thêm JQL nhưng với một twist cho nosql .... Là một ví dụ của twist, bạn có thể phân chia một nghìn tỷ hàng thành 1 tỷ phân vùng và thực hiện JQL vào bất kỳ phân vùng nào và tham gia với các bảng khác. Nó làm cho việc chuyển đổi sang noSql dễ dàng hơn nhiều nếu bạn đến từ thế giới JPA.
Kundera là khách hàng được đề xuất để sử dụng. tác giả là công việc khó khăn cho nó.
HBaseExecutor, trình bao bọc đơn giản của ứng dụng khách HBase Java. So sánh với Trình điều khiển Java HBase bản địa, HBaseExecutor có các tính năng sau:
- Cung cấp API tích hợp/Concise cho hoạt động (CRUD) với thực thể/Chuỗi.
- Trình bao bọc cho các tham số/hoạt động byte để cải thiện khả năng hoạt động.
Đây là một mẫu đơn giản với HBaseExecutor
Account account = createAccount();
// Insert is supported by Model/entity
hbaseExecutor.put("account", toAnyPut(account));
// Get is supported by Model/entity
Account dbAccount = hbaseExecutor.get(Account.class, "account", AnyGet.valueOf(account.getId()));
N.println(dbAccount);
// Delete the inserted account
hbaseExecutor.delete("account", AnyDelete.valueOf(account.getId()));
So với các mẫu với HBase Java client:
Account account = createAccount();
// Insert an account into HBase store
Put put = new Put(Bytes.toBytes(account.getId()));
put.addColumn(Bytes.toBytes("name"), Bytes.toBytes("firstName"), Bytes.toBytes(account.getName().firstName().value()));
put.addColumn(Bytes.toBytes("name"), Bytes.toBytes("lastName"), Bytes.toBytes(account.getName().lastName().value()));
put.addColumn(Bytes.toBytes("contact"), Bytes.toBytes("city"), Bytes.toBytes(account.getContact().city().value()));
put.addColumn(Bytes.toBytes("contact"), Bytes.toBytes("state"), Bytes.toBytes(account.getContact().state().value()));
put.addColumn(Bytes.toBytes("createTime"), Bytes.toBytes(""), Bytes.toBytes(N.stringOf(account.createTime().value())));
hbaseExecutor.put("account", put);
// Get the inserted account from HBase store
Result result = hbaseExecutor.get("account", new Get(Bytes.toBytes(account.getId())));
CellScanner cellScanner = result.cellScanner();
while (cellScanner.advance()) {
final Cell cell = cellScanner.current();
N.println(Bytes.toString(cell.getFamilyArray(), cell.getFamilyOffset(), cell.getFamilyLength()));
N.println(Bytes.toString(cell.getQualifierArray(), cell.getQualifierOffset(), cell.getQualifierLength()));
N.println(Bytes.toString(cell.getValueArray(), cell.getValueOffset(), cell.getValueLength()));
// ... a lot of work to do
}
// Delete the inserted account from HBase store.
hbaseExecutor.delete("account", new Delete(Bytes.toBytes(account.getId())));
(Tuyên bố: Tôi là nhà phát triển của HBaseExecutor)
- 1. thư viện khách hàng java jabber tốt nhất
- 2. Thực tiễn tốt nhất cho khách hàng Duplex WCF
- 3. Java ORM cho HBase
- 4. Triển khai tốt nhất hàng đợi Java?
- 5. angularjs và ASP.NET MVC: chiến lược tốt nhất cho các mô hình khách hàng
- 6. Cách tốt nhất để chấp nhận nhiều khách hàng tcp?
- 7. Thư viện khách hàng XMPP/Jabber python tốt nhất?
- 8. Thư viện HTTP tốt nhất cho Java?
- 9. Thực tiễn tốt nhất cho phân phối doanh nghiệp khách hàng iOS là gì?
- 10. Gọi API Java từ .NET - cách tiếp cận tốt nhất
- 11. Thực tiễn tốt nhất cho API an toàn?
- 12. Amazon API - Khách hàng đánh giá hàng đầu
- 13. Mã định danh duy nhất của php cho khách hàng
- 14. Khuôn khổ Java tốt nhất cho WebSockets phía máy chủ
- 15. Cách tiếp cận tốt nhất cho máy khách WCF
- 16. Thư viện máy khách XMPP tốt nhất cho Node.js
- 17. Ứng dụng khách Subversion tốt nhất cho Windows Vista (64bit)
- 18. Thư viện iCalendar tốt nhất cho Java?
- 19. Thiết kế giản đồ HBase để hỗ trợ tốt nhất các truy vấn cụ thể
- 20. Giải nén phản hồi http GZIP http (sử dụng api khách hàng áo, java)
- 21. Trình kiểm tra chính tả tốt nhất cho Java
- 22. Trình khách XMPP tốt nhất PHP/Javascript
- 23. Cách tốt nhất để xác minh kết nối máy khách với elasticsearch bằng Java?
- 24. Nguồn tốt nhất cho việc học cách tạo các API RESTful trong Java là gì?
- 25. api/thư viện tốt nhất cho Java để sử dụng Cassandra là gì?
- 26. Cách tốt nhất để trao đổi nội dung Xcode cho các dự án dành cho nhiều khách hàng là gì?
- 27. Java Async Http khách hàng so sánh
- 28. Hoạt động cập nhật HBase
- 29. Truy cập HBase chạy trong máy ảo với một khách hàng trên hệ thống máy chủ
- 30. Mạng IRC tốt nhất cho Java (#java) là gì?
Tôi sẽ giả sử rằng bạn đang hỏi về việc liệu bạn có nên viết mã Java trực tiếp hoặc truy cập HBase qua REST hay không. Câu trả lời tùy thuộc vào nhu cầu của ứng dụng của bạn. – kdgregory
tôi muốn hỏi rằng làm thế nào để kết nối với HBase bằng cách sử dụng java. vì vậy phải có một api cho nó. Tôi muốn tải xuống nhưng bây giờ vẫn không thể làm như vậy –
Trang web HBase có hướng dẫn đầy đủ về cách tải xuống và cài đặt HBase. Bắt đầu ở đó: http://hbase.apache.org/book/book.html – kdgregory