Instalé Spark en Windows y no puedo iniciar pyspark . Cuando c:\Spark\bin\pyspark , aparece el siguiente error:
Python 3.6.0 |Anaconda personalizado (64 bits)| (predeterminado, 23 de diciembre de 2016, 11:57:41) [MSC v.1900 64 bit (AMD64)] en win32 Escriba "ayuda", "derechos de autor", "créditos" o "licencia" para obtener más información. Rastreo (última llamada más reciente): Archivo "c:\Spark\bin..\python\pyspark\shell.py", línea 30, en import pyspark Archivo "c:\Spark\python\pyspark__init__.py", línea 44 , desde pyspark.context import SparkContext File "c:\Spark\python\pyspark\context.py", línea 36, desde pyspark.java_gateway import launch_gateway File "c:\Spark\python\pyspark\java_gateway.py", línea 31, desde py4j.java_gateway import java_import, JavaGateway, GatewayClient File "", línea 961, en _find_and_load File "", línea 950, en _find_and_load_unlocked File ", línea 646, en _load_unlocked File "", línea 616, en _load_backward_compatible Archivo "c:\Spark\python\lib\py4j-0.10.4-src.zip\py4j\java_gateway.py", línea 18, en Archivo "C:\Users\Eigenaar\Anaconda3\lib\pydoc.py", línea 62, en import pkgutil File "C:\Users\Eigenaar\Anaconda3\lib\pkgutil.py", línea 22, en ModuleInfo = namedtuple('ModuleInfo', 'module_finder name ispkg') File "c:\Spark\python \pyspark\serializers.py", línea 393, en namedtuple cls = _old_namedtuple(*args, **kwargs ) TypeError: namedtuple() faltan 3 argumentos requeridos solo de palabra clave: 'verbose', 'rename' y 'module'
¿Qué estoy haciendo mal aquí?
Spark 2.1.0 no es compatible con Python 3.6.0. Para resolver esto, cambie su versión de python en el entorno de anaconda. Ejecute el siguiente comando en su anaconda env
conda create -n py35 python=3.5 anaconda activate py35Spark <= 2.1.0 no es compatible con Python 3.6. Consulte este problema , que también afirma que esto se solucionará con el próximo lanzamiento de Spark.
Resolví este problema usando un cambio en el script de pythons.
Tengo un lugar debajo del código en el script de python llamado serializers.py, la ubicación es c:\your-installation-dir\spark-2.0.2-bin-hadoop-2.7\python\pyspark\ y debajo de la línea para ser reemplazado en Line número 381.
cls = _old_namedtuple(*args, **kwargs, verbose=False, rename=False, module=None)Y luego ejecute pyspark en su línea de comando, esto funcionará ...