sql >> Base de Datos >  >> RDS >> Mysql

¿Cómo almacenar datos en MySql usando cygnus?

En primer lugar, no dude en eliminar las partes de configuración de HDFS y CKAN. Evitará registros innecesarios relacionados con esos componentes cuando ejecute Cygnus. Eso sí, recuerda borrar todas las referencias a sumideros y canales; específicamente:

cygnusagent.sources = http-source
cygnusagent.sinks = mysql-sink
cygnusagent.channels = mysql-channel
...
cygnusagent.sources.http-source.channels = mysql-channel

En segundo lugar, la respuesta a su pregunta se puede encontrar en la documentación:

Dentro de las tablas, podemos encontrar dos opciones:

  • Filas de 8 campos fijos, como de costumbre:recvTimeTs, recvTime, entityId, entityType, attrName, attrType, attrValue y attrMd. Estas tablas (y las bases de datos) se crean en el momento de la ejecución si la tabla no existe antes de la inserción de la fila. Con respecto a attrValue, en su forma más simple, este valor es solo una cadena, pero desde Orion 0.11.0 puede ser un objeto Json o una matriz Json. Con respecto a attrMd, contiene una serialización de cadena de la matriz de metadatos para el atributo en Json (si el atributo no tiene metadatos, se inserta una matriz vacía []),
  • Dos columnas por atributo de cada entidad (una para el valor y otra para los metadatos), más una columna adicional sobre el tiempo de recepción de los datos (recv_time). Este tipo de tablas (y las bases de datos) deben ser provisionadas previamente a la ejecución de Cygnus , porque cada entidad puede tener un número diferente de atributos, y las notificaciones deben garantizar que se notifique un valor por cada atributo.

El comportamiento del conector en cuanto a la representación interna de los datos se rige a través de un parámetro de configuración, attr_persistence, cuyos valores pueden ser fila o columna.

Tal vez haya un problema con la escritura, creo que el último párrafo debe terminar como "... los valores enteros pueden ser fila o columna, y cuyo comportamiento corresponda a las opciones descritas anteriormente, respectivamente " .

Es decir. si está utilizando el modo de columna, entonces la base de datos y las tablas deben aprovisionarse de forma avanzada.

Hay un pregunta similar donde explico con más detalle tal comportamiento.

¡HTH!