「[[.NET 開発基盤部会 Wiki>http://dotnetdevelopmentinfrastructure.osscons.jp]]」は、「[[Open棟梁Project>https://github.com/OpenTouryoProject/]]」,「[[OSSコンソーシアム .NET開発基盤部会>https://www.osscons.jp/dotNetDevelopmentInfrastructure/]]」によって運営されています。 -[[戻る>Apache NiFi - Processor]] *目次 [#t6df51c0] #contents *概要 [#n97a3943] Apache NiFiのRDBMS系のProcessor *詳細 [#f01f8b62] **参照系 [#z1b238a5] -ExecuteSQL -QueryDatabaseTable **更新系 [#e88d7ec2] -PutSQL --参照以外の更新系SQLを実行する。 --[[ConvertJSONToSQL>#sff9e16d]]と組合せて利用可能。 -PutSQL~ 参照以外の更新系SQLを実行する。 **パラメタライズ [#hcfbb4b4] パラメタライズするには、 -NiFi Expression Language(EL) -若しくは、sql.args.N.value, sql.args.N.type を使用するが、SQL Injection対策には後者が必要。~ だた、後者は難しいので、[[ConvertJSONToSQL>#sff9e16d]]を使用して、属性やSQLを確認すると良い。 **SQL生成 [#sff9e16d] -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 [#ge5df7a5] レコードの値のデータ・スキーマを定義する。~ [[ExecuteSQL>#z1b238a5]]の結果は、Avro形式で入力される。 -SplitAvro~ -ConvertAvroToJSON~ -ConvertAvroToORC~ -ConvertCSVToAvro~ -ConvertJSONToAvro~ -ExtractAvroMetadata~ -InferAvroSchema~ -ConvertAvroSchema~ **その他 [#wde56309] -ListDatabaseTables~ -CaptureChangeMySQL~ *参考 [#dcf5b75e] -Apache NiFiでSQLを投げてみる~ https://qiita.com/grachro/items/2933606bf5c276a87572 -Apache nifi ローカルファイル_to_Database - すだちっこのOrdinary Days~ http://kashigeru.hatenablog.com/entry/2016/12/22/162319 -How to create DBCPConnectionPool in Syncfusion Data Integration Platform | Big Data Platform | Syncfusion~ https://www.syncfusion.com/kb/7678/how-to-create-dbcpconnectionpool-in-syncfusion-data-integration-platform **Hortonworks [#q9365c03] -NiFi Processor to Dynamically Create SQL Query From FlowFile or JSon~ https://community.hortonworks.com/questions/110791/nifi-processor-to-dynamically-create-sql-query-fro.html --NiFi example template to execute SQL from JSON.~ https://gist.github.com/ijokarumawak/6d2bbfe48809e036008153f15113ab80 >&ref(SQLFromJSON.xml); -Nifi ExecuteSQL prepared statements to prevent SQL Injection?~ https://community.hortonworks.com/questions/138649/nifi-executesql-prepared-statements-to-prevent-sql.html -Data Inject To Database Through Ni-Fi~ https://community.hortonworks.com/idea/118504/data-inject-to-database-through-ni-fi.html