#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)
а затем используйте этот класс в своем каталоге.