PostgreSQL
 sql >> Teknologi Basis Data >  >> RDS >> PostgreSQL

Buat tabel Postgresql dari Skema Avro di Nifi

Saya dapat menyarankan ExecuteGroovyScript prosesor di nifi v1.5+

tentukan properti baru SQL.mydb - Anda akan diminta untuk menautkan nilainya ke database (DBCPConnectionPool )

pilih database tempat Anda ingin membuat tabel

dan gunakan skrip ini (anggap skema avro ada di konten file aliran)

import groovy.json.JsonSlurper

def ff = session.get()
if(!ff)return

//parse avro schema from flow file content
def schema = ff.read().withReader("UTF-8"){ new JsonSlurper().parse(it) }

//define type mapping
def typeMap = [
    "string"            : "varchar(255)",
    "long"              : "numeric(10)",
    [ "null", "string" ]: "varchar(255)",
    [ "null", "long" ]  : "numeric(10)",
]

assert schema.name && schema.name=~/^\w.*/

//build create table statement
def createTable = "create table ${schema.name} (" +
    schema.fields.collect{ "\n  ${it.name.padRight(39)} ${typeMap[it.type]}" }.join(',') +
    "\n)"

//execute statement through the custom defined property
//SQL.mydb references http://docs.groovy-lang.org/2.4.10/html/api/groovy/sql/Sql.html object
SQL.mydb.execute(createTable as String) //important to cast to String

//transfer flow file to success
REL_SUCCESS << ff



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Ikhtisar Pemrograman Sisi Server di PostgreSQL

  2. Capistrano dengan PostgreSQL, kesalahan:database sedang diakses oleh pengguna lain

  3. Tidak dapat terhubung ke PostgreSQL lokal

  4. Menghubungkan ke GCP Cloud SQL dari App Engine dalam project terpisah

  5. Masukkan NULL ke dalam DB PostgreSQL melalui PHP ketika bidang tanggal kosong