Topik ini memberikan contoh untuk menjelaskan cara menghubungkan Apache Nifi ke Hologres.
Informasi latar belakang
Apache NiFi adalah platform pemrosesan dan distribusi data yang andal serta mudah digunakan. Platform ini dirancang untuk memfasilitasi manajemen otomatis aliran data di seluruh sistem. Apache NiFi memiliki antarmuka pengguna berbasis web (UI) yang interaktif dan ramah pengguna. Anda dapat menggunakan Apache NiFi untuk mengelola dan memproses aliran data dalam satu sistem atau di beberapa sistem.
Prasyarat
Instans Hologres telah dibuat. Untuk informasi lebih lanjut, lihat Beli instans Hologres.
Apache NiFi telah diinstal. Untuk informasi lebih lanjut, lihat Cara menginstal dan memulai NiFi.
Impor file JSON lokal ke Hologres
Gambar berikut menunjukkan cara mengimpor file JSON lokal ke Hologres.
Prosesor GetFile: membaca file JSON.
Prosesor ConvertJSONToSQL: menghasilkan pernyataan INSERT berdasarkan data dalam file JSON.
Prosesor PutSQL: mengeksekusi pernyataan INSERT yang dihasilkan untuk mengimpor data dalam file JSON ke database di Hologres.
Buat database dan tabel di Hologres.
Masuk ke instans Hologres Anda dan buat database bernama demo. Untuk informasi lebih lanjut, lihat Buat database.
Buat tabel.
Eksekusi pernyataan berikut untuk membuat tabel tempat data dalam file JSON akan diimpor.
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 lebih lanjut, lihat Ikhtisar Apache NiFi.
Tentukan jalur file JSON.
Pada kolom Nilai yang sesuai dengan properti Input Directory pada tab PROPERTIES, tentukan jalur file JSON. Dalam contoh ini, file JSON bernama user_info.json disimpan di direktori
/opt/nifi/nifi-current/file_sourceserver Apache NiFi. Informasi berikut menunjukkan data dalam file JSON:{ "id": 1, "first_name": "Sig", "last_name": "Olivo", "email": "solivo0@blinklist.com" }Gambar berikut menunjukkan cara menentukan jalur file JSON.

Klik APPLY untuk menyimpan konfigurasi.
Konfigurasikan prosesor ConvertJSONToSQL.
Tambahkan prosesor ConvertJSONToSQL.
Tambahkan layanan kontroler di JDBC Connection Pool. Saat menambahkan layanan tersebut, atur parameter Compatible Controller Services menjadi DBCPConnectionPool 1.16.0 dan parameter Controller Service Name menjadi hologres.

Di sebelah kanan DBCPConnectionPool, klik panah kanan untuk mengonfigurasi string koneksi.
Temukan layanan kontroler DBCPConnectionPool yang Anda tambahkan dan klik ikon Pengaturan di sebelah kanan.

Klik tab PROPERTIES. Pada tab PROPERTIES, atur properti sesuai kebutuhan. Tabel berikut menjelaskan propertinya.

Parameter
Deskripsi
Catatan
URL Koneksi Database
String koneksi JDBC yang Anda gunakan untuk terhubung ke instans Hologres. Format:
jdbc:postgresql://<endpoint>/<nama database>. Contoh:jdbc:postgresql://hgpostcn-cn-xxxxxxxxxxx-cn-shanghai.hologres.aliyuncs.com:80/demo.Endpoint dalam string koneksi harus merupakan endpoint publik atau virtual private cloud (VPC) dari instans Hologres. Untuk mendapatkan endpoint, masuk ke Konsol Hologres dan buka halaman detail instans.
Nama Kelas Driver Database
Nama kelas driver. Atur properti ini menjadi org.postgresql.Driver.
Tidak tersedia
Lokasi Driver Database
Jalur driver JDBC yang Anda gunakan untuk terhubung ke database Hologres. Contoh:
/opt/nifi/nifi-current/jdbc_driver/postgresql-42.3.4.jar.Anda dapat mengunduh driver JDBC dari situs resmi PostgreSQL. Kami merekomendasikan Anda mengunduh driver JDBC versi 42.2.25 atau versi yang lebih baru.
Pengguna Database
ID AccessKey akun Alibaba Cloud Anda.
Anda dapat memperoleh ID AccessKey dari halaman AccessKey.
Kata Sandi
Rahasia AccessKey akun Alibaba Cloud Anda.
Klik OK.
Klik ENABLE untuk memulai layanan kontroler.
Kembali ke halaman tempat Anda mengonfigurasi prosesor ConvertJSONToSQL dan modifikasi parameter. Tabel berikut menjelaskan parameter. Untuk informasi lebih lanjut, lihat Ikhtisar Apache NiFi.
Parameter
Deskripsi
Tipe Pernyataan
Tipe pernyataan. Dalam contoh ini, parameter ini diatur menjadi
INSERT.Nama Tabel
Nama tabel Hologres tempat data dalam file JSON akan diimpor. Dalam contoh ini, nama tabel adalah
user_info.Nama Skema
Nama skema tempat tabel Hologres berada. Dalam contoh ini, nama skema adalah
public.Klik APPLY untuk menyimpan konfigurasi.
Konfigurasikan prosesor PutSQL.
Tambahkan prosesor PutSQL.
Atur parameter JDBC Connection Pool menjadi layanan kontroler DBCPConnectionPool yang Anda tambahkan di langkah 3.ii. Dalam contoh ini, nama layanan kontroler DBCPConnectionPool adalah
hologres.Atur parameter Support Fragmented Transactions menjadi false.
Klik APPLY untuk menyimpan konfigurasi.
Impor data dalam file JSON.
Jalankan prosesor yang Anda konfigurasikan di langkah-langkah sebelumnya. Kemudian, Apache NiFi membaca data dalam file JSON dan mengimpor data tersebut ke Hologres.

Kueri data.
Di Hologres, eksekusi pernyataan berikut untuk menanyakan tabel bernama user_info:
SELECT * FROM user_info;Gambar berikut menunjukkan hasil kueri.
