Talend - Sistem File Terdistribusi Hadoop
Dalam bab ini, mari kita pelajari secara detail tentang cara kerja Talend dengan sistem file terdistribusi Hadoop.
Pengaturan dan Prasyarat
Sebelum kita melanjutkan ke Talend dengan HDFS, kita harus belajar tentang pengaturan dan prasyarat yang harus dipenuhi untuk tujuan ini.
Di sini kita menjalankan quickstart Cloudera 5.10 VM pada kotak virtual. Jaringan Khusus Host harus digunakan di VM ini.
IP Jaringan Hanya Host: 192.168.56.101
Anda juga harus memiliki host yang sama yang berjalan di pengelola cloudera.
Sekarang di sistem windows Anda, buka c: \ Windows \ System32 \ Drivers \ etc \ hosts dan edit file ini menggunakan Notepad seperti yang ditunjukkan di bawah ini.
Demikian pula, pada VM cloudera quickstart Anda, edit file / etc / hosts seperti yang ditunjukkan di bawah ini.
sudo gedit /etc/hosts
Menyiapkan Koneksi Hadoop
Di panel repositori, buka Metadata. Klik kanan Hadoop Cluster dan buat cluster baru. Beri nama, tujuan dan deskripsi untuk koneksi cluster Hadoop ini.
Klik Next.
Pilih distribusi sebagai cloudera dan pilih versi yang Anda gunakan. Pilih opsi ambil konfigurasi dan klik Berikutnya.
Masukkan kredensial manajer (URI dengan port, nama pengguna, kata sandi) seperti yang ditunjukkan di bawah ini dan klik Hubungkan. Jika detailnya benar, Anda akan mendapatkan Cloudera QuickStart pada cluster yang ditemukan.
Klik Ambil. Ini akan mengambil semua koneksi dan konfigurasi untuk HDFS, YARN, HBASE, HIVE.
Pilih Semua dan klik Selesai.
Perhatikan bahwa semua parameter koneksi akan terisi otomatis. Sebutkan cloudera di nama pengguna dan klik Selesai.
Dengan ini, Anda berhasil terhubung ke Cluster Hadoop.
Menghubungkan ke HDFS
Dalam pekerjaan ini, kami akan membuat daftar semua direktori dan file yang ada di HDFS.
Pertama, kami akan membuat pekerjaan dan kemudian menambahkan komponen HDFS ke dalamnya. Klik kanan pada Desain Pekerjaan dan buat pekerjaan baru - hadoopjob.
Sekarang tambahkan 2 komponen dari palet - tHDFSConnection dan tHDFSList. Klik kanan tHDFSConnection dan hubungkan 2 komponen ini menggunakan pemicu 'OnSubJobOk'.
Sekarang, konfigurasikan kedua komponen talend hdfs.
Di tHDFSConnection, pilih Repository as the Property Type dan pilih cluster cloudera Hadoop yang Anda buat sebelumnya. Ini akan otomatis mengisi semua detail yang diperlukan untuk komponen ini.
Di tHDFSList, pilih "Gunakan koneksi yang ada" dan di daftar komponen pilih tHDFSConnection yang Anda konfigurasikan.
Berikan opsi home path HDFS in HDFS Directory dan klik tombol browse di sebelah kanan.
Jika Anda telah membuat koneksi dengan benar dengan konfigurasi yang disebutkan di atas, Anda akan melihat jendela seperti yang ditunjukkan di bawah ini. Ini akan mencantumkan semua direktori dan file yang ada di rumah HDFS.
Anda dapat memverifikasi ini dengan memeriksa HDFS Anda di cloudera.
Membaca file dari HDFS
Di bagian ini, mari kita pahami cara membaca file dari HDFS di Talend. Anda dapat membuat pekerjaan baru untuk tujuan ini, namun di sini kami menggunakan yang sudah ada.
Drag and Drop 3 komponen - tHDFSConnection, tHDFSInput dan tLogRow dari palet ke jendela desainer.
Klik kanan tHDFSConnection dan hubungkan komponen tHDFSInput menggunakan pemicu 'OnSubJobOk'.
Klik kanan tHDFSInput dan seret tautan utama ke tLogRow.
Perhatikan bahwa tHDFSConnection akan memiliki konfigurasi yang sama seperti sebelumnya. Di tHDFSInput, pilih "Gunakan koneksi yang ada" dan dari daftar komponen, pilih tHDFSConnection.
Di File Name, berikan path HDFS dari file yang ingin Anda baca. Di sini kita membaca file teks sederhana, jadi Jenis File kita adalah File Teks. Demikian pula, tergantung pada input Anda, isi pemisah baris, pemisah bidang, dan detail header seperti yang disebutkan di bawah ini. Terakhir, klik tombol Edit skema.
Karena file kami hanya memiliki teks biasa, kami hanya menambahkan satu kolom tipe String. Sekarang, klik Ok.
Note - Jika masukan Anda memiliki beberapa kolom dengan tipe berbeda, Anda perlu menyebutkan skema yang sesuai di sini.
Di komponen tLogRow, klik Sinkronkan kolom dalam skema edit.
Pilih mode di mana Anda ingin hasil Anda dicetak.
Terakhir, klik Jalankan untuk menjalankan pekerjaan.
Setelah Anda berhasil membaca file HDFS, Anda dapat melihat output berikut.
Menulis File ke HDFS
Mari kita lihat cara menulis file dari HDFS di Talend. Drag and Drop 3 komponen - tHDFSConnection, tFileInputDelimited dan tHDFSOutput dari palet ke jendela desainer.
Klik kanan pada tHDFSConnection dan hubungkan komponen tFileInputDelimited menggunakan pemicu 'OnSubJobOk'.
Klik kanan pada tFileInputDelimited dan seret tautan utama ke tHDFSOutput.
Perhatikan bahwa tHDFSConnection akan memiliki konfigurasi yang sama seperti sebelumnya.
Sekarang, di tFileInputDelimited, berikan jalur file input dalam opsi Nama file / Aliran. Di sini kami menggunakan file csv sebagai input, oleh karena itu pemisah bidangnya adalah ",".
Pilih header, footer, batas sesuai dengan file masukan Anda. Perhatikan bahwa di sini tajuk kami adalah 1 karena baris 1 berisi nama kolom dan batasnya adalah 3 karena kami hanya menulis 3 baris pertama ke HDFS.
Sekarang, klik edit skema.
Sekarang, sesuai file masukan kami, tentukan skema. File input kami memiliki 3 kolom seperti yang disebutkan di bawah ini.
Di komponen tHDFSOutput, klik sinkronkan kolom. Kemudian, pilih tHDFSConnection di Gunakan koneksi yang sudah ada. Juga, di Nama file, berikan jalur HDFS di mana Anda ingin menulis file Anda.
Perhatikan bahwa jenis file adalah file teks, Tindakan akan "buat", Pemisah baris akan menjadi "\ n" dan pemisah bidang adalah ";"
Terakhir, klik Jalankan untuk menjalankan pekerjaan Anda. Setelah pekerjaan berhasil dijalankan, periksa apakah file Anda ada di HDFS.
Jalankan perintah hdfs berikut dengan jalur keluaran yang telah Anda sebutkan dalam pekerjaan Anda.
hdfs dfs -cat /input/talendwrite
Anda akan melihat output berikut jika Anda berhasil menulis di HDFS.