Showing posts with label Talend OS. Show all posts
Showing posts with label Talend OS. Show all posts

Tuesday, 21 February 2023

Ekstrak Data JSON dengan Talend Open Studio

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:

  1. Buat proyek baru pada Talend Open Studio (TOS)
  2. Ikuti langkah-langkah pada postingan thttprequest-tos.
  3. Ambil file yang telah di download pada langkah kedua.
  4. Tentukan path JSON yang sesuai dengan pilihan data, yakni "time" dan "river_discharge".
Langkah-langkahnya 
  1. 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.
  2. Klik ganda pada komponen tFileInputJson untuk membuka tab component.
  3. 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.
  4. 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.
  5. Karena menggunakan file yang telah diunduh, maka arahkan filename sesuai letak berkas.
  6. kemudian set mapping untuk kedua kolom dengan isian berikut:
    - $.daily.time[*]
    - $.daily.river_discharge[*]
  7. Selanjutnya klik kanan pada komponen tFileInputJson, hubungkan dengan komponen tLogRow melalui menu row>main.
  8. Pilih mode Table untuk tampilan keluaran data.



  9. keseluruhan disain pipeline seperti gambar berikut.



  10. Eksekusi disain Anda dengan tombul Run pada tab >>Run, dan akan menghasilkan aliran data seperti dibawah ini.



Selamat mencoba dan tinggalkan komentar Anda untuk postingan ini.

#talendopenstudio
#dataintegration
#etl
#pipelinebuilder

Thursday, 9 February 2023

tHttpRequest - Talend Open Studio

 Komponen tHttpRequest pada Talend Open Studio

tHttpRequest adalah komponen magic yang saya sukai pada Talend Open Studio (TOS). Nama komponen tersebut sudah menandakan fungsinya, yaitu melakukan permintaan perintah HTTP baik POST maupun GET.

Banyak petunjuk penggunaan atau tutorial dalam metode ektrak, transfer dan load menggunakan file CSV. Itu mungkin cara yang singkat untuk menulis sebuah tutorial. Kenyataan dalam sebuah sistem adalah "Bisa tidak ambil langsung dari sumbernya?". Khususnya kita warga +62 yang sangat menyukai otomasi. Jika anda sampaikan pada klien bahwa diperlukan admin untuk unduh file, kemudian unggah kembali ke dalam sistem. Maka 99% sistem akan mangkrak setelah serah terima.

Web service atau API adalah urutan perintah permintaan http yang sangat memudahkan dalam proses pengumpulan data. Kita sangat sering berinteraksi dengan web service dalam dunia ektrak, transfer dan load (ETL). Komponen tHttpRequest menjadi favorit saya guna mengambil data secara online untuk membangun pipeline ETL. 

Mudahnya silahkan buka TOS anda, buat repository project dan buat job baru pada menu Job Design. Anda akan dihadapkan dengan kanvas kosong untuk disain pipeline. Pilih tHttpRequest pada palete komponen, kemudian letakkan pada kanvas Anda.


Double klik pada komponen tHttpRequest akan membuka tab Component di jendela bawah kanvas. Atribut pertama adalah properti, yaitu skema dari struktur JSON file sumber. Karena tugasnya hanya untuk unduh file maka atribut properti tidak ada pilihannya. Jika Anda sunting skema, maka kolom yang tersedia adalah "ResponContent" dengan karakter string.

Selanjutnya adalah atribut URI, saya gunakan alamat dari BMKG, yaitu https://peta-maritim.bmkg.go.id/public_api/overview/gelombang.json. Pilih metode GET untuk ambil data json dari alamat tersebut.

Melihat hasil permintaan http dapat dilakukan dengan menambah komponen tLogRow. Hubungkan kedua komponen dengan koneksi Row > Main, klik kanan pada komponen tHttpRequest. Buka Tab Run Job dan eksekusi tombol <Run>, akan menampilkan isi data. Dapat dilihat pada gambar dibawah ini.


Selamat, Anda berhasil mengambil data dalam format JSON. Jika anda hendak menyimpan berkas, aktifkan pilihan <Write respon content to file> pada tab componen tHttpRequest. Masukkan alamat direktori yang sesuai.
Catatan : file json tujuan harus dibuat terlebih dahulu pada direktori tujuan.

Terima Kasih, silahkan beri komentar pada postingan ini

#TOS #talendopenstudio #dataintegration #etl
 

Friday, 3 February 2023

Metada Pada Talend Open Studio

 Metadata Pada Talend Open Studio


Sebagai lanjutan dari posting sebelumnya terkait topik metadata. Kali ini Penulis akan berikan contoh aplikatif pada perangkat Talend Open Studio (TOS). Talend Open Studio merupakan aplikasi integrasi data yang dikeluarkan oleh Talend Inc - silahkan googling untuk keterangan yang lengkap. 

Menu METADATA dapat ditemukan pada bagian blok <Repository>. TOS memberikan pilihan yang mewah atas jenis metadata, mulai dari flat file, spreadsheet, database bahkan sampai ke Azure dan Salesforce. Umumnya saya menggunakan Metadata untuk jenis data XML dan JSON. 

Klik kanan pada jenis data json, akan keluar pilihan Create Json Schema. selanjutnya Anda akan diminta memasukan keterangan metadata yang akan dibuat. Mulai dari Nama, tujuan, deskripsi, versi dan status metadata (development. testing, production). Lokasi file keluaran telah ditentukan secara tetap oleh TOS.

Selanjutnya Anda akan diminta menentukan model untuk membuat koneksi metadata Json, pilihannya adalah input atau output. Saya pilih input karena prosedurnya adalah mengambil data dari file Json.

Langkah selanjutnya menambah file metadata kedalam repository. Anda akan diminta untuk membuat pengaturan file. Tentukan metode read xpath atau jsonpath (xpath umumnya untuk file XML). Tambahkan file Json serta jenis encodingnya. Saya gunakan standar UTF-8 dengan limit 0. Akan tampil skema Json di bagan bawah formulir.

TRIKS : gunakan json path finder untuk menentukan titik looping. www.jsonpathfinder.com

Tahap berikutnya adalah  menentukan pengaturan parse atau ekstrak file Json. Langkah ke -4 ini akan memvisualkan data yang akan di peroleh dari ekstrak file Json. Anda akan diminta menentukan path loop dan field-field apa yang harus di ekstrak serta penamaan dari field tersebut. Keseluruhan proses langkah 4 dilakukan secara drag & drop, sebuh sistem yang cerdas dari TOS. 

Setelah sukses melalui seluruh langkah satu sampai empat. Anda akan tiba pada bagian akhir pembuatan metada pada aplikasi TOS. Langkah ke 5 ini, meminta Anda untuk menentukan deskripsi dari tiap-tiap field, yakni:

1. Key

2. Type

3. Nullable

4. Date Pattern 

5. Length

6. Precision 

7. Default 

8. Comment

Melalui nama-nama pengaturan deskripsi pada daftar diatas sudah dapat kita bayangkan seperti apa isinya. Ini adalah bagian terpenting dari proses metadata yang akan dibawa sampai proses loading data ke dalam database.

Setelah semua proses diyakini benar, Anda dapat menekan tombol <Finish> dan metafile akan tersimpan pada repository TOS. 

#talend #talendopenstudio


JURUS PEMBELAH DATA

Tulisan berikut ini adalah perjalanan penulis membuka data dari sisi pandang data scientist Pemahaman Bisnis Judul: Stroke Prediction Datase...