¿Existe alguna dependencia entre Spark y Hadoop ?
Si no es así, ¿hay alguna función que me pierda cuando ejecuto Spark sin Hadoop ?
Respuestas:
Spark puede ejecutarse sin Hadoop, pero algunas de sus funcionalidades se basan en el código de Hadoop (por ejemplo, manejo de archivos Parquet). Estamos ejecutando Spark en Mesos y S3, que fue un poco complicado de configurar, pero funciona muy bien una vez hecho (puede leer un resumen de lo que se necesita para configurarlo correctamente aquí ).
(Editar) Nota: desde la versión 2.3.0, Spark también agregó soporte nativo para Kubernetes
Spark es un motor informático distribuido en memoria.
Hadoop es un marco para almacenamiento distribuido ( HDFS ) y procesamiento distribuido ( YARN ).
Spark puede ejecutarse con o sin componentes de Hadoop (HDFS / YARN)
Dado que Spark no tiene su propio sistema de almacenamiento distribuido, tiene que depender de uno de estos sistemas de almacenamiento para la computación distribuida.
S3 - Trabajos por lotes no urgentes. S3 se adapta a casos de uso muy específicos cuando la ubicación de los datos no es crítica.
Cassandra : perfecta para el análisis de datos en tiempo real y una exageración para los trabajos por lotes.
HDFS : ideal para trabajos por lotes sin comprometer la ubicación de los datos.
Puede ejecutar Spark en tres modos diferentes: Independiente, YARN y Mesos
Eche un vistazo a la pregunta SE a continuación para obtener una explicación detallada sobre el almacenamiento distribuido y el procesamiento distribuido.
De forma predeterminada, Spark no tiene mecanismo de almacenamiento.
Para almacenar datos, necesita un sistema de archivos rápido y escalable. Puede utilizar S3 o HDFS o cualquier otro sistema de archivos. Hadoop es una opción económica debido a su bajo costo.
Además, si usa Tachyon, aumentará el rendimiento con Hadoop. Es Hadoop altamente recomendado para el procesamiento de chispas de apache .
Sí, la chispa puede funcionar sin hadoop. Todas las funciones principales de Spark seguirán funcionando, pero se perderán cosas como distribuir fácilmente todos sus archivos (código y datos) a todos los nodos del clúster a través de hdfs, etc.
Según la documentación de Spark, Spark se puede ejecutar sin Hadoop.
Puede ejecutarlo como modo independiente sin ningún administrador de recursos.
Pero si desea ejecutar una configuración de múltiples nodos , necesita un administrador de recursos como YARN o Mesos y un sistema de archivos distribuido como HDFS, S3, etc.
Sí, puede instalar Spark sin Hadoop. Eso sería un poco complicado. Puede hacer referencia a arnon link para usar parquet para configurar en S3 como almacenamiento de datos. http://arnon.me/2015/08/spark-parquet-s3/
Spark solo procesa y usa memoria dinámica para realizar la tarea, pero para almacenar los datos necesita algún sistema de almacenamiento de datos. Aquí hadoop entra en juego con Spark, proporciona el almacenamiento para Spark. Una razón más para usar Hadoop con Spark es que son de código abierto y ambos pueden integrarse entre sí fácilmente en comparación con otros sistemas de almacenamiento de datos. Para otro almacenamiento como S3, debería ser complicado configurarlo como se menciona en el enlace anterior.
Pero Hadoop también tiene su unidad de procesamiento llamada Mapreduce.
¿Quieres saber la diferencia en ambos?
Consulte este artículo: https://www.dezyre.com/article/hadoop-mapreduce-vs-apache-spark-who-wins-the-battle/83
Creo que este artículo te ayudará a entender
que usar,
cuando usar y
cómo utilizar !!!
Sí, por supuesto. Spark es un marco de cálculo independiente. Hadoop es un sistema de almacenamiento de distribución (HDFS) con marco de cálculo MapReduce. Spark puede obtener datos de HDFS, así como de cualquier otra fuente de datos, como una base de datos tradicional (JDBC), kafka o incluso un disco local.
Sí, Spark puede ejecutarse con o sin la instalación de Hadoop. Para obtener más detalles, puede visitar: https://spark.apache.org/docs/latest/
Sí, la chispa puede funcionar sin Hadoop. Puede instalar Spark en su máquina local sin Hadoop. Pero Spark lib viene con bibliotecas pre Haddop, es decir, se utilizan durante la instalación en su máquina local.
No. Requiere una instalación completa de Hadoop para comenzar a funcionar: 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