Добавление stream_results=True (execution_options) в kedro.extras.datasets.pandas.Набор данных SQLQueryDataSet

#pandas #sqlalchemy #kedro

Вопрос:

Можно ли добавить execution_options в kedro.extras.datasets.pandas.SQLQueryDataSet?

Например, я хотел бы добавить stream_results=True в строку подключения.

двигатель = create_engine( «postgresql://postgres:pass@localhost/example» ) conn = engine.connect().execution_options(stream_results=True)

Вот мой каталог.yml

 table_name:
  type: pandas.SQLQueryDataSet
  credentials: creds
  sql: select * from table
  load_args:
    chunksize: 1000
 

Любая идея о том, как добавлять/редактировать execution_options с помощью панд.SQLQueryDataSet?
В частности, stream_results=True.

Ответ №1:

Вероятно, вам потребуется создать тонкий слой поверх существующего SQLQueryDataSet :

 class CustomSQLQueryDataSet(kedro.extras.datasets.SQLQueryDataSet):
  def _load(self, *args, **kwargs):
      self._load_args["con"] = create_engine(self._load_args["con"]).connect().execution_options(stream_results=True)
      return super()._load(*args, **kwargs)
 

а затем используйте этот класс в своем каталоге.