Ubuntu с установленным Pyspark 2.4.7.
263
В данном проекте решена задача по развертыванию на Докере образ Ubuntu с установленным Pyspark 2.4.7. В результате вы получите готовую среду для запуска скриптов Python для Spark.
Ссылка на репозиторий:
[https://github.com/lod2007/pyspark]
Ссылка на Docker conteiner:
[https://hub.docker.com/r/lod2007/pyspark]
Версии программ:
Для установки на Linux Mint можно воспользоваться инструкцией. Предварительно вы должны скачать и установить у себя Docker Engine и Docker Compose.
sudo apt-get -y install apt-transport-https ca-certificates curl software-properties-common
Импортитруем PGP-ключи
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
Добавляем нужный репозиторий
sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(. /etc/os-release; echo "$UBUNTU_CODENAME") stable"
Обновляем списки репозиториев:
sudo apt-get update
Устанавливаем Docker
sudo apt-get -y install docker-ce docker-compose
После установки добавляем нашего текущего пользователя в группу docker
sudo usermod -aG docker $USER
Проверяем, что Docker установился. Для этого запустим Hello-world:
docker run hello-world
Для получения копии этого проекта необходимо клонировать проект к себе на машину командой:
$git clone https://github.com/lod2007/pyspark.git your_project
В проекте уже созданы каталоги:
В командной строке перейдите в каталог с проектом и запустите файл docker-compose.yml следующей командой (запуск контейнера в фоновом режиме):
docker-compose up -d
Посмотреть запущенные контейнеры можно командой:
docker ps
Чтобы остановить контенер, нужно из каталога проекта (где находитьс docker-compose.yml) выполнить команду:
docker-compose down
В проекте уже есть пример скрипта для запуска в Spark
/work/hello.py
Из командной строки выполните команду:
docker exec -it pyspark spark-submit /work/hello.py
результат:
root
|-- city: string (nullable = true)
|-- state: string (nullable = true)
|-- name: string (nullable = true)
|-- age: long (nullable = true)
+-------+-------------+------+---+
| city| state| name|age|
+-------+-------------+------+---+
|Tobolsk|Tyumen region| Ivan| 18|
| Tyumen|Tyumen region|Andrey| 23|
| Moscow| Moscow| Ivan| 42|
+-------+-------------+------+---+
Чтобы провалиться внутрь контейнера выполните команду:
docker exec -it pyspark /bin/bash
Для запуска pyspark c поддержкой локальных баз данных, внутри контейнера выполните:
pyspark -c spark.sql.warehouse.dir=/db_home/warehouse
Посмотреть список баз данных:
spark.sql("Show databases").show()
+------------+
|databaseName|
+------------+
| default|
| newdb|
+------------+
посмотреть данные в таблице:
>>> spark.table("newdb.adress_age").show()
Для выхода из консоли pyspark используйте ctrl+d.
Выйти из doker контейнера:
exit
Для получения прав root внутри контейнера используйте комманду:
docker exec -it -u root:root pyspark /bin/bash
Content type
Image
Digest
Size
455.6 MB
Last updated
about 5 years ago
docker pull lod2007/pyspark