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!