Writer & IoT Cloud Architect — Life Long Learner

Apa itu Apache Spark serta mengenal Fungsionalitas dan Kegunaannya

Degananda.com -

apache-spark-logo

Apa itu apache spark?

apache spark adalah sistem yang digunakan untuk melakukan pemrosesan pada big data.

Spark telah digunakan diberbagai macam industri.

ini di karenakan spark telah teruji terkait dengan kemampuan data parallelism serta fault tolerance (kemampuan sistem untuk tetap berjalan normal meskipun terjadi gangguan terhadap salah satu komponen sistem tersebut). Umumnya fault tolerance dapat diraih dengan cara menggunakan dua server. Satu server sebagai sistem utama dan server lainnya sebagai backup (cadangan) ketika terjadi gangguan di server pertama.

Apa itu Data parallelism?

Data parallelism adalah kemampuan suatu sistem untuk mereplikasi suatu data di beberapa server/node komputasi. Data parallelism memungkinkan satu operasi yang sama dilakukan di beberapa subset dalam dataset yang sama dan berada dibeberapa server/node terpisah. sehingga proses pemrosesan big data dapat dilakukan secara cepat.

big data adalah data yang memiliki ukuran sangat besar. Umumnya perlu analisa yang mendalam agar dapat mendapat insight/informasi dari data tersebut.

apache spark menggunakan tiga teknologi dibawah ini agar dapat menunjang proses analisa pada big data

  1. distributed processing system (spark dapat menggunakan satu atau lebih server/node untuk melakukan pemrosesan data secara parallel sehingga mendapatkan performa yang dapat di scale/ditingkatkan)
  2. in memory caching (spark menggunakan RAM serta memanfaatkan caching agar proses pengolahan data lebih cepat).
  3. optimized query execution

Oleh karena itulah spark tidak berjalan pada disk drive melainkan spark berjalan pada RAM(read only memory) untuk agar dapat mencapai performa analytics yang sangat tinggi. 

Fungsi apache spark

terdapat beberapa use case umum yang dapat diselesaikan menggunakan apache spark, diantarannya adalah sebagai berikut :

  1. menjalankan distributed SQL query (untuk proses analisa data streaming)
  2. membuat data pipeline / data ingestion pipeline yang berarti spark dapat membuat jalur pergerakan data dari hulu ke hilir. Misalnya pada azure, data akan masuk dari iothub kemudian akan bermuara pada database cosmosdb dengan bantuan apache spark. Inilah yang dinamakan dengan data ingestion pipeline.
  3. Membuat machine learning (sistem yang mampu belajar seiring dengan berjalannnya waktu dengan dataset yang terbarukan).

Komponen – komponen utama yang ada pada apache spark

komponen - komponen utama pada apache spark.jpg
empat komponen utama penyokong apache spark untuk pemrosesan big data

Terdapat empat komponen utama dalam apache spark yang saling terhubung.

No

Nama Komponen pada apache spark

Kegunaan

1

Spark SQL

komponen spark yang dikhususkan untuk melakukan komputasi atas data yang terstruktur. SQL yang ada pada spark memiliki aturan yang identik dengan SQL yang digunakan pada RDBMS (relational database management system)

2

Spark Streaming

Komponen spark yang digunakan untuk memproses data stream. Data stream adalah data yang secara kontinue masuk ke dalam sistem. Terdapat beberapa sumber data yang dapat diproses oleh spark streaming diantarannya adalah Kafka, flume, HDFS.  Data/informasi hasil olahan tersebut kemudian data di simpan di database, storage (file) atau bahkan dapat langsung ditampilkan pada live dashboard.

3

MLlib (Machine Learning)

Apache spark memiliki library yang dikhususkan untuk machine learning. library ini memiliki berbagai macam koleksi tools/plugin/library yang dapat digunakan untuk proses algoritma klasifikasi, regresi, clustering dan lain sebagainnya (data scientific stuff).

4

GraphX (Graph)

komponen spark ini digunakan untuk melakukan manipulasi data yang berasal dari graph database. Komputasi pada graph database dikenal dengan nama GraphX yang meliputi proses ETL (Extract, transform dan loading), exploratory analysis dan iterative graph.

5

Spark Core

merupakan execution engine yang menjadi backbone atas komponen-komponen lainnya.

Keunggulan apache spark

3 keunggulan apache spark
tiga keunggulan utama dari apache spark
  1. kecepatan pemrosesan data. Ini dikarenakan spark memiliki RDD (resilient distributed dataset) yang memungkinkan spark untuk membaca dan menulis data secara cepat. beberapa sumber mengklaim spark dapat membaca dan menulis data 100 kali lebih cepat dibandingkan dengan apache hadoop.
  2. Fleksible. Dewasa ini terdapat berbagai macam bahasa pemrograman yang ada. Spark menyadari kondisi tersebut sehingga spark mendukung tiga jenis bahasa pemrograman yakni java, python dan scala.
  3. realtime processing – spark dalam memproses data secara realtime (seconds / milisecond).

(Visited 9 times, 1 visits today)

Leave a Reply