sql >> データベース >  >> RDS >> Mysql

cygnusを使用してMySqlにデータを保存する方法は?

    まず、HDFSとCKANの構成パーツを自由に取り外してください。 Cygnusを実行すると、これらのコンポーネントに関連する不要なログを回避できます。もちろん、シンクとチャネルへのすべての参照を削除することを忘れないでください。具体的には:

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

    第二に、あなたの質問に対する答えはドキュメントにあります:

    テーブル内には、次の2つのオプションがあります。

    • 通常どおり、8フィールドの行を修正しました:recvTimeTs、recvTime、entityId、entityType、attrName、attrType、attrValue、attrMd。これらのテーブル(およびデータベース)は、行の挿入前にテーブルが存在していなかった場合、実行時に作成されます。 attrValueに関しては、最も単純な形式では、この値は単なる文字列ですが、Orion 0.11.0以降、JsonオブジェクトまたはJson配列にすることができます。 attrMdに関しては、Jsonの属性のメタデータ配列の文字列シリアル化が含まれています(属性にメタデータがない場合は、空の配列[]が挿入されます)。
    • 各エンティティの属性ごとに2つの列(1つは値用、もう1つはメタデータ用)、およびデータの受信時間に関する追加列(recv_time)。 この種のテーブル(およびデータベース)は、Cygnusを実行するために事前にプロビジョニングする必要があります 、各エンティティは異なる数の属性を持っている可能性があり、通知では各属性ごとの値が通知されるようにする必要があるためです。

    データの内部表現に関するコネクタの動作は、構成パラメータattr_persistenceによって制御されます。このパラメータの値は、行または列になります。

    書き込みに問題がある可能性があります。最後の段落は"として終了する必要があると思います...値全体は行または列であり、その動作はそれぞれ上記のオプションに対応します "

    つまりカラムモードを使用している場合は、データベースとテーブルを事前にプロビジョニングする必要があります。

    同様の質問 ここで、そのような動作について詳しく説明します。

    HTH!




    1. JSON列の配列の要素をクエリします

    2. TODATETIMEOFFSET()SQLServerの例

    3. MySQLクエリの期間と最大ドロップの値と先行する最大値

    4. Oracle11gのネストされたループ結合