Im trabajando en un proyecto en el que tengo que usar hbase. El proyecto está basado en Java. Necesito saber cuál es la mejor API de cliente hbase para Java.cuál es la mejor API del cliente HBase para java
Respuesta
HBase tiene su propio cliente Java en la biblioteca central. Cubre casi todo. (También tengo conexión). Si necesita un cliente asíncrono, puede marcar asyncbase desde stumbleupon, que es un cliente sólido. Pero el soporte del filtro es limitado. (Aunque tiene filtros básicos, y funcionan como el encanto). Si está usando java, no recomendaría usarlo mediante reposo.
Kundera es una herramienta de mapeo del datastore de objetos para Hbase junto con Cassandra y MongoDB.
Algunas de las características más destacadas son:
- APP 2.0.
- Columna/columna de indexación de familia con lucene.
- Soporte para relaciones entre entidades y consultas JPA.
- Cruz-almacén de datos de persistencia
se aloja aquí: https://github.com/impetus-opensource/Kundera
¿Almacena el índice lucene de la columna/familia de columnas en hdfs? – debarshi
playOrm es una herramienta java otra donde se puede anotar sus entidades e inmediatamente estar en funcionamiento. NO es compatible con JPA a propósito ya que nosql es demasiado diferente. Tiene métodos como findAll() ya que quiere que sus lecturas sean paralelas en nosql.
playOrm no agrega JQL pero con un giro para nosql ... Como ejemplo del giro, puede dividir un billón de filas en mil millones de particiones y hacer JQL en cualquier partición y unir con otras tablas. Hace una transición a noSql mucho más fácil si vienes del mundo JPA.
Kundera es un cliente recomendado para su uso. el autor trabaja duro para ello.
HBaseExecutor, un contenedor simple del cliente HBase Java. En comparación con el controlador nativo HBase Java, HBaseExecutor abajo Características:
- proporciona APIs compatibles/integrables/concisos para las operaciones CRUD() con entidad/Cadena.
- Contenedores para los parámetros de bytes/operaciones para mejorar la operabilidad.
Este es un ejemplo sencillo con 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()));
En comparación con la muestra con el cliente HBase Java:
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())));
(Declaración: Soy el desarrollador de HBaseExecutor)
- 1. Cliente Hbase Error de ConnectionLoss para/hbase
- 2. ¿Cuál es la mejor API REST de Java?
- 3. API de cliente Java REST para Android
- 4. ¿Cuál es la mejor práctica para C++ Public API?
- 5. ¿Cuál es la mejor alternativa para la serialización de Java?
- 6. ¿Cuál es el mejor cliente SFTP scriptable gratuito para Windows?
- 7. Java ORM para Hbase
- 8. Mejor API de corrección ortográfica para Java
- 9. ¿Cuál es el mejor enfoque para deshabilitar un botón de envío (del lado del cliente)?
- 10. ¿Cuál es la mejor API/biblioteca para que Java use Cassandra?
- 11. ¿Cuál es la mejor fuente para aprender a crear API RESTful en Java?
- 12. ¿Cuál es la mejor pila Java SIP?
- 13. ¿Cuál es el mejor protocolo de comunicación del cliente servidor para Android e iOS?
- 14. ¿Cuál es la mejor manera de verificar la conexión de un cliente a elasticsearch usando Java?
- 15. ¿Cuál es la mejor reescritura de JSON para Java?
- 16. ¿cuál es el mejor alojamiento para la aplicación web java?
- 17. ¿Cuál es la mejor herramienta de instalación para Java?
- 18. ¿Cuál es la mejor biblioteca matemática para usar con Java?
- 19. Java - ¿Cuál es la mejor estructura de implementación para Graph?
- 20. ¿Cuál es la mejor biblioteca de cliente JavaScript XML-RPC?
- 21. ¿Cuál es el propósito del secreto del cliente en OAuth2?
- 22. ¿Cuál es la mejor API de búsqueda de imágenes web?
- 23. ¿Cuál es la mejor biblioteca del navegador del lado del cliente para cargar múltiples archivos a través de http?
- 24. ¿Cuál es el mejor enfoque para la orientación geográfica?
- 25. ¿Cuál es la mejor manera para que un programa Java controle la salud del sistema?
- 26. ¿Cuál es el mejor enfoque para construir un cliente de iPhone para una aplicación de rieles?
- 27. ¿Cuál es la mejor práctica para enviar datos al cliente: POCO o DTO?
- 28. ¿Cuál es su área favorita de la API de Java?
- 29. ¿Cuál es la mejor manera de usar SOAP con Ruby?
- 30. La mejor manera de almacenar datos jerárquicos en hbase
Asumiré que está preguntando si debe escribir código Java directamente o acceder a HBase a través de REST. La respuesta depende de las necesidades de su aplicación. – kdgregory
quiero preguntarle cómo conectarse a hbase usando java. entonces debe haber una API para ello. Quiero descargar eso pero hasta ahora no puedo hacerlo. –
El sitio de HBase tiene instrucciones completas para descargar e instalar HBase. Comience allí: http://hbase.apache.org/book/book.html – kdgregory