0.9.0 (2023-08-17)
Критические изменения
-
Переименованы методы:
-
DBConnection.read_df→DBConnection.read_source_as_df -
DBConnection.write_df→DBConnection.write_df_to_target(#66) -
Переименованы классы:
-
HDFS.slots→HDFS.Slots Hive.slots→Hive.Slots
Старые имена сохранены, но будут удалены в v1.0.0 (#103)
-
Для большей понятности переименованы некоторые опции:
-
Hive.WriteOptions(mode="append")→Hive.WriteOptions(if_exists="append") Hive.WriteOptions(mode="overwrite_table")→Hive.WriteOptions(if_exists="replace_entire_table")Hive.WriteOptions(mode="overwrite_partitions")→Hive.WriteOptions(if_exists="replace_overlapping_partitions")JDBC.WriteOptions(mode="append")→JDBC.WriteOptions(if_exists="append")JDBC.WriteOptions(mode="overwrite")→JDBC.WriteOptions(if_exists="replace_entire_table")Greenplum.WriteOptions(mode="append")→Greenplum.WriteOptions(if_exists="append")Greenplum.WriteOptions(mode="overwrite")→Greenplum.WriteOptions(if_exists="replace_entire_table")MongoDB.WriteOptions(mode="append")→Greenplum.WriteOptions(if_exists="append")MongoDB.WriteOptions(mode="overwrite")→Greenplum.WriteOptions(if_exists="replace_entire_collection")FileDownloader.Options(mode="error")→FileDownloader.Options(if_exists="error")FileDownloader.Options(mode="ignore")→FileDownloader.Options(if_exists="ignore")FileDownloader.Options(mode="overwrite")→FileDownloader.Options(if_exists="replace_file")FileDownloader.Options(mode="delete_all")→FileDownloader.Options(if_exists="replace_entire_directory")FileUploader.Options(mode="error")→FileUploader.Options(if_exists="error")FileUploader.Options(mode="ignore")→FileUploader.Options(if_exists="ignore")FileUploader.Options(mode="overwrite")→FileUploader.Options(if_exists="replace_file")FileUploader.Options(mode="delete_all")→FileUploader.Options(if_exists="replace_entire_directory")FileMover.Options(mode="error")→FileMover.Options(if_exists="error")FileMover.Options(mode="ignore")→FileMover.Options(if_exists="ignore")FileMover.Options(mode="overwrite")→FileMover.Options(if_exists="replace_file")FileMover.Options(mode="delete_all")→FileMover.Options(if_exists="replace_entire_directory")
Старые имена сохранены, но будут удалены в v1.0.0 (#108)
onetl.log.disable_clients_logging()переименован вonetl.log.setup_clients_logging(). (#120)
Новая функциональность
-
Добавлены новые методы, возвращающие пакеты Maven для определенного подключения:
-
Clickhouse.get_packages() MySQL.get_packages()Postgres.get_packages()Teradata.get_packages()MSSQL.get_packages(java_version="8")Oracle.get_packages(java_version="8")Greenplum.get_packages(scala_version="2.12")MongoDB.get_packages(scala_version="2.12")Kafka.get_packages(spark_version="3.4.1", scala_version="2.12")
Устаревший синтаксис:
Clickhouse.packageMySQL.packagePostgres.packageTeradata.packageMSSQL.packageOracle.packageGreenplum.package_spark_2_3Greenplum.package_spark_2_4Greenplum.package_spark_3_2MongoDB.package_spark_3_2MongoDB.package_spark_3_3-
MongoDB.package_spark_3_4(#87) -
Разрешено устанавливать уровень логирования клиентских модулей в
onetl.log.setup_clients_logging().
В onetl.log.setup_logging() новый дополнительный аргумент enable_clients=True позволяет включать логирование базовых клиентских модулей.
Это полезно для отладки. (#120)
- Добавлена поддержка чтения и записи данных в топики Kafka.
Для этих операций были добавлены новые классы.
Kafka(#54, #60, #72, #84, #87, #89, #93, #96, #102, #104)Kafka.PlaintextProtocol(#79)Kafka.SSLProtocol(#118)Kafka.BasicAuth(#63, #77)Kafka.KerberosAuth(#63, #77, #110)Kafka.ScramAuth(#115)Kafka.Slots(#109)Kafka.ReadOptions(#68)Kafka.WriteOptions(#68)
В настоящее время Kafka не поддерживает инкрементальные стратегии чтения, такая возможность будет реализована в будущих выпусках.
- Добавлена поддержка чтения файлов в Spark DataFrame и сохранения DataFrame в файлы.
Для этих операций были добавлены новые классы.
FileDFConnections:
Классы верхнего уровня абстракции:
Форматы файлов: