Instalé pyspark con python 3.6 y estoy usando jupyter notebook para inicializar una sesión de chispa.
from pyspark.sql import SparkSession spark = SparkSession.builder.appName("test").enableHieSupport.getOrCreate()que se ejecuta sin errores
pero escribo,
df = spark.range(10) df.show()me tira error -->
Py4JError: An error occurred while calling o54.showString. Trace: py4j.Py4JException: Method showString([class java.lang.Integer, class java.lang.Integer, class java.lang.Boolean]) does not exist at py4j.reflection.ReflectionEngine.getMethod(ReflectionEngine.java:318) at py4j.reflection.ReflectionEngine.getMethod(ReflectionEngine.java:326) at py4j.Gateway.invoke(Gateway.java:272) at py4j.commands.AbstractCommand.invokeMethod(AbstractCommand.java:132) at py4j.commands.CallCommand.execute(CallCommand.java:79) at py4j.GatewayConnection.run(GatewayConnection.java:214) at java.lang.Thread.run(Thread.java:745)No sé por qué me enfrento a este problema.
Si lo hago,
from pyspark import SparkContext sc = SparkContext() print(sc.version) '2.1.0'Ahora estoy feliz porque he tenido exactamente el mismo problema con mi pyspark y encontré "la solución". En mi caso, uso Windows 10. Después de muchas búsquedas en Google, encontré la forma correcta de configurar las variables de entorno requeridas: PYTHONPATH=$SPARK_HOME$\python;$SPARK_HOME$\python\lib\py4j-<version>-src.zip La versión del paquete fuente Py4J cambia entre las versiones de Spark, por lo tanto, verifique lo que tiene en su Spark y cambie el marcador de posición en consecuencia. Para obtener una referencia completa del proceso, consulte este sitio: cómo instalar Spark localmente
Para mí
import findspark findspark.init() import pysparkresuelve el problema
Si está utilizando pyspark en anancoda, agregue el siguiente código para configurar SPARK_HOME antes de ejecutar sus códigos:
import os import sys spark_path = r"spark-2.3.2-bin-hadoop2.7" # spark installed folder os.environ['SPARK_HOME'] = spark_path sys.path.insert(0, spark_path + "/bin") sys.path.insert(0, spark_path + "/python/pyspark/") sys.path.insert(0, spark_path + "/python/lib/pyspark.zip") sys.path.insert(0, spark_path + "/python/lib/py4j-0.10.7-src.zip")