0.12.0 (2024-09-03)
Критические изменения
- Изменен URL-адрес подключения, используемый для генерации HWM-имен источников S3 и Samba:
smb://host:port->smb://host:port/shares3://host:port->s3://host:port/bucket(#304)- Обновлены коннекторы/драйверы БД до последних версий:
- Clickhouse
0.6.0-patch5→0.6.5 - MongoDB
10.3.0→10.4.0 - MSSQL
12.6.2→12.8.1 - MySQL
8.4.0→9.0.0 - Oracle
23.4.0.24.05→23.5.0.24.07 - Postgres
42.7.3→42.7.4 - Обновлен пакет
Excelс0.20.3до0.20.4, для включения поддержки Spark 3.5.1. (#306)
Функциональность
- Добавлена поддержка указания форматов файлов (
ORC,Parquet,CSVи т.д.) вHiveWriteOptions.format(#292):
Hive.WriteOptions(format=ORC(compression="snappy"))
- Сбор метрик выполнения Spark и их логирование в режиме DEBUG в следующих методах:
DBWriter.run()FileDFWriter.run()Hive.sql()Hive.execute()
Это реализовано с использованием пользовательского SparkListener, который оборачивает весь вызов метода, и затем сообщает собранные метрики. Но эти метрики иногда могут отсутствовать из-за архитектуры Spark, и таким образом они не являются надежным источником информации. Поэтому логи выводятся только в режиме DEBUG, и не возвращаются как результат вызова метода. (#303)
- Генерация
jobDescriptionпо умолчанию на основе текущего выполняемого метода. Примеры: DBWriter.run(schema.table) -> Postgres[host:5432/database]MongoDB[localhost:27017/admin] -> DBReader.has_data(mycollection)Hive[cluster].execute()
Если пользователь уже установил пользовательский jobDescription, он останется нетронутым. (#304)
- Добавлен log.info об использовании диалекта JDBC (#305):
|MySQL| Detected dialect: 'org.apache.spark.sql.jdbc.MySQLDialect'
- Логирование оценочного размера dataframe в памяти, созданного методами
JDBC.fetchиJDBC.execute. (#303)
Исправление ошибок
- Исправлена передача
Greenplum(extra={"options": ...})во время операций чтения/записи. (#308) - Не вызывается исключение, если хук на базе yield выдал что-то единственное после
yield.