Lima hal yang perlu Anda ketahui tentang Hadoop v. Apache Spark

Dengarkan setiap percakapan tentang big data, dan Anda mungkin akan mendengar menyebutkan Hadoop atau Apache Spark. Berikut sekilas tentang apa yang mereka lakukan dan bagaimana perbandingannya.

1: Mereka melakukan hal yang berbeda. Hadoop dan Apache Spark adalah kerangka kerja data besar, tetapi keduanya tidak memiliki tujuan yang sama. Hadoop pada dasarnya adalah infrastruktur data terdistribusi: Hadoop mendistribusikan koleksi data besar-besaran di beberapa node dalam sekelompok server komoditas, yang berarti Anda tidak perlu membeli dan memelihara perangkat keras khusus yang mahal. Itu juga mengindeks dan melacak data itu, memungkinkan pemrosesan dan analitik data besar jauh lebih efektif daripada sebelumnya. Spark, di sisi lain, adalah alat pemrosesan data yang beroperasi pada kumpulan data terdistribusi tersebut; itu tidak melakukan penyimpanan terdistribusi.

2: Anda dapat menggunakan salah satu tanpa yang lain. Hadoop tidak hanya menyertakan komponen penyimpanan, yang dikenal sebagai Sistem File Terdistribusi Hadoop, tetapi juga komponen pemrosesan yang disebut MapReduce, jadi Anda tidak memerlukan Spark untuk menyelesaikan pemrosesan Anda. Sebaliknya, Anda juga bisa menggunakan Spark tanpa Hadoop. Spark tidak datang dengan sistem manajemen filenya sendiri, jadi itu perlu diintegrasikan dengan satu - jika bukan HDFS, maka platform data berbasis cloud lainnya. Spark dirancang untuk Hadoop, namun, banyak yang setuju bahwa keduanya lebih baik jika digabungkan.

3: Spark lebih cepat.Spark umumnya jauh lebih cepat daripada MapReduce karena caranya memproses data. Saat MapReduce beroperasi dalam beberapa langkah, Spark beroperasi pada seluruh kumpulan data dalam satu gerakan. "Alur kerja MapReduce terlihat seperti ini: membaca data dari cluster, melakukan operasi, menulis hasil ke cluster, membaca data yang diperbarui dari cluster, melakukan operasi berikutnya, menulis hasil selanjutnya ke cluster, dll.," Jelas Kirk Borne, ilmuwan data utama di Booz Allen Hamilton. Spark, di sisi lain, menyelesaikan operasi analitik data penuh dalam memori dan hampir secara real-time: "Membaca data dari cluster, melakukan semua operasi analitik yang diperlukan, menulis hasil ke cluster, selesai," kata Borne. Spark bisa 10 kali lebih cepat daripada MapReduce untuk pemrosesan batch dan hingga 100 kali lebih cepat untuk analitik dalam memori, katanya.

4: Anda mungkin tidak membutuhkan kecepatan Spark. Gaya pemrosesan MapReduce bisa baik-baik saja jika operasi data dan persyaratan pelaporan Anda sebagian besar statis dan Anda dapat menunggu pemrosesan mode batch. Tetapi jika Anda perlu melakukan analitik pada data streaming, seperti dari sensor di lantai pabrik, atau memiliki aplikasi yang memerlukan banyak operasi, Anda mungkin ingin menggunakan Spark. Sebagian besar algoritme pembelajaran mesin, misalnya, memerlukan banyak operasi. Aplikasi umum untuk Spark mencakup kampanye pemasaran waktu nyata, rekomendasi produk online, analitik keamanan siber, dan pemantauan log mesin.

5: Pemulihan kegagalan: berbeda, tapi tetap bagus. Hadoop secara alami tahan terhadap kesalahan atau kegagalan sistem karena data ditulis ke disk setelah setiap operasi, tetapi Spark memiliki ketahanan bawaan yang serupa berdasarkan fakta bahwa objek datanya disimpan dalam sesuatu yang disebut kumpulan data terdistribusi tangguh yang didistribusikan di seluruh kluster data. "Objek data ini dapat disimpan dalam memori atau pada disk, dan RDD menyediakan pemulihan penuh dari kesalahan atau kegagalan," jelas Borne.