Y a-t-il des dépendances entre Spark et Hadoop ?
Sinon, y a-t-il des fonctionnalités qui me manqueront lorsque j'exécuterai Spark sans Hadoop ?
Spark peut fonctionner sans Hadoop mais certaines de ses fonctionnalités reposent sur le code de Hadoop (par exemple la gestion des fichiers Parquet). Nous exécutons Spark sur Mesos et S3, ce qui était un peu difficile à configurer mais fonctionne très bien une fois terminé (vous pouvez lire un résumé de ce qui était nécessaire pour le configurer correctement ici ).
(Modifier) Remarque: depuis la version 2.3.0, Spark a également ajouté un support natif pour Kubernetes
Spark est un moteur de calcul distribué en mémoire.
Hadoop est un framework pour le stockage distribué ( HDFS ) et le traitement distribué ( YARN ).
Spark peut fonctionner avec ou sans composants Hadoop (HDFS / YARN)
Puisque Spark ne possède pas son propre système de stockage distribué, il doit dépendre de l'un de ces systèmes de stockage pour l'informatique distribuée.
S3 - Tâches par lots non urgentes. S3 convient à des cas d'utilisation très spécifiques lorsque la localité des données n'est pas critique.
Cassandra - Parfait pour l'analyse de données en continu et une surdéfinition pour les travaux par lots.
HDFS - Idéal pour les travaux par lots sans compromettre la localisation des données.
Vous pouvez exécuter Spark dans trois modes différents: Standalone, YARN et Mesos
Jetez un œil à la question SE ci-dessous pour une explication détaillée sur le stockage distribué et le traitement distribué.
Par défaut, Spark n'a pas de mécanisme de stockage.
Pour stocker des données, il a besoin d'un système de fichiers rapide et évolutif. Vous pouvez utiliser S3 ou HDFS ou tout autre système de fichiers. Hadoop est une option économique en raison de son faible coût.
De plus, si vous utilisez Tachyon, cela augmentera les performances avec Hadoop. Il est fortement recommandé d'utiliser Hadoop pour le traitement des étincelles Apache .
Oui, l'étincelle peut fonctionner sans hadoop. Toutes les fonctionnalités principales de Spark continueront de fonctionner, mais vous manquerez des choses comme la distribution facile de tous vos fichiers (code ainsi que données) à tous les nœuds du cluster via hdfs, etc.
Selon la documentation Spark, Spark peut fonctionner sans Hadoop.
Vous pouvez l'exécuter en mode autonome sans aucun gestionnaire de ressources.
Mais si vous souhaitez exécuter une configuration multi-nœuds , vous avez besoin d'un gestionnaire de ressources comme YARN ou Mesos et d'un système de fichiers distribué comme HDFS, S3, etc.
Oui, vous pouvez installer le Spark sans Hadoop. Ce serait peu compliqué Vous pouvez vous référer à arnon link pour utiliser parquet à configurer sur S3 comme stockage de données. http://arnon.me/2015/08/spark-parquet-s3/
Spark ne fait que traiter et utilise la mémoire dynamique pour effectuer la tâche, mais pour stocker les données, vous avez besoin d'un système de stockage de données. Ici, hadoop joue un rôle avec Spark, il fournit le stockage pour Spark. Une autre raison d'utiliser Hadoop avec Spark est qu'ils sont open source et que les deux peuvent s'intégrer facilement l'un à l'autre par rapport à un autre système de stockage de données. Pour un autre stockage comme S3, vous devriez être difficile à configurer comme mentionné dans le lien ci-dessus.
Mais Hadoop a également son unité de traitement appelée Mapreduce.
Vous voulez connaître la différence entre les deux?
Consultez cet article: https://www.dezyre.com/article/hadoop-mapreduce-vs-apache-spark-who-wins-the-battle/83
Je pense que cet article vous aidera à comprendre
quoi utiliser,
quand utiliser et
comment utiliser !!!
Oui bien sûr. Spark est un framework de calcul indépendant. Hadoop est un système de stockage de distribution (HDFS) avec le cadre de calcul MapReduce. Spark peut obtenir des données de HDFS, ainsi que de toute autre source de données telle qu'une base de données traditionnelle (JDBC), kafka ou même un disque local.
Oui, Spark peut fonctionner avec ou sans installation Hadoop pour plus de détails que vous pouvez visiter - https://spark.apache.org/docs/latest/
Oui, l'étincelle peut fonctionner sans Hadoop. Vous pouvez installer Spark sur votre machine locale sans Hadoop. Mais Spark lib est livré avec des bibliothèques pré-Haddop c'est-à-dire utilisées lors de l'installation sur votre machine locale.
Non, il faut une installation complète de Hadoop pour commencer à fonctionner - 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