Apache Spark é uma ferramenta de análise de dados que pode ser usada para processar dados de HDFS, S3 ou outras fontes de dados na memória. Neste post, vamos instalar o Apache Spark em um Ubuntu 17.10 maquinas.
Versão Ubuntu
Para este guia, usaremos o Ubuntu versão 17.10 (GNU / Linux 4.13.0-38-x86_64 genérico).
Apache Spark faz parte do ecossistema Hadoop para Big Data. Tente instalar o Apache Hadoop e faça um aplicativo de amostra com ele.
Atualizando pacotes existentes
Para iniciar a instalação do Spark, é necessário que atualizemos nossa máquina com os pacotes de software mais recentes disponíveis. Podemos fazer isso com:
sudo apt-get update && sudo apt-get -y dist-upgradeComo o Spark é baseado em Java, precisamos instalá-lo em nossa máquina. Podemos usar qualquer versão Java acima do Java 6. Aqui, usaremos o Java 8:
sudo apt-get -y install openjdk-8-jdk-headlessBaixando arquivos Spark
Todos os pacotes necessários agora existem em nossa máquina. Estamos prontos para baixar os arquivos Spark TAR necessários para que possamos começar a configurá-los e executar um programa de amostra com o Spark também.
Neste guia, iremos instalar Spark v2.3.0 disponivel aqui:
Página de download do Spark
Baixe os arquivos correspondentes com este comando:
wget http: // www-us.apache.org / dist / spark / spark-2.3.0 / faísca-2.3.0-bin-hadoop2.7.tgzDependendo da velocidade da rede, isso pode levar alguns minutos, pois o arquivo é grande:
Baixando Apache Spark
Agora que baixamos o arquivo TAR, podemos extrair no diretório atual:
tar xvzf spark-2.3.0-bin-hadoop2.7.tgzIsso levará alguns segundos para ser concluído devido ao grande tamanho do arquivo do arquivo:
Arquivos desarquivados no Spark
Quando se trata de atualizar o Apache Spark no futuro, pode criar problemas devido às atualizações do Path. Esses problemas podem ser evitados com a criação de um softlink para o Spark. Execute este comando para fazer um softlink:
ln -s spark-2.3.0-bin-hadoop2.7 faíscaAdicionando Spark ao Caminho
Para executar scripts do Spark, iremos adicioná-lo ao caminho agora. Para fazer isso, abra o arquivo bashrc:
vi ~ /.bashrcAdicione essas linhas ao final do .arquivo bashrc para que esse caminho possa conter o caminho do arquivo executável Spark:
SPARK_HOME = / LinuxHint / sparkexportar PATH = $ SPARK_HOME / bin: $ PATH
Agora, o arquivo se parece com:
Adicionando Spark ao PATH
Para ativar essas alterações, execute o seguinte comando para o arquivo bashrc:
fonte ~ /.bashrcIniciando Spark Shell
Agora, quando estivermos fora do diretório spark, execute o seguinte comando para abrir o shell apark:
./ spark / bin / spark-shellVeremos que o shell do Spark está aberto agora:
Iniciando o Spark shell
Podemos ver no console que o Spark também abriu um console da Web na porta 404. Vamos dar uma visita:
Console da Web Apache Spark
Embora estejamos operando no próprio console, o ambiente da web é um lugar importante para olhar quando você executa trabalhos pesados do Spark para que você saiba o que está acontecendo em cada trabalho do Spark que você executa.
Verifique a versão do shell do Spark com um comando simples:
sc.versãoVoltaremos algo como:
res0: String = 2.3.0Fazendo um exemplo de aplicativo Spark com Scala
Agora, faremos um exemplo de aplicativo Contador de palavras com Apache Spark. Para fazer isso, primeiro carregue um arquivo de texto no contexto do Spark no shell do Spark:
scala> var Data = sc.textFile ("/ root / LinuxHint / spark / README.md ")Dados: org.apache.fagulha.rdd.RDD [String] = / root / LinuxHint / spark / README.md MapPartitionsRDD [1] em textFile em: 24
scala>
Agora, o texto presente no arquivo deve ser dividido em tokens que o Spark pode gerenciar:
scala> var tokens = Dados.flatMap (s => s.dividir(" "))tokens: org.apache.fagulha.rdd.RDD [String] = MapPartitionsRDD [2] em flatMap em: 25
scala>
Agora, inicialize a contagem de cada palavra para 1:
scala> var tokens_1 = tokens.mapa (s => (s, 1))tokens_1: org.apache.fagulha.rdd.RDD [(String, Int)] = MapPartitionsRDD [3] no mapa em: 25
scala>
Finalmente, calcule a frequência de cada palavra do arquivo:
var sum_each = tokens_1.reduzByKey ((a, b) => a + b)É hora de olhar a saída do programa. Colete os tokens e suas respectivas contagens:
scala> sum_each.coletar ()res1: Array [(String, Int)] = Array ((pacote, 1), (For, 3), (Programas, 1), (processamento.,1), (Porque, 1), (O, 1), (página] (http: // faísca.apache.org / documentação.html).,1), (cluster.,1), (its, 1), ([run, 1), (than, 1), (APIs, 1), (have, 1), (Try, 1), (computation, 1), (through, 1) ), (vários, 1), (Este, 2), (gráfico, 1), (Colmeia, 2), (armazenamento, 1), (["Especificando, 1), (Para, 2), (" fio " , 1), (Uma vez, 1), (["Útil, 1), (preferir, 1), (SparkPi, 2), (motor, 1), (versão, 1), (arquivo, 1), (documentação ,, 1), (processamento ,, 1), (o, 24), (são, 1), (sistemas.,1), (params, 1), (not, 1), (diferente, 1), (referir, 2), (Interactive, 2), (R ,, 1), (dado.,1), (if, 4), (build, 4), (when, 1), (be, 2), (Tests, 1), (Apache, 1), (thread, 1), (programs ,, 1 ), (incluindo, 4), (./ bin / run-example, 2), (Spark.,1), (pacote.,1), (1000).contagem (), 1), (Versões, 1), (HDFS, 1), (D ..
scala>
Excelente! Conseguimos rodar um exemplo simples de contador de palavras usando a linguagem de programação Scala com um arquivo de texto já presente no sistema.
Conclusão
Nesta lição, vimos como podemos instalar e começar a usar o Apache Spark no Ubuntu 17.10 máquina e execute um aplicativo de amostra nela também.
Leia mais posts baseados no Ubuntu aqui.