Topik ini menjelaskan cara menghubungkan Apache NiFi ke Hologres melalui contoh.
Informasi latar belakang
Apache NiFi adalah sistem yang mudah digunakan dan andal untuk pemrosesan serta distribusi data. Sistem ini mengotomatiskan manajemen alur data antar sistem dan menyediakan antarmuka pengguna berbasis web dengan interaktivitas serta kegunaan tinggi, memungkinkan manajemen dan pemrosesan alur data baik lintas maupun di dalam sistem.
Prasyarat
-
Aktifkan Hologres. Untuk informasi selengkapnya, lihat Beli instans Hologres.
-
Instal Apache NiFi. Untuk informasi selengkapnya, lihat How to install and start NiFi.
Tulis file JSON lokal ke Hologres
Gambar berikut menunjukkan alur kerja untuk menulis file JSON lokal ke Hologres.
-
GetFile: membaca file dalam format JSON.
-
ConvertJSONToSQL: mengonversi elemen dari JSON menjadi pernyataan SQL INSERT.
-
PutSQL: mengeksekusi pernyataan SQL yang dihasilkan oleh prosesor sebelumnya dan memasukkan elemen JSON ke dalam database.
-
Buat database dan tabel
-
Masuk ke instans Hologres Anda dan buat database bernama demo. Untuk informasi selengkapnya, lihat Buat database.
-
Buat tabel data.
Jalankan pernyataan SQL berikut untuk membuat tabel. Anda akan menulis data ke tabel ini nanti.
DROP TABLE IF EXISTS user_info; CREATE TABLE IF NOT EXISTS user_info ( id int, first_name text, last_name text, email text );
-
-
Konfigurasikan prosesor GetFile
-
Tambahkan prosesor GetFile.
Untuk informasi selengkapnya, lihat Adding a Processor.
-
Masukkan path ke file JSON.
Pada bidang Input Directory di tab PROPERTIES, masukkan path tempat file JSON disimpan. Misalnya, jika Anda menyimpan file JSON di
/opt/nifi/nifi-current/file_sourcepada server Apache NiFi dan memberinya nama user_info.json, isi file tersebut terlihat seperti berikut:{ "id": 1, "first_name": "Sig", "last_name": "Olivo", "email": "solivo0@blinklist.com" }Gambar berikut menunjukkan contoh konfigurasi.

-
Klik APPLY untuk menyimpan konfigurasi.
-
-
Konfigurasikan prosesor ConvertJSONToSQL
-
Tambahkan prosesor ConvertJSONToSQL.
-
Pada JDBC Connection Pool, tambahkan layanan. Atur Compatible Controller Services ke DBCPConnectionPool dan atur Controller Service Name ke hologres.

-
Klik tombol panah ke kanan di ujung kanan baris JDBC Connection Pool untuk mengonfigurasi string koneksi.
-
Temukan DBCPConnectionPool yang baru saja Anda buat dan klik tombol pengaturan.

-
Konfigurasikan parameter berikut pada tab PROPERTIES di halaman Pengaturan.

Parameter Name
Description
Notes
Database Connection URL
String koneksi JDBC untuk instans Hologres Anda menggunakan format berikut:
jdbc:postgresql://<endpoint>/<database name>. Contoh:jdbc:postgresql://hgpostcn-cn-xxxxxxxxxxx-cn-shanghai.hologres.aliyuncs.com:80/demo.Gunakan endpoint jaringan publik atau VPC. Untuk mendapatkan endpoint, buka halaman detail instans di Hologres Management Console.
Database Driver Class Name
org.postgresql.Driver
Not applicable
Database Driver Location(s)
Path ke driver JDBC PostgreSQL. Contoh:
/opt/nifi/nifi-current/jdbc_driver/postgresql-42.3.4.jar.Unduh driver JDBC dari website resmi PostgreSQL. Kami merekomendasikan menggunakan versi 42.2.25 atau yang lebih baru.
Database User
ID AccessKey Akun Alibaba Cloud Anda.
Untuk mendapatkan ID AccessKey Anda, buka AccessKey Management.
Password
Rahasia AccessKey akun Anda.
-
Klik OK untuk menyelesaikan konfigurasi.
-
Klik ENABLE untuk menjalankan layanan.
-
Kembali ke prosesor ConvertJSONToSQL dan konfigurasikan parameter berikut. Untuk informasi selengkapnya, lihat dokumentasi resmi.
Parameter Name
Description
Statement Type
Jenis pernyataan SQL yang akan dieksekusi. Pada contoh ini, gunakan
INSERT.Table Name
Nama tabel tempat data akan ditulis. Pada contoh ini, gunakan
user_info.Schema Name
Nama skema dari tabel tujuan. Pada contoh ini, gunakan
public. -
Klik APPLY untuk menyelesaikan konfigurasi.
-
-
Konfigurasikan prosesor PutSQL
-
Tambahkan prosesor PutSQL.
-
Atur JDBC Connection Pool ke DBCPConnectionPool yang telah Anda konfigurasi pada langkah sebelumnya. Pada contoh ini, nama DBCPConnectionPool adalah
hologres. -
Atur Support Fragmented Transactions ke false.
-
Klik APPLY untuk menyelesaikan konfigurasi.
-
-
Mulai menulis data
Anda telah menyelesaikan semua konfigurasi. Atur semua node ke status Berjalan. NiFi akan mulai membaca file JSON dan menulis data ke Hologres.

-
Kueri data
Jalankan perintah berikut di Hologres untuk mengkueri tabel user_info dan melihat data yang telah dimasukkan.
SELECT * FROM user_info;Hasil kueri muncul sebagai berikut.
