sql >> Database >  >> RDS >> Mysql

Hoe gegevens op te slaan in MySql met cygnus?

Allereerst, voel je vrij om de HDFS- en CKAN-configuratieonderdelen te verwijderen. U vermijdt onnodige logboeken met betrekking tot die componenten wanneer u Cygnus draait. Vergeet natuurlijk niet om alle verwijzingen naar sinks en kanalen te verwijderen; specifiek:

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

Ten tweede is het antwoord op uw vraag te vinden in de documentatie:

Binnen tabellen kunnen we twee opties vinden:

  • Vaste rijen met 8 velden, zoals gewoonlijk:recvTimeTs, recvTime, EntityId, EntityType, attrName, attrType, attrValue en attrMd. Deze tabellen (en de databases) worden gemaakt tijdens de uitvoering als de tabel nog niet bestaat voordat de rij wordt ingevoegd. Wat betreft attrValue, in zijn eenvoudigste vorm, is deze waarde slechts een tekenreeks, maar sinds Orion 0.11.0 kan het een Json-object of een Json-array zijn. Wat attrMd betreft, het bevat een string-serialisatie van de metadata-array voor het attribuut in Json (als het attribuut geen metadata heeft, wordt een lege array [] ingevoegd),
  • Twee kolommen per attribuut van elke entiteit (een voor de waarde en een andere voor de metadata), plus een extra kolom over de ontvangsttijd van de data (recv_time). Dit soort tabellen (en de databases) moeten eerder worden ingericht voor de uitvoering van Cygnus , omdat elke entiteit een ander aantal kenmerken kan hebben, en de meldingen moeten ervoor zorgen dat voor elk kenmerk een waarde wordt gemeld.

Het gedrag van de connector met betrekking tot de interne representatie van de gegevens wordt bepaald door een configuratieparameter, attr_persistence, waarvan de waarden rij of kolom kunnen zijn.

Misschien is er een probleem met het schrijven, ik denk dat de laatste alinea moet eindigen als "... hele waarden kunnen rij of kolom zijn, en waarvan het gedrag overeenkomt met de hierboven beschreven opties, respectievelijk " .

D.w.z. als u de kolommodus gebruikt, moeten de database en de tabellen geavanceerd worden ingericht.

Er is een soortgelijke vraag waar ik een dergelijk gedrag in meer detail uitleg.

HTH!




  1. Lege database in MySQL en PHP?

  2. converteer datumstring naar mysql datetime-veld

  3. PolyScale.ai – MySQL en PostgreSQL schalen met wereldwijde caching

  4. mysql-query om het aantal per groep en het totale aantal te krijgen