Setelah sebelumnya saya sudah membuat introduction tentang apa itu Oracle Stream Analytic (OSA) dan melakukan Streaming dari media sosial Twitter pada tautan http://blog.nostratech.com/2017/12/oracle-stream-analytic-twitter-stream.html, pada kesempatan kali ini saya akan berbagi bagaimana caranya mengirimkan data hasil dari Streaming yang dilakukan oleh OSA ke dalam Kafka.
Bagi yang belum tahu apa itu Kafka, Kafka adalah sebuah distributed streaming platform dimana salah satu tugasnya adalah sebagai Producer dan Subscriber untuk sebuah messaging system. Dengan kata lain, Kafka mampu untuk menyimpan aliran data yang diberikan oleh OSA dan selanjutnya mampu juga untuk mendistribusikan data tersebut kepada sistem lain. Untuk memahami lebih lanjut, silahkan kunjungi tautan berikut https://kafka.apache.org/.
Untuk dapat mengikuti tutorial ini, beberapa hal harus anda siapkan sebagai syarat untuk dapat melakukannya dengan benar. Pertama, anda harus sudah memiliki Kafka yang sudah aktif Zookeeper dan Servernya. Cara melakukannya anda dapat melihat pada tautan berikut https://kafka.apache.org/quickstart. Saya tidak akan menjelaskan detail bagaimana cara melakukan instalasi Kafka dan diasumsikan Kafka sudah siap dipakai.
Jika Kafka sudah terinstal, hal pertama yang harus anda lakukan adalah membuat Topic pada kafka yang sudah terinstal dengan cara menjalankan command berikut :
bin/kafka-topics.sh --create --zookeeper localhost:2181 --replication-factor 1 --partitions 1 --topic example
Untuk memastikan apakah Topic sudah terbuat atau belum, anda dapat melihatnya menggunakan command berikut :
bin/kafka-topics.sh --list --zookeeper localhost:2181
Dari hasil capture di atas, topic example sudah terbuat dan siap untuk dipakai sebagai Target tempat menyimpan aliran data hasil dari OSA.
Hal kedua yang diperlukan adalah aliran data dari OSA itu sendiri. Jika anda belum membuatnya, silahkan anda melihat tutorial berikut :
http://blog.nostratech.com/2017/12/oracle-stream-analytic-twitter-stream.html
Jika aliran data stream sudah siap, maka hal selanjutnya adalah membuat connection untuk menghubungkan antara OSA dengan Kafka yang sebelumnya sudah kita buat :
Untuk membuat connection, kita harus mendaftarkan connection baru yang bertipe Kafka dan juga mendaftarkan IP dan Port dari Zookeepers dan Kafka Server.
Jika connection sudah siap, maka selanjutnya hal yang harus dibuat adalah Target untuk menentukan aliran data dari OSA akan disimpan di topic yang mana. Karena kita sudah membuat topic bernama "example", maka "example" ini akan menjadi tempat untuk menyimpan aliran data dari OSA. Berikut adalah tata cara membuat Target baru pada OSA :
Target yang dibuat bertipe Kafka dengan connection Kafka yang sudah kita buat sebelumnya yang bernama "kafka" dan topic yang sudah dibuat juga sebelumnya yang bernama "example". Untuk shape, karena pada aliran data berbentuk "Twitter Shape", maka bentuknya pun disamakan. Bentuk ini tergantung dari kebutuhan dan bisa disesuaikan.
Sekarang, kedua aliran data dan juga target Kafka sudah siap diapakai. Hal terakhir adalah dengan menghubungkan kedua entitas tersebut agar sistem dapat berjalan. Hal yang harus dilakukan adalah membuka "exploration" dari aliran data yang sudah ada dan kita set target yang sudah kita buat lalu lakukan publish seperti pada penjelasan berikut :
Sekarang, kedua aliran data dan juga target Kafka sudah siap diapakai. Hal terakhir adalah dengan menghubungkan kedua entitas tersebut agar sistem dapat berjalan. Hal yang harus dilakukan adalah membuka "exploration" dari aliran data yang sudah ada dan kita set target yang sudah kita buat lalu lakukan publish seperti pada penjelasan berikut :
Kafka" dan klik tombol "Save". Jika sudah, klik
tombol "Publish" seperti gambar diatas agar sistem dapat berjalan.
Untuk memastikan apakah OSA mengirimkan lairan data kepada Kafka,
dapat dilihat dengan cara memasukkan command berikut untuk melihat
aliran data yang masuk ke dalam topic "example" :
bin/kafka-console-consumer.sh --bootstrap-server localhost:9092
--topic
example
--from-beginning
No comments:
Post a Comment