feat(course): add SparkSession setup practice to module 3
This commit is contained in:
1 parent
00942c255f
commit
7c5e976405
10 files changed
+523
-22
No files matched your search
@@ -64,6 +64,27 @@ docker compose down -v
|
||||
или настройки в файле, перезапусти ядро ноутбука и снова выполни ячейки
|
||||
с импортами и созданием сессии.
|
||||
|
||||
Практика с объяснением, шаблоном и проверкой подключения находится в начале
|
||||
[модуля 3](../notebooks/03_raw_ingest_and_first_read.ipynb).
|
||||
В ней `spark.sparkContext.master` и `.appName` показывают фактический кластер
|
||||
и имя приложения. Для SQL-настроек используется `spark.conf.get(...)`;
|
||||
вывод ограничен конкретными несекретными ключами.
|
||||
|
||||
В Spark 3.5.1 `spark.sql.session.timeZone` можно менять через
|
||||
`spark.conf.set(...)` во время работы, сохранив и восстановив исходное значение.
|
||||
Повторный builder с другим `appName` использует прежний контекст и не меняет
|
||||
его фактическое имя. После `spark.stop()` новый контекст получает новое имя;
|
||||
при смене master или общего файла конфигурации перезапусти ядро.
|
||||
`stop()` оставляет переменные Python, перезапуск ядра удаляет их.
|
||||
Оба действия сохраняют таблицы в каталоге и файлы MinIO.
|
||||
|
||||
Параметры обычного нового приложения имеют приоритет: код → параметры
|
||||
`spark-submit` → `spark-defaults.conf`. Настройки запуска driver-а нужно
|
||||
передавать до его старта. Вне стенда также потребуются зависимости и конфигурация
|
||||
Iceberg/S3A/JDBC из [`spark/Dockerfile`](../spark/Dockerfile) и общего файла.
|
||||
Подробности: [конфигурация Spark 3.5.1](https://github.com/apache/spark/blob/v3.5.1/docs/configuration.md)
|
||||
и [поведение SparkSession в этой версии](https://github.com/apache/spark/blob/v3.5.1/python/pyspark/sql/session.py).
|
||||
|
||||
Пример запуска smoke-скрипта:
|
||||
|
||||
```bash
|
||||
|
||||
Reference in new issue
Block a user