Spark 2.0.0 – Kecepatan dan Kemudahan dalam Kemasan Simple

Databrick akhirnya mengumumkan release Spark 2.0.0 pada 26 Juli 2016. Dua bulan sebelumnya mereka melansir preview-release untuk memberikan kesempatan para penggunanya bereksperimen dan memberikan feedback mengenai fitur-fitur baru Spark.

Release Spark versi 2.0.0 merupakan momen yang ditunggu-tunggu karena menjanjikan banyak kemajuan di sisi fitur dan performance, dan juga mencakup 2500 patches dari 300 lebih kontributor.

Beberapa hal yang dijanjikan oleh Spark 2.0.0 adalah :

apache spark20 technical preview

Lebih Mudah :

Support ANSI SQL dan API yang disederhanakan. Spark berfokus pada dua hal : a) dukungan ANSI SQL dan b) penyederhanaan API. Beberapa hal yang dilakukan pada sisi programming API adalah: menggabungkan API developer dalam library Spark, seperti misalnya antara DataFrames dan Datasets, serta SQLContext dan HiveContext. API berbasis dataFrame dengan “pipeline” API-nya akan menjadi package utama dari API machine learning. Meskipun library yang lama tetap dipertahankan untuk backward compatibility, fokus di masa depan akan lebih pada pengembangan API berbasis DataFrame. User dapat menyimpan dan me-load pipeline dan model machine learning dalam berbagai bahasa pemrograman yang disupport oleh Spark. Support tambahan untuk R, yaitu : Algoritma terdistribusi untuk Generalized Linear Models (GLM), Naive Bayes, Survival Regression, and K-Means Mendukung UDF (user defined function) untuk dapat dijalankan di level partisi (dapply & gapply) serta tuning hyper-parameter (lapply)

Lebih Cepat :

Peningkatan kecepatan 5 sampai 10 kali daripada Spark 1.6 untuk beberapa operator, sebagai hasil dari project Tungsten Fase 2 yang mencakup whole stage code generation dan optimisasi code Catalyst.

Lebih Cerdas :

Streaming terstruktur, yaitu menggabungkan berbagai macam komponen komputasi Spark yang mendukung komputasi streaming untuk menghasilkan aplikasi yang berkesinambungan. Selama ini pemrosesan streaming sering dinilai sebagai titik lemah dari Spark, dan Spark 2.0.0 bertujuan untuk mengatasi hal ini. Ada beberapa perbaikan yang dilakukan dalam Spark 2.0, di antaranya:

  • Intergrasi streaming API dengan batch job
  • Interaksi transaksional dengan storage system
  • Integrasi dengan komponen komputasi lain melalui Spark SQL, penggabungan dengan data statis, dan library yang sudah menggunakan DataFrame. Target selanjutnya adalah integrasi dengan MLlib dan library-library lain.