Existe alguma dependência entre Spark e Hadoop ?
Se não, há algum recurso que sentirei falta ao executar o Spark sem Hadoop ?
O Spark pode ser executado sem o Hadoop, mas algumas de suas funcionalidades dependem do código do Hadoop (por exemplo, manipulação de arquivos Parquet). Estamos executando o Spark no Mesos e S3, que foi um pouco complicado de configurar, mas funciona muito bem depois de feito (você pode ler um resumo do que é necessário para configurá-lo corretamente aqui ).
(Editar) Observação: desde a versão 2.3.0, o Spark também adicionou suporte nativo para Kubernetes
Spark é um mecanismo de computação distribuída na memória.
Hadoop é uma estrutura para armazenamento distribuído ( HDFS ) e processamento distribuído ( YARN ).
O Spark pode ser executado com ou sem componentes Hadoop (HDFS / YARN)
Como o Spark não tem seu próprio sistema de armazenamento distribuído, ele depende de um desses sistemas de armazenamento para computação distribuída.
S3 - Trabalhos em lote não urgentes. O S3 se encaixa em casos de uso muito específicos quando a localização dos dados não é crítica.
Cassandra - Perfeito para análise de dados de streaming e um exagero para trabalhos em lote.
HDFS - Excelente ajuste para trabalhos em lote sem comprometer a localidade dos dados.
Você pode executar o Spark em três modos diferentes: Standalone, YARN e Mesos
Dê uma olhada na pergunta SE abaixo para obter uma explicação detalhada sobre armazenamento distribuído e processamento distribuído.
Por padrão, o Spark não possui mecanismo de armazenamento.
Para armazenar dados, ele precisa de um sistema de arquivos rápido e escalonável. Você pode usar S3 ou HDFS ou qualquer outro sistema de arquivos. Hadoop é uma opção econômica devido ao baixo custo.
Além disso, se você usar o Tachyon, ele aumentará o desempenho com o Hadoop. É altamente recomendado o Hadoop para o processamento do apache spark .
Sim, o Spark pode funcionar sem hadoop. Todos os principais recursos do Spark continuarão a funcionar, mas você sentirá falta de coisas como distribuir facilmente todos os seus arquivos (código e também dados) para todos os nós no cluster via hdfs, etc.
De acordo com a documentação do Spark, o Spark pode ser executado sem Hadoop.
Você pode executá-lo como um modo independente sem nenhum gerenciador de recursos.
Mas se você deseja executar em uma configuração de vários nós , você precisa de um gerenciador de recursos como YARN ou Mesos e um sistema de arquivos distribuído como HDFS, S3 etc.
Sim, você pode instalar o Spark sem o Hadoop. Isso seria um pouco complicado. Você pode se referir a um link de arnon para usar o parquet para configurar no S3 como armazenamento de dados. http://arnon.me/2015/08/spark-parquet-s3/
O Spark faz apenas processamento e usa memória dinâmica para realizar a tarefa, mas para armazenar os dados você precisa de algum sistema de armazenamento de dados. Aqui, o hadoop entra em ação com o Spark, ele fornece o armazenamento para o Spark. Mais um motivo para usar o Hadoop com o Spark é que eles são de código aberto e ambos podem se integrar facilmente como comparação com outro sistema de armazenamento de dados. Para outro armazenamento como o S3, deve ser complicado configurá-lo como mencionado no link acima.
Mas o Hadoop também tem sua unidade de processamento chamada Mapreduce.
Quer saber a diferença em ambos?
Verifique este artigo: https://www.dezyre.com/article/hadoop-mapreduce-vs-apache-spark-who-wins-the-battle/83
Acho que este artigo vai te ajudar a entender
o que usar,
quando usar e
Como usar !!!
Sim, claro. Spark é uma estrutura de computação independente. Hadoop é um sistema de armazenamento de distribuição (HDFS) com estrutura de computação MapReduce. O Spark pode obter dados do HDFS, bem como de qualquer outra fonte de dados, como banco de dados tradicional (JDBC), kafka ou até disco local.
Sim, o Spark pode ser executado com ou sem a instalação do Hadoop para mais detalhes que você pode visitar - https://spark.apache.org/docs/latest/
Sim, o Spark pode ser executado sem Hadoop. Você pode instalar o Spark em sua máquina local sem Hadoop. Mas Spark lib vem com bibliotecas pré-Haddop, ou seja, são usadas durante a instalação em sua máquina local.
Não. Requer a instalação completa do Hadoop para começar 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