Skip to content

0.9.0 (2023-08-17)

Критические изменения

  • Переименованы методы:

  • DBConnection.read_dfDBConnection.read_source_as_df

  • DBConnection.write_dfDBConnection.write_df_to_target (#66)

  • Переименованы классы:

  • HDFS.slotsHDFS.Slots

  • Hive.slotsHive.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.package
  • MySQL.package
  • Postgres.package
  • Teradata.package
  • MSSQL.package
  • Oracle.package
  • Greenplum.package_spark_2_3
  • Greenplum.package_spark_2_4
  • Greenplum.package_spark_3_2
  • MongoDB.package_spark_3_2
  • MongoDB.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 не поддерживает инкрементальные стратегии чтения, такая возможность будет реализована в будущих выпусках.

  • Добавлена поддержка чтения файлов в Spark DataFrame и сохранения DataFrame в файлы.

Для этих операций были добавлены новые классы.

FileDFConnections:

Классы верхнего уровня абстракции:

  • FileDFReader (#73)
  • FileDFWriter (#81)

Форматы файлов:

Улучшения

  • Удалены избыточные проверки доступности драйвера в соединениях Greenplum и MongoDB. (#67)
  • Проверка доступности класса Java перенесена из метода .check() в конструктор соединения. (#97)