пятница, 19 августа 2016 г.

Apache Spark + Jupyter Notebook

Установка Apache Spark  + Jupyter Notebook в Ubuntu




Этот пост будет полезен всем, кто хочет познакомиться с инструментом анализа больших данных Apache Spark.

Мы рассмотрим установку Apache Spark на локальную машину, а так же научимся использовать Apache Spark в Jupyter Notebook (IPython notebook)

     Установка Apache Spark


    Для установки Apache Spark нужно скачать актуальную версию дистрибутива со страницы проекта.

    Переходим в директорию, куда скачали дистрибутив, распаковываем его (название файла заменить на актуальное, я устанавливал Spark 2.0)

    tar -xzvf spark-2.0.0-bin-hadoop2.7.tgz



    Переименуем директорию и сохраним её в домашний каталог пользователя:


    mv ./spark-2.0.0-bin-hadoop2.7 ~/spark




    Попробуем запустить pySpark:


    [jim@localhost bin]$ ~/spark/bin/pyspark
    Python 2.7.11 (default, Jul  8 2016, 19:45:00) 
    [GCC 5.3.1 20160406 (Red Hat 5.3.1-6)] on linux2
    Type "help", "copyright", "credits" or "license" for more information.
    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).
    Welcome to
          ____              __
         / __/__  ___ _____/ /__
        _\ \/ _ \/ _ `/ __/  '_/
       /__ / .__/\_,_/_/ /_/\_\   version 2.0.0
          /_/
    
    Using Python version 2.7.11 (default, Jul  8 2016 19:45:00)
    SparkSession available as 'spark'.
    >>> 
    


     Создаём связку Apache Spark + Jupyter Notebook


    pySpark - это интерфейс Python для работы со  Spark. Для решения исследовательских задач на Python удобно пользоваться Jupyter Notebook - в ноутбуках удобно проводить воспроизводимые исследования (на github, к тому же, есть возможность предпросмотра выложенных ноутбуков). Поэтому рассмотрим процесс подключения pySpark к Jupyter Notebook

    Добавим Spark в переменные среды, а Python подскажем, где лежат библиотеки pySpark


    nano ~/.bashrc
    


    В конец открывшегося файла добавим следующие строки:


    # Добавляем Spark в переменные среды
    export SPARK_HOME=~/spark
    export PATH=$SPARK_HOME/bin:$PATH
    
    # Добавляем библиотеки Spark в Python
    export PYTHONPATH=$SPARK_HOME/python/:$PYTHONPATH
    export PYTHONPATH=$SPARK_HOME/python/lib/py4j-0.10.0-src.zip:$PYTHONPATH
    


    Внимание! Версия py4j в в конкретном случае может быть другой, вам нужно проверить, какой именно файл лежит в $SPARK_HOME/python/lib/

    Готово! Теперь Python "знает" об установленном Pyspark. Это можно проверить, запустив jupyter

     
    jupyter notebook
    


    В открывшемся окне Jupyter Notebook создадим простой скрипт для проверки работоспособности созданной связки:

    
    from pyspark import SparkContext, SparkConf
    
    conf = SparkConf()
    try:
        sc = SparkContext(conf=conf)
    except ValueError:
        print "Spark already running"
    
    print sc
    

    В результате получаем:

     pyspark .context.sparkcontext="" 0x7f818f763890="" at="" object="" 


    Ура! Spark установлен и готов к использованию. В следующей статье рассмотрим пример практического применения Spark для обработки файлов большого объёма.

      Документация: https://spark.apache.org/docs/0.9.1/python-programming-guide.html

    Комментариев нет:

    Отправить комментарий