Zunächst können Sie die HDFS- und CKAN-Konfigurationsteile entfernen. Sie vermeiden unnötige Protokolle im Zusammenhang mit diesen Komponenten, wenn Sie Cygnus ausführen. Denken Sie natürlich daran, alle Verweise auf Senken und Kanäle zu löschen; speziell:
cygnusagent.sources = http-source
cygnusagent.sinks = mysql-sink
cygnusagent.channels = mysql-channel
...
cygnusagent.sources.http-source.channels = mysql-channel
Zweitens kann die Antwort auf Ihre Frage in der Dokumentation gefunden werden:
In Tabellen finden wir zwei Optionen:
- Reihen mit 8 Feldern wie üblich korrigiert:recvTimeTs, recvTime, entityId, entityType, attrName, attrType, attrValue und attrMd. Diese Tabellen (und die Datenbanken) werden zur Ausführungszeit erstellt, wenn die Tabelle vor dem Zeileneinfügen nicht existiert. In Bezug auf attrValue ist dieser Wert in seiner einfachsten Form nur ein String, aber seit Orion 0.11.0 kann es sich um ein Json-Objekt oder ein Json-Array handeln. In Bezug auf attrMd enthält es eine String-Serialisierung des Metadaten-Arrays für das Attribut in Json (wenn das Attribut keine Metadaten hat, wird ein leeres Array [] eingefügt),
- Zwei Spalten pro Attribut jeder Entität (eine für den Wert und eine für die Metadaten), plus eine zusätzliche Spalte über die Empfangszeit der Daten (recv_time). Diese Art von Tabellen (und die Datenbanken) müssen vor der Ausführung von Cygnus bereitgestellt werden , da jede Entität eine unterschiedliche Anzahl von Attributen haben kann und die Benachrichtigungen sicherstellen müssen, dass ein Wert für jedes Attribut benachrichtigt wird.
Das Verhalten des Konnektors bezüglich der internen Darstellung der Daten wird durch einen Konfigurationsparameter attr_persistence geregelt, dessen Werte Zeile oder Spalte sein können.
Vielleicht gibt es ein Problem mit der Schreibweise, ich denke der letzte Absatz muss enden mit "... ganze Werte können Zeilen oder Spalten sein, und deren Verhalten jeweils den oben beschriebenen Optionen entsprechen " .
D.h. Wenn Sie den Spaltenmodus verwenden, müssen die Datenbank und die Tabellen im Voraus bereitgestellt werden.
Es gibt einen ähnliche Frage wo ich ein solches Verhalten näher erkläre.
HTH!