Ekstrak Data JSON dengan Talend Open Studio
Posting ini kelanjutan dari unggahan sebelumnya thttprequest-tos . Skema JSON dan XML merupakan format standar yang mudah dibaca dalam proses pembuatan pipeline atau integrasi data. Namun proses ekstrak data kerap kali hanya membutuhkan data-data yang spesifik. Pengalaman seorang pipeline builder akan diuji pada pemilihan data mana yang akan di ekstrak. Setiap format atau skema JSON maupun XML memiliki pola yang berbeda-beda. sebagai contoh data banjir 10 tahun (reiver discharge) yang penulis dapatkan dari situs www.open-meteo.com
{
"latitude": -6.8999977,
"longitude": 109.70001,
"generationtime_ms": 0.42700767517089844,
"utc_offset_seconds": 0,
"timezone": "GMT",
"timezone_abbreviation": "GMT",
"daily_units": {
"time": "iso8601",
"river_discharge": "m³/s"
},
"daily": {
"time": [
"2012-01-01",
"2012-01-02",
"2012-01-03",
"2012-01-04",
"2012-01-05",
...dstnya
Data yang diharapkan ada pada path "time" dan "river_discharge". Prosesnya adalah sebagai berikut:
- Buat proyek baru pada Talend Open Studio (TOS)
- Ikuti langkah-langkah pada postingan thttprequest-tos.
- Ambil file yang telah di download pada langkah kedua.
- Tentukan path JSON yang sesuai dengan pilihan data, yakni "time" dan "river_discharge".
- Pada jendela Designer, tempatkan komponen tFileInputJson dan tLogRow. tFileInputJson berfungsi mengambil file yang telah disimpan dan mengekstrak data. tLogRow difungsikan sebagai visualisasi data ekstrak sebelum di load ke dalam database.
- Klik ganda pada komponen tFileInputJson untuk membuka tab component.
- Pada menu Basic Setting, tentukan kolom data yang dipilih melalui tombol Edit Schema (lingkaran merah).
Ubah nama kolom sesuai dengan skema json, tentukan tipe file (date dan double) dan format tanggal (yyyy-MM-dd). Pilih tombol OK untuk kembali pada tab component. - Tentukan Read By: JsonPath Without Loop. Ini adalah bagian yang perhatian khusus. tidak semua skema json dapat menggunakan Read By JsonPath Without Loop. Anda harus melakukan riset untuk menentukan pilihan Read By yang tepat.
- Karena menggunakan file yang telah diunduh, maka arahkan filename sesuai letak berkas.
- kemudian set mapping untuk kedua kolom dengan isian berikut:
- $.daily.time[*]
- $.daily.river_discharge[*] - Selanjutnya klik kanan pada komponen tFileInputJson, hubungkan dengan komponen tLogRow melalui menu row>main.
- Pilih mode Table untuk tampilan keluaran data.
- keseluruhan disain pipeline seperti gambar berikut.
- Eksekusi disain Anda dengan tombul Run pada tab >>Run, dan akan menghasilkan aliran data seperti dibawah ini.
No comments:
Post a Comment