sql >> Base de Datos >  >> NoSQL >> MongoDB

Cargue datos de chispa en Mongo / Memcached para que los use un servicio web

No puede consultar un RDD directamente de esta manera. Piense en su trabajo de Spark como un procesador de flujo. Lo que puede hacer es enviar el modelo actualizado a alguna "tienda", como una base de datos (con una API personalizada o JDBC), un sistema de archivos o memcached. Incluso podría realizar una llamada de servicio web desde el código de Spark.

Haga lo que haga, tenga cuidado de que el tiempo para procesar cada lote de datos, incluida la E/S, esté muy por debajo del intervalo de tiempo que especifique. De lo contrario, corre el riesgo de cuellos de botella que eventualmente podrían colapsar.

Otra cosa a tener en cuenta es el caso en el que tiene los datos de su modelo en más de una partición RDD distribuida en el clúster (que es el valor predeterminado, por supuesto). Si el orden de sus "registros" no importa, entonces escribirlos en paralelo está bien. Si necesita un pedido total específico escrito secuencialmente (y los datos realmente no son grandes), llame a collect para incorporarlos en una estructura de datos en memoria dentro de su código de controlador (lo que significará tráfico de red en un trabajo distribuido), luego escriba desde allí.