Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

[Bug] Erro java no pyspark

Estou enfrentando problemas para executar o pyspark no jupyter notebook no windows 11. Ele retorna um erro, py4JJavaError. Já tentei mudar a versao do java para a 17, mas nada dele funcionar. Estou ficando sem esperança. Alguém sabe se é um problema de versao e , se sim, qual versao do spark, python e java é a recomendada?

2 respostas
solução!

Olá, Rebeca! Tudo bem?

Segui os testes conforme as orientações desta aula: Utilizando Spark no Windows, utilizando as versões Java 1.8, Python 3.10.10 e Spark 3.5.4. Abaixo, deixo o passo a passo, com adaptações para as versões utilizadas.

1. Configuração do Java

As versões mais compatíveis para o Spark são Java 8 (1.8) ou Java 11.

Para verificar a versão instalada no seu sistema, abra o Prompt de Comando e digite:

java -version

Caso precise baixar o JDK correto, acesse o site oficial Oracle JDK e instale o JDK 8 ou JDK 11.

2. Configurar Variáveis de Ambiente para Java

Após a instalação, siga estes passos:

  1. Pesquise por "Variáveis de Ambiente" na barra de pesquisa do Windows e abra.

  2. Na aba Avançado, clique em Variáveis de Ambiente.

  3. Em Variáveis do Sistema, clique em Novo e adicione:

    • Nome: JAVA_HOME

    • Valor: O caminho do JDK instalado. Exemplo:

      C:\Program Files\Java\jdk1.8.0_281

  4. No campo Path, clique em Editar e adicione:

    %JAVA_HOME%\bin

3. Instalação do Python

Para verificar se o Python já está instalado, execute no terminal:

python --version

Caso não esteja, baixe e instale o Python pelo site oficial Download do Python.

Testei a versão 3.10.10 e funcionou corretamente.

4. Instalação do Apache Spark

Baixe o Apache Spark 3.5.4, versão Pre-built for Apache Hadoop 3.3 and later no site oficial Apache Spark Downloads.

Após o download, extraia o conteúdo do arquivo .tgz para uma pasta.

Recomendo criar uma pasta C:\spark e extraia os arquivos do Spark lá.

5. Configuração das Variáveis de Ambiente para Spark

  1. Acesse Variáveis de Ambiente novamente.

  2. Em Variáveis do Sistema, clique em Novo e adicione:

    • Nome: SPARK_HOME
    • Valor: C:\spark-3.5.4-bin-hadoop3
    • Nome: HADOOP_HOME
    • Valor: C:\spark-3.5.4-bin-hadoop3
  3. No campo Path, clique em Editar e adicione separadamente:

    %SPARK_HOME%\bin

    %SPARK_HOME%\sbin

    %HADOOP_HOME%\bin

6. Instalação do FindSpark

O FindSpark ajuda a garantir que o Python encontre o Spark corretamente. Instale-o executando no cmd:

pip install findspark

7. Configuração do Winutils

  1. Baixe a versão compatível do Winutils Link direto para winutils.exe
  2. Crie uma nova pasta chamada "hadoop" dentro da pasta onde o Spark foi extraído.
  3. Dentro da pasta hadoop, crie uma subpasta chamada "bin".
  4. Copie o arquivo winutils.exe para a pasta C:\spark\hadoop\bin.

8. Configuração do Spark no Jupyter Notebook

Agora, vamos configurar o Jupyter Notebook para usar o PySpark.

Abra um novo notebook Jupyter e execute a seguinte célula:

import os
os.environ["SPARK_HOME"] = r"C:\spark-3.5.4-bin-hadoop3"

Substitua o caminho caso tenha extraído os arquivos para outro local

8.2 Inicializar o FindSpark

Em uma nova célula, execute:

import findspark
findspark.init()
8.3 Testar a Instalação do PySpark

Agora, importe o PySpark e crie uma sessão do Spark:

from pyspark.sql import SparkSession

spark = SparkSession.builder.master('local[*]').getOrCreate()

spark

Se o comando acima imprimir Spark Version: 3.5.4, significa que a instalação foi concluída com sucesso!

Reforço que esses passo a passo foi seguindo a orientação da aula acima com os passos do notebook, apenas fazendo adaptações nas versões utilizadas. Então recomendo que você assista para ficar mais claro.

Caso tenha alguma dúvida em determinada etapa, você poderá compartilhar! Fico à disposição!

Abraços!

Após instalar o java 11 e o python 3.10 resolveu. Obrigada!