Skip to content

DNET_ApacheNiFiRDBMSProcessor

nishi_74322014 edited this page Sep 11, 2026 · 1 revision

Apache NiFi - RDBMS系のProcessor

概要

Apache NiFiのRDBMS系のProcessor

詳細

参照系

  • ExecuteSQL
  • QueryDatabaseTable

更新系

  • PutSQL
    参照以外の更新系SQLを実行する。

パラメタライズ

パラメタライズするには、

  • NiFi Expression Language(EL)
  • 若しくは、sql.args.N.value, sql.args.N.type

を使用するが、SQL Injection対策には後者が必要。
だた、後者は難しいので、ConvertJSONToSQLを使用して、属性やSQLを確認すると良い。

SQL生成

  • ConvertJSONToSQL
    • JSONとTable間のアダプタのようなもの。

    • ContentにはSQLを設定する。

      DELETE FROM Shippers WHERE ShipperID = ? AND CompanyName = ? AND Phone = ?
      
    • Attributeにはパラメタを設定する。

      {
        "sql.table":"Shippers",
        "sql.args.1.value":"1",
        "sql.args.1.type":"4",
        "sql.args.2.type":"-9",
        "sql.args.2.value":"hoge",
        "sql.args.3.type":"-9",
        "sql.args.3.value":"hogehoge"
      }
      

Avro

レコードの値のデータ・スキーマを定義する。
ExecuteSQLの結果は、Avro形式で入力される。

  • SplitAvro\

    • ConvertAvroToJSON\
      • ConvertAvroToORC\
  • ConvertCSVToAvro\

    • ConvertJSONToAvro\
  • ExtractAvroMetadata\

    • InferAvroSchema\
      • ConvertAvroSchema\

その他

  • ListDatabaseTables\
    • CaptureChangeMySQL\

参考

Hortonworks

SQLFromJSON.xml

移行メモ

  • 元 Wiki で見出しそのものが他ページ・同ページ内へのリンクになっていた箇所は、 GitHub Wiki では見出しからアンカが生成されるため、 見出しをプレーン・テキストとし、リンクは直下の本文に置いた。
  • PukiWiki のページ内アンカ(#xxxxxxxx)は GitHub Wiki では再現できないため、 同一ページ内のアンカは見出しから生成されるアンカに張り替え、 他ページのアンカを指すリンクは「〜(ページ名 の該当節を参照)」の形に置き換えた。
  • 元 Wiki の行頭空白によるプレフォーマット・ブロックは、 フェンス付きコードブロックにした。
  • 元ページに添付されていた SQLFromJSON.xml を、 「DNET_ApacheNiFiRDBMSProcessor_ + 元のファイル名」で配置した。

Tags: 移行, Apache NiFi, Processor, RDBMS, SQL, ExecuteSQL, PutSQL

NetDevInfraWiki

マイクロソフト系技術情報 Wiki
Open 棟梁 Wiki

(未着手)

開発基盤部会 Wiki

移行管理: DONETODO

Clone this wiki locally