Mysql
 sql >> Database >  >> RDS >> Mysql

Come archiviare i dati in MySql usando cygnus?

Prima di tutto, sentiti libero di rimuovere le parti di configurazione HDFS e CKAN. Eviterai registri non necessari relativi a tali componenti durante l'esecuzione di Cygnus. Ovviamente, ricordati di eliminare tutti i riferimenti a sink e canali; in particolare:

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

In secondo luogo, la risposta alla tua domanda può essere trovata nella documentazione:

All'interno delle tabelle, possiamo trovare due opzioni:

  • Risolte le righe a 8 campi, come al solito:recvTimeTs, recvTime, entityId, entityType, attrName, attrType, attrValue e attrMd. Queste tabelle (e i database) vengono create in fase di esecuzione se la tabella non esiste prima dell'inserimento della riga. Per quanto riguarda attrValue, nella sua forma più semplice, questo valore è solo una stringa, ma da Orion 0.11.0 può essere un oggetto Json o un array Json. Per quanto riguarda attrMd, contiene una serializzazione di stringa dell'array di metadati per l'attributo in Json (se l'attributo non ha metadati, viene inserito un array vuoto []),
  • Due colonne per ogni attributo di entità (una per il valore e l'altra per i metadati), più una colonna aggiuntiva sull'ora di ricezione dei dati (recv_time). Questo tipo di tabelle (e i database) devono essere preventivamente predisposti all'esecuzione di Cygnus , perché ogni entità può avere un numero diverso di attributi e le notifiche devono garantire che venga notificato un valore per ogni attributo.

Il comportamento del connettore rispetto alla rappresentazione interna dei dati è governato tramite un parametro di configurazione, attr_persistence, i cui valori possono essere riga o colonna.

Forse c'è un problema con la scrittura, penso che l'ultimo paragrafo debba terminare come "... i valori interi possono essere rispettivamente riga o colonna, e il cui comportamento corrisponde rispettivamente alle opzioni sopra descritte " .

Cioè. se stai utilizzando la modalità colonna, è necessario eseguire il provisioning avanzato del database e delle tabelle.

Esiste un domanda simile dove spiego in modo più dettagliato un tale comportamento.

HTH!