Apakah ada ketergantungan antara Spark dan Hadoop ?
Jika tidak, apakah ada fitur yang akan saya lewatkan saat menjalankan Spark tanpa Hadoop ?
Jawaban:
Spark dapat berjalan tanpa Hadoop tetapi beberapa fungsinya bergantung pada kode Hadoop (mis. Menangani file Parquet). Kami menjalankan Spark di Mesos dan S3 yang agak sulit untuk disiapkan tetapi berfungsi dengan sangat baik setelah selesai (Anda dapat membaca ringkasan tentang apa yang diperlukan untuk mengaturnya dengan benar di sini ).
(Sunting) Catatan: sejak versi 2.3.0 Spark juga menambahkan dukungan asli untuk Kubernetes
Spark adalah mesin komputasi terdistribusi dalam memori.
Hadoop adalah kerangka kerja untuk penyimpanan terdistribusi ( HDFS ) dan pemrosesan terdistribusi ( YARN ).
Spark dapat berjalan dengan atau tanpa komponen Hadoop (HDFS / YARN)
Karena Spark tidak memiliki sistem penyimpanan terdistribusi sendiri, Spark harus bergantung pada salah satu sistem penyimpanan ini untuk komputasi terdistribusi.
S3 - Pekerjaan batch yang tidak mendesak. S3 cocok untuk kasus penggunaan yang sangat spesifik ketika lokalitas data tidak penting.
Cassandra - Sempurna untuk analisis data streaming dan pekerjaan berlebih untuk batch.
HDFS - Sangat cocok untuk pekerjaan batch tanpa mengorbankan lokalitas data.
Anda dapat menjalankan Spark dalam tiga mode berbeda: Standalone, YARN, dan Mesos
Lihat pertanyaan SE di bawah ini untuk penjelasan rinci tentang penyimpanan terdistribusi dan pemrosesan terdistribusi.
Secara default, Spark tidak memiliki mekanisme penyimpanan.
Untuk menyimpan data, dibutuhkan sistem file yang cepat dan skalabel. Anda dapat menggunakan S3 atau HDFS atau sistem file lainnya. Hadoop merupakan pilihan ekonomis karena biaya rendah.
Selain itu, jika Anda menggunakan Tachyon, ini akan meningkatkan kinerja dengan Hadoop. Hadoop sangat direkomendasikan untuk pemrosesan percikan apache .
Ya, percikan bisa berjalan tanpa hadoop. Semua fitur percikan inti akan terus berfungsi, tetapi Anda akan kehilangan hal-hal seperti mendistribusikan semua file Anda (kode serta data) dengan mudah ke semua node di cluster melalui hdfs, dll.
Sesuai dokumentasi Spark, Spark dapat berjalan tanpa Hadoop.
Anda dapat menjalankannya sebagai mode Standalone tanpa pengelola sumber daya apa pun.
Tetapi jika Anda ingin menjalankan pengaturan multi-node , Anda memerlukan pengelola sumber daya seperti YARN atau Mesos dan sistem file terdistribusi seperti HDFS, S3, dll.
Ya, Anda dapat menginstal Spark tanpa Hadoop. Itu akan sedikit rumit. Anda dapat merujuk tautan arnon untuk menggunakan parket untuk dikonfigurasi pada S3 sebagai penyimpanan data. http://arnon.me/2015/08/spark-parquet-s3/
Spark hanya melakukan pemrosesan dan menggunakan memori dinamis untuk melakukan tugasnya, tetapi untuk menyimpan data Anda memerlukan beberapa sistem penyimpanan data. Di sini hadoop berperan dengan Spark, ini menyediakan penyimpanan untuk Spark. Satu lagi alasan untuk menggunakan Hadoop dengan Spark adalah karena keduanya open source dan keduanya dapat berintegrasi dengan mudah dibandingkan dengan sistem penyimpanan data lainnya. Untuk penyimpanan lain seperti S3, Anda harus rumit untuk mengkonfigurasinya seperti yang disebutkan di tautan di atas.
Tetapi Hadoop juga memiliki unit pemrosesan yang disebut Mapreduce.
Ingin tahu perbedaan keduanya?
Periksa artikel ini: https://www.dezyre.com/article/hadoop-mapreduce-vs-apache-spark-who-wins-the-battle/83
Saya pikir artikel ini akan membantu Anda memahami
apa yang harus digunakan,
kapan menggunakan dan
Cara Penggunaan !!!
Ya tentu saja. Spark adalah kerangka komputasi independen. Hadoop adalah sistem penyimpanan distribusi (HDFS) dengan kerangka kerja komputasi MapReduce. Spark bisa mendapatkan data dari HDFS, serta sumber data lainnya seperti database tradisional (JDBC), kafka, atau bahkan disk lokal.
Ya, Spark dapat berjalan dengan atau tanpa instalasi Hadoop untuk lebih jelasnya Anda dapat mengunjungi - https://spark.apache.org/docs/latest/
Ya percikan bisa berjalan tanpa Hadoop. Anda dapat menginstal percikan di mesin lokal Anda tanpa Hadoop. Tetapi perpustakaan Spark hadir dengan perpustakaan pra Haddop yaitu digunakan saat menginstal di mesin lokal Anda.
Tidak. Ini membutuhkan instalasi Hadoop lengkap untuk mulai bekerja - https://issues.apache.org/jira/browse/SPARK-10944
$ ./spark-shell Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/hadoop/fs/FSDataInputStream at org.apache.spark.deploy.SparkSubmitArguments$$anonfun$mergeDefaultSparkProperties$1.apply(SparkSubmitArguments.scala:118) at org.apache.spark.deploy.SparkSubmitArguments$$anonfun$mergeDefault at java.net.URLClassLoader.findClass(URLClassLoader.java:381) at java.lang.ClassLoader.loadClass(ClassLoader.java:424) at java.lang.ClassLoader.loadClass(ClassLoader.java:357) ... 7 more