Installer Spark sur son PC sans machine virtuelle, ni instance Cloud

Vous avez des difficultés dans l'installation de Spark sur votre PC ? Faites-nous le savoir ici, et nous répondrons on-live.

  • Tsafack ymele Andreas dit :

    S’il vous plaît quel est le domaine

    • Juvénal JVC dit :

      Bonjour Andréas,
      je ne suis pas sûr de comprendre ta question 🙁
      Peux-tu la re-préciser stp ?

      Juvénal

  • MANIRAKIZA Idi Sosthène dit :

    Bonjour,
    j’ai essayé de suivre votre hyper présentation et vous en remercie. J’ai eu cependant un soucis à fin malgré la presque installation de spark. Voilà le script:

    C:WINDOWSsystem32>C:Sparkspark-3.0.3-bin-hadoop2.7binspark-shell
    21/12/28 17:17:11 WARN NativeCodeLoader: Unable to load native-hadoop library for your platform… using builtin-java classes where applicable
    Using Spark’s default log4j profile: org/apache/spark/log4j-defaults.properties
    Setting default log level to « WARN ».
    To adjust logging level use sc.setLogLevel(newLevel). For SparkR, use setLogLevel(newLevel).
    Spark context Web UI available at http://192.168.1.11:4040
    Spark context available as ‘sc’ (master = local[*], app id = local-1640708245570).
    Spark session available as ‘spark’.
    21/12/28 17:17:40 WARN ProcfsMetricsGetter: Exception when trying to compute pagesize, as a result reporting of ProcessTree metrics is stopped.
    Welcome to
    ____ __
    / __/__ ___ _____/ /__
    _ / _ / _ `/ __/ ‘_/
    /___/ .__/_,_/_/ /_/_ version 3.0.3
    /_/

    Using Scala version 2.12.10 (Java HotSpot(TM) 64-Bit Server VM, Java 1.8.0_311)
    Type in expressions to have them evaluated.
    Type :help for more information.

    (1) j’ai regardé sur le net la solution que l’on propose mais mon erreur reste:  » 21/12/28 17:17:40 WARN ProcfsMetricsGetter: Exception when trying to compute pagesize, as a result reporting of ProcessTree metrics is stopped. »

    (2)
    et je n’arrive pas à visualiser le contenu par exemple:
    spark.
    org.apache.spark.Sp.
    org.apache.spark.SparkContext

    • Juvénal JVC dit :

      Bonjour Sosthène,
      Tu as installé la mauvaise combinaison de versions.
      1- tu es parti sur la version la plus récente de Spark, la 3.0.3, alors que je recommande la V2.2 ou V2.4 pour les débutants
      2 – tu utilise la mauvaise version du JDK pour cette version de Spark. JDK 1.8.
      3 – la version de Scala, la v2.12 n’est également pas adaptée, ni pour la version de Spark, ni pour la JVM.
      Donc c’est normal que tu ais ces erreurs. Corriges-les, en faisant exactement ce que je fais et appliquant exactement ce que je dis dans le tuto et cela corrigera tes erreurs.

      Cordialement,
      Juvénal

      • MANIRAKIZA Idi Sosthène dit :

        Ok, merci. je vais bien recommencer avec avec la version 2.4.
        Je viendrai vers vous si c’est parfait.

      • MANIRAKIZA Idi Sosthène dit :

        Bonjour,
        Bien cher expert,

        Je finis cette année 2021 avec ouuff de joie à la suite de votre coaching. J’avais du mal à comprendre ce qui m’arrivait avec mon installation spark. En suivant vos orientations, mon spark est finalement stable. J’avais pris une version de spark très récente (v3.0.3) ……avec toutes les incompatibilités (java &scala).
        Alors du fond de mon coeur recevez mes sentiments de gratitude et de remerciement.
        Votre frère
        Sosthène

        • Juvénal JVC dit :

          Good ! Bien joué Sosthène !
          Je t’en prie.
          Cordialement,
          Juvénal

          • MANIRAKIZA Idi Sosthène dit :

            Hello, c’est pas fini. Maintenant, bien que j’ai correctement installé spark- je n’arrive pas à travailler avec mon jupyter notebook/import pyspark!!!. Normalement, il faut créer un environnement selon la version de python- ici 3.5.4.
            Voilà l’erreur:
            —————————————————————————
            TypeError Traceback (most recent call last)
            C:WINDOWSTEMP/ipykernel_9412/3729946101.py in
            —-> 1 import pyspark

            C:Sparkspark-2.4.5-bin-hadoop2.7pythonpyspark__init__.py in
            49
            50 from pyspark.conf import SparkConf
            —> 51 from pyspark.context import SparkContext
            52 from pyspark.rdd import RDD, RDDBarrier
            53 from pyspark.files import SparkFiles

            C:Sparkspark-2.4.5-bin-hadoop2.7pythonpysparkcontext.py in
            29 from py4j.protocol import Py4JError
            30
            —> 31 from pyspark import accumulators
            32 from pyspark.accumulators import Accumulator
            33 from pyspark.broadcast import Broadcast, BroadcastPickleRegistry

            C:Sparkspark-2.4.5-bin-hadoop2.7pythonpysparkaccumulators.py in
            95 import socketserver as SocketServer
            96 import threading
            —> 97 from pyspark.serializers import read_int, PickleSerializer
            98
            99

            C:Sparkspark-2.4.5-bin-hadoop2.7pythonpysparkserializers.py in
            70 xrange = range
            71
            —> 72 from pyspark import cloudpickle
            73 from pyspark.util import _exception_message
            74

            C:Sparkspark-2.4.5-bin-hadoop2.7pythonpysparkcloudpickle.py in
            143
            144
            –> 145 _cell_set_template_code = _make_cell_set_template_code()
            146
            147

            C:Sparkspark-2.4.5-bin-hadoop2.7pythonpysparkcloudpickle.py in _make_cell_set_template_code()
            124 )
            125 else:
            –> 126 return types.CodeType(
            127 co.co_argcount,
            128 co.co_kwonlyargcount,

            TypeError: an integer is required (got type bytes)

          • Juvénal JVC dit :

            Bonjour Sosthène,
            La version 3.5.4 n’est pas compatible avec la version 2.4 de l’API PySPark.
            Pour plus de détails sur PySpark, veuillez consulter l’article suivant : https://www.data-transitionnumerique.com/pyspark/

            Juvénal

  • MANIRAKIZA Idi Sosthène dit :

    Bonsoir,
    j’ai essayé d’avancer dans le paramétrage afin de fixer le jupyter notebook. import pyspark (ok),
    from pyspark import SparkContext, SparkConf (ok)
    from pyspark.sql import SparkSession (ok)

    mais je n’arrive de créer la session spark (voir l’exemple et les détails de l’erreur en bas), curieusement avant je travaillais avec spark!!!!

    j’ai suivi ces paramétrages d’environnement:
    ************************************************************************************************************
    LOCAL_PYSPARK = c:sparkspark-2.2.0-bin-hadoop2.7
    PYSPARK_DRIVER_PYTHON = jupyter-notebook
    PYSPARK_PYTHON = c:Python35_x64python
    PYSPARK_SUBMIT_ARGS = « –name » « PySparkShell » « pyspark-shell »
    SPARK_CMD = set PYSPARK_SUBMIT_ARGS= »–name » « PySparkShell » « pyspark-shell » && jupyter-notebook
    SPARK_ENV_LOADED = 1
    SPARK_HIVE = true
    SPARK_HOME = c:sparkspark-2.2.0-bin-hadoop2.7bin..
    SPARK_JARS_DIR = « c:sparkspark-2.2.0-bin-hadoop2.7bin..jars »
    SPARK_SCALA_VERSION = 2.10
    _SPARK_CMD_USAGE = Usage: binpyspark.cmd [options]
    ************************************************************************************************************
    —————————————————————————
    RuntimeError Traceback (most recent call last)
    C:WINDOWSTEMP/ipykernel_5968/2512211107.py in
    —-> 1 spark = SparkSession.builder.getOrCreate()
    2 df = spark.sql(« select ‘spark’ as hello « )
    3 df.show()

    C:Anaconda3envsRAnacondalibsite-packagespysparksqlsession.py in getOrCreate(self)
    226 sparkConf.set(key, value)
    227 # This SparkContext may be an existing one.
    –> 228 sc = SparkContext.getOrCreate(sparkConf)
    229 # Do not update `SparkConf` for existing `SparkContext`, as it’s shared
    230 # by all sessions.

    C:Anaconda3envsRAnacondalibsite-packagespysparkcontext.py in getOrCreate(cls, conf)
    390 with SparkContext._lock:
    391 if SparkContext._active_spark_context is None:
    –> 392 SparkContext(conf=conf or SparkConf())
    393 return SparkContext._active_spark_context
    394

    C:Anaconda3envsRAnacondalibsite-packagespysparkcontext.py in __init__(self, master, appName, sparkHome, pyFiles, environment, batchSize, serializer, conf, gateway, jsc, profiler_cls)
    142  » is not allowed as it is a security risk. »)
    143
    –> 144 SparkContext._ensure_initialized(self, gateway=gateway, conf=conf)
    145 try:
    146 self._do_init(master, appName, sparkHome, pyFiles, environment, batchSize, serializer,

    C:Anaconda3envsRAnacondalibsite-packagespysparkcontext.py in _ensure_initialized(cls, instance, gateway, conf)
    337 with SparkContext._lock:
    338 if not SparkContext._gateway:
    –> 339 SparkContext._gateway = gateway or launch_gateway(conf)
    340 SparkContext._jvm = SparkContext._gateway.jvm
    341

    C:Anaconda3envsRAnacondalibsite-packagespysparkjava_gateway.py in launch_gateway(conf, popen_kwargs)
    106
    107 if not os.path.isfile(conn_info_file):
    –> 108 raise RuntimeError(« Java gateway process exited before sending its port number »)
    109
    110 with open(conn_info_file, « rb ») as info:

    RuntimeError: Java gateway process exited before sending its port number

    • Juvénal JVC dit :

      La version de Python n’est pas bonne. Il y’a une incompatibilité entre Python et PySpark

  • Aboubakari dit :

    Bonjour Juvenal. Jai suivitoutes les etapes d’installation et lorsque je me connecte à l’invite de commande en mode admin, je lance spark et ça ne marche pas.
    Le message d’erreur est ‘le chemin d’acces du fichier est introuvable’

    • Juvénal JVC dit :

      Bonjour Aboubakari,
      cette erreur signifie que Spark n’arrive pas à détecter le chemin du JDK.
      Vérifie que le JDK de la version correspondant à la version Spark que tu as installé est bien installé sur ton système. Vérifie également que la variable d’environnement du JDK pointe vers le bon répertoire.

      Normalement, avec ça, ton erreur devrait être corrigée.

      Cordialement,

      Juvénal

      • Aboubakari dit :

        Merci Juvenal pour la promptitude.

        Mon problème persiste.Jai même changer de pc et repris le process.

        • Aboubakari dit :

          Merci Juvenal.
          J’ai pu trouver la solution en faisant quelques recherches.
          J’ai dû ajouter la ligne suivante dans la partie modifier au niveau des variables d’environnement :
          %JAVA_HOME%bin

          et hope j’ai mon spark qui demarre à merveille 😎

          • Juvénal JVC dit :

            Good !! Comme je te l’avais dit, c’était un problème du JDK. Tu n’avais pas correctement rentré l’adresse du JDK, du coup Spark n’arrivait pas à le trouver pour démarrer une JVM.

            En tout cas, bonne continuation, et n’hésites pas si tu as d’autres difficultés.

            Cordialement,

            Juvénal