Anda di halaman 1dari 10

INFRASTUKTUR DAN PLATFORM SAINS DATA

TUGAS 1 INGESTION TOOLS

Disusun oleh:

FAHREZA RAYHAN YUDHISTIRA

L200200001

PROGRAM STUDI TEKNIK INFORMATIKA

FAKULTAS KOMUNIKASI DAN INFORMATIKA

UNIVERSITAS MUHAMMADIYAH SURAKARTA

TAHUN 2022/2023
Tools :

1. Apache Kafka
2. Apache NiFi
3. Apache Flume
4. Amazon Kinesis
5. Apache Storm
6. Apache Sqoop
7. Apache Gobblin
8. Google Cloud Data Fusion

Tasks :

1. Menjelaskan arsitektur dari masing-masing tools


2. Menjelaskan workflow atau cara kerja tools dan disertai flowchartnya
3. Menjelaskan implementasi dari tools 
4. Menyebutkan Contoh aplikasi yang menggunakan tools tersebut

Jawaban :

1. Apache Kafka
Apache Kafka memiliki arsitektur yang membutuhkan apache zookeeper untuk
mengatur cluster dari kafka, jadi saat menjalankan kafka kita juga perlu menjalankan
zookeeper.
 Producers = Yang mengirim data pada message broker (Kafka Cluster).
 Consumers = Yang menerima data dari message broker (Kafka Cluster).
 kafka Cluster = Kumpulan dari aplikasi2 kafka.
 Connectors = Integrasi sebuah aplikasi external, contohnya database dmn
database tersebut akan menyimpan datanya di kafka.
 Stream Processors = Mengolah data yang mengalir terus.

Cara kerja apache kafka sama seperti konsep microservices, alih-alih membangun
satu aplikasi besar, kita dapat membagi aplikasi menjadi beberapa bagian dan setiap
bagian memiliki tanggung jawab yang sangat spesifik. Dengan cara ini, bagian-bagian
yang berbeda dapat ditulis dalam bahasa pemrograman yang sepenuhnya independen
juga! Kafka memiliki sistem partisi, replikasi, dan toleransi kesalahan bawaan yang
membuatnya bagus sebagai sistem perantara pesan berskala besar.
Implementasi apache kafka yaitu pada platform streaming terdistribusi dengan
sumber terbuka yang dapat digunakan untuk membangun alur dan aplikasi data streaming
real time. Kafka juga menyediakan fungsi broker pesan yang mirip dengan antrean pesan,
di mana Anda dapat menerbitkan dan berlangganan aliran data yang disebut.
Lightstreamer adalah salah satu contoh Streaming Engine, yang telah
dioptimalisasi untuk mendistribusikan Data Text secara Real time lewat koneksi HTTP
yang berbasis pada paradigma Publish dan subcribe.

2. Apache NiFi
Arsitektur apache NiFi dijalankan dalam Java Virtual Machine (JVM) pada sistem
operasi host. Komponen utama dalam arsitektur NiFi adalah sebagai berikut :
 Web Server. Digunakan untuk mengatur perintah dan kontrol API berbasis HTTP
NiFi.
 Flow Controller. Pengontrol aliran adalah otak dari operasi. Segala pengaturan
aliran data diatur di sini.
 Extension. Salah satu tipe dalam Nifi yang dapat dijalankan dalam lingkungan
kerja JVM.
 FlowFile Repository. Media Nifi untuk melacak state dari FlowFile.
 Content Repository. Isi konten dari FlowFile.
 Provenance Repository. Lokasi data acara diindeks dan dicari.

Cara kerja NiFi yaitu menyediakan sistem untuk memproses dan


mendistribusikan data. Dalam skenario ini, NiFi berjalan dalam konfigurasi berkerumun
di seluruh Azure Virtual Machines dalam satu set skala. Tetapi sebagian besar
rekomendasi artikel ini juga berlaku untuk skenario yang menjalankan NiFi dalam mode
instans tunggal pada satu mesin virtual (VM). Praktik terbaik dalam artikel ini
menunjukkan penyebaran yang dapat diskalakan, sangat tersedia, dan aman.
Salah satu implementasi dari metode NLP adalah analisa sentimen, di mana Anda
mencoba mengekstrak informasi mengenai emosi penulis. Repositori flowfile adalah
implementasi log menulis sederhana di muka dan repositori konten menyediakan
penyimpanan konten berversi yang tidak dapat diubah. Pada gilirannya itu berarti kita
dapat 'menyalin' data hanya dengan menambahkan pointer baru (tidak benar-benar
menyalin byte) atau kita dapat mengubah data hanya dengan membaca dari aslinya dan
menulis versi baru.

3. Apache Flume
Apache Flume memiliki arsitektur berbasis agen, yaitu kode yang ditulis dalam
flume dikenal sebagai agen yang bertanggung jawab untuk mengambil data.
Cara kerja Flume membantu mengumpulkan data dari berbagai sumber, seperti
log, jms, Direktori dll. Beberapa agen flume dapat dikonfigurasi untuk mengumpulkan
volume data yang tinggi. Ini bersisik secara horizontal. Flume bekerja dengan berbagai
jenis sumber data. Flume berfungsi dengan baik dalam streaming sumber data yang
dihasilkan terus menerus dalam lingkungan hadoop seperti file log dari beberapa server.

Implementasi dari apache flume yaitu digunakan untuk mengumpulkan,


mengagregasi, dan memindahkan data log yang besar secara efisien ke dalam HDFS.

4. Amazon Kinesis
Amazon Kinesis memudahkan pengumpulan, pemrosesan, dan penganalisisan
data real-time, yang mengalir sehingga kita dapat mendapatkan pengetahuan tepat waktu
dan bereaksi cepat pada informasi baru. Amazon Kinesis menawarkan kemampuan kunci
untuk secara efektif-biaya memproses data yang mengalir dalam segala skala, bersama
dengan fleksibilitas untuk memilih alat yang paling sesuai dengan keperluan aplikasi.
Dengan Amazon Kinesis, kita dapat mendapatkan data real-time semacam video, audio,
log aplikasi, informasi pemakaian (clickstream) situs web, dan data telemetri IoT untuk
machine learning, analisis, dan aplikasi lain. Amazon Kinesis memungkinkan kita
memproses dan menganalisis data ketika datang dan merespons secara instan alih-alih
menunggu sampai semua data dikumpulkan sebelum proses dapat memulai.
Diagram berikut menggambarkan arsitektur tingkat tinggi Kinesis Data Streams.
Parameterprodusenterus mendorong data ke Kinesis Data Streams,
dankonsumenmemproses data secara waktu nyata. Konsumen (seperti aplikasi kustom
yang berjalan di Amazon EC2 atau aliran pengiriman Amazon Kinesis Data Firehose)
dapat menyimpan hasilnya menggunakanAWSlayanan seperti Amazon DynamoDB,
Amazon Redshift, atau Amazon S3.
Aplikasi Amazon Kinesis Data Streams adalah konsumen dari stream yang
biasanya berjalan pada armada instans EC2. Output dari aplikasi Kinesis Data Streams
dapat masukan untuk aliran lain, memungkinkan Anda untuk membuat topologi
kompleks yang memproses data secara real time. Aplikasi juga dapat mengirim data ke
berbagai lainnyaAWSlayanan.

5. Apache Storm
Arsitektur pada apache storm melibatkan penerimaan dan pemrosesan aliran data
yang tidak terstruktur dan terus diperbarui menggunakan pengontrol kompleks yang
sewenang-wenang dengan kemungkinan membagi di antara berbagai tahapan kalkulasi.
Dalam praktiknya, Storm digunakan di BackType untuk menganalisis refleksi
peristiwa di mikroblog, dengan membandingkan tweet baru dengan cepat dan link yang
digunakan di dalamnya (misalnya, dievaluasi sebagai link eksternal atau iklan Twitter
yang disiarkan oleh peserta lain). Fungsionalitas badai dibandingkan dengan platform
Hadoop, dan perbedaan utamanya adalah bahwa data tidak dimasukkan ke dalam
repositori, tetapi diterima dari luar dan diproses secara real time.
Di Storm, tidak ada lapisan penyimpanan bawaan dan kueri analitik mulai
diterapkan ke data yang masuk hingga dibatalkan (jika Hadoop menggunakan pekerjaan
MapReduce yang membutuhkan waktu terbatas, maka Storm menggunakan gagasan
untuk menjalankan " topologi "terus menerus. Eksekusi penangan dapat didistribusikan
ke beberapa server: Storm secara otomatis memparalelkan pekerjaan dengan thread di
node cluster yang berbeda.
Dalam implementasinya, storm dapat digunakan untuk menganalisis aliran data
secara real time, untuk melakukan tugas pembelajaran mesin, mengatur penghitungan
berkelanjutan, mengimplementasikan RPC, ETL, dll. Sistem mendukung
pengelompokan, lUntuk membuat konfigurasi yang toleran terhadap kesalahan, mode
pemrosesan data yang dijamin, dan memiliki throughput yang cukup tinggi untuk
memproses lebih dari satu juta permintaan per detik pada node cluster.

6. Apache Sqoop
Apache Sqoop memilikik arsitektur yang didasarkan pada konektor. Konektor di
Sqoop tahu cara terhubung dengan berbagai sumber data dan mengambil data yang
sesuai.
Apache Sqoop bekerja dengan cara mentransfer data secara efisien dari aplikasi
penyimpanan non Hadoop seperti database ke-dalam bentuk Hadoop. Sqoop
mempermudah import dan export data dari berbagai macam struktur data seperti Data
relasional, Data Werehouse, Data enterprise dan sistem noSQL, dengan menggunakan
apache sqoop kita dapat mengubah data dari system eksternal kedalam bentuk HDFS,
sqoop juga bekerja sama dengan apache oozie untuk mempermudah penjadwalan sistem
dalam menangani proses sqoop dalam import dan eksport data.
Dalam implementasinya apache aqoop terutama digunakan untuk transfer data
paralel, untuk impor data karena menyalin data dengan cepat di mana Apache Flume
digunakan untuk mengumpulkan dan mengumpulkan data karena sifatnya yang
terdistribusi, dapat diandalkan, dan cadangan yang sangat tersedia.

7. Apache Gobblin
Apache Gobblin adalah kerangka kerja penyerapan data terpadu untuk
mengekstraksi, mengubah, dan memuat sejumlah besar data dari berbagai sumber data.
Itu dapat menyerap data dari sumber data yang berbeda dalam kerangka eksekusi yang
sama dan mengelola metadata dari sumber yang berbeda di tempat.
Gobblin menyediakan enam antarmuka komponen yang berbeda, sehingga mudah
untuk menskalakan dan menyesuaikan pengembangan. Komponennya yaitu :
 Sumber
 Alat pengambilan sari
 Konverter
 Pemeriksa kualitas
 Penulis
 Penerbit
Cara kerja gobblin yaitu dengan menangani tugas rutin umum yang diperlukan
untuk semua ETL penyerapan data, termasuk penjadwalan tugas/tugas, pembagian tugas,
penanganan kesalahan, manajemen status, pemeriksaan kualitas data, penerbitan data, dll.
Gobblin menyerap data dari sumber data yang berbeda dalam kerangka kerja eksekusi
yang sama dan mengelola metadata dari berbagai sumber data di satu tempat. Fitur goblin
yang membuat Gobblin menjadi kerangka kerja penyerapan data yang mudah digunakan,
melayani diri sendiri, dan efisien.

Gobblin menyediakan adaptor siap pakai untuk semua sumber data yang umum
diakses seperti S3, Kafka, Google Analytics, MySQL, dan Salesforce. Gobblin
mendukung platform mandiri dan skalabel, termasuk Yarn dan Hadoop. Benang
Memberikan kemampuan untuk menjalankan konsumsi terus menerus selain batch
terjadwal. Swalayan adalah mode dukungan mandiri sehingga penyerapan data dan alur
transformasi dapat disusun secara swalayan, menguji secara lokal menggunakan mode
mandiri, dan menerapkan alur dalam produksi menggunakan mode scale-out tanpa
perubahan kode.

8. Google Cloud Data Fusion


Cloud Data Fusion oleh Google Cloud adalah produk rekayasa data baru yang
terkelola sepenuhnya dalam Google Cloud Platform. Ini akan membantu pengguna
membangun dan mengelola jalur data ETL/ELT secara efisien. Ini bermaksud untuk
mengalihkan fokus dari kode (di mana insinyur data dapat menghabiskan banyak
hari/minggu membangun konektor dari sumber ke wastafel) ke fokus pada wawasan dan
tindakan. Dibangun di atas CDAP proyek open-source, ini memanfaatkan antarmuka
pengguna yang nyaman untuk membangun saluran data dengan cara seret dan lepas.
Data Fusion menjawab tantangan ini dengan membuatnya sangat mudah untuk
memindahkan data, dengan dua fokus utama:
1) membangun saluran data tanpa menulis kode apa pun: karena Data Fusion
dibangun di atas proyek CDAP sumber terbuka, ia sudah dilengkapi dengan lebih
dari 100 konektor dan terus berkembang. Membangun saluran pipa antara sumber
dan wastafel hanya membutuhkan beberapa klik.
2) Lakukan transformasi tanpa menulis kode apa pun: Data Fusion hadir dengan
serangkaian transformasi bawaan yang dapat Anda terapkan dengan mulus ke data
Anda.

Tangkapan layar berikut menunjukkan antarmuka dengan pipa sederhana. Langkah


pertama adalah konektor ke database mentah, kemudian ada langkah wrangling yang
melakukan beberapa transformasi pada sekumpulan kolom, dan akhirnya data dikirim ke
dua sink: BigQuery untuk tujuan analitik dan Cloud Storage untuk backup data.
Data Fusion menyediakan struktur yang memungkinkan pengguna untuk
menggabungkan banyak teknologi dan produk berbeda yang tersedia di Google Cloud
Platform dengan cara yang jauh lebih mudah, lebih mudah diakses, aman, dan efisien –
seperti yang ditunjukkan pada bagan berikut:

Anda mungkin juga menyukai