Más o menos exactamente dos meses después de la segunda versión preliminar para desarrolladores, me complace anunciar que hemos lanzado la primera (y espero que única) versión beta de Couchbase Spark Connector. Es un gran paso adelante, trayendo Spark 1.4 así como documentación oficial y un montón de pequeñas mejoras. En particular:
- Compatibilidad con Spark 1.4
- Soporte revisado de Spark SQL DataFrame
- API Java
- saveToCouchbase() admite StoreModes
Puedes obtenerlo desde el repositorio Maven de Couchbase:
La documentación ya está disponible oficialmente aquí!
Compatibilidad con Spark 1.4
Spark 1.4 ha sido seleccionada como la versión Spark de destino para la versión 1.0 GA. Como resultado, todas las dependencias de Spark han sido modificadas. Dado que 1.4 trae una nueva API para DataFrames, el Conector también ha modificado su API para integrarse perfectamente en ella.
La API DataFrame ha cambiado para que la fuente subyacente funcione a través de DataFrameReader y DataFrameWriter. Aparte de eso, se siente muy similar a la API anterior.
He aquí un ejemplo de cómo leer datos del cubo de muestras de viajes:
También puedes escribir un DataFrame en couchbase:
API Java
Mucha gente utiliza spark a través de su API Java, así que por supuesto también queremos proporcionar soporte para ello. Dado que la exposición de la API del conector es por diseño muy pequeña, no es necesario convertir mucha API. La API java vive bajo el espacio de nombres com.couchbase.spark.java y se puede utilizar de esta manera:
StoreModes
Anteriormente, el método saveToCouchbase() sólo utilizaba el método upsert subyacente para almacenar sus datos. Dado que puede haber escenarios en los que no quieras (o sólo quieras) anular documentos, se necesita más flexibilidad. Esta es la razón por la que hemos introducido el enum StoreMethod, que soporta los siguientes valores:
- UPSERT: Insertar si no existe y anular si existe.
- INSERTAR_Y_FALLAR: Intenta insertar y falla si existe.
- INSERTAR_E_IGNORAR: Intenta insertar e ignora fallos si existe.
- REPLACE_AND_FAIL: Intenta reemplazar y falla si no existe.
- REPLACE_AND_IGNORE: Intenta reemplazar e ignorar fallos si no existe.
Utilizarlo es muy fácil, lo siguiente falla correctamente puesto que el documento ya existe:
El camino hacia la AG
La versión 1.0.0 GA del conector está prevista para dentro de un mes, lo que nos deja margen para corregir errores y mejorar la documentación. Por favor, ayúdanos a probarlo lo máximo posible para que podamos lanzar una increíble versión GA.