Как использовать Dask для чтения данных из SQL? - PullRequest
0 голосов
/ 04 июля 2019

В документации недостаточно примеров того, как читать данные из sqlAlchemy в dask dataframe.

Некоторые примеры, которые я вижу, относятся к:

   df = dd.read_sql_table(table='my_table_name', uri=my_sqlalchemy_con_url, index_col='id')

Но мой запрос не состоит в том, чтобы получить всю таблицу сразу, а только получить (выбрать * из .... таблицы A, где .....) тип запроса, который будет передан в качестве параметра. Кроме того, как передать параметры подключения не упоминаются.

Как передать параметры соединения из механизма соединений sqlAlchemy и передать пользовательский запрос вместо извлечения всей таблицы.

Я понимаю, что это просто, но не могу найти ссылки на это в docs / web

РЕДАКТИРОВАТЬ:

     d100 = 'mysql+mysqlconnector://{0}:{1}@{2}:{3}/{4}'.format("xx", "xx", "xxxxx.com", "3306", "xxxx") 
     df = dd.read_sql_table(table='select * from ps_g9 limit 10;', uri=d100, index_col='uuid') 

и я получаю таблицу не существует ошибка

Ответы [ 2 ]

1 голос
/ 04 июля 2019

Размер раздела по умолчанию для числовых индексов составляет 256 МБ, если вы не укажете npartitions.Для строковых индексов вы можете использовать аргумент divisions, например,

... division = sorted(['red', 'green', 'blue', 'yellow']) ...

, если у вас есть индекс с именами цветов.

См. Также https://github.com/dask/dask/issues/2604.

Futherпараметры для sqlalchemy можно передать с помощью ключевого слова engine_kwargs.См. Также read_sql_table docs .

Здесь является предварительным просмотром соответствующей главы книги Мэннингса Наука данных в масштабе с Python и Dask .

1 голос
/ 04 июля 2019

Вот документация: https://docs.dask.org/en/stable/dataframe-api.html#dask.dataframe.read_sql_table

В нем перечислено следующее:

  • что параметром "table" действительно может быть имя таблицы или любое выражение SQL, построенное из экземпляров sqlalchemy (т. Е. Не текст)
  • что словарь engine_kwargs, если он задан, будет передан в sqlalchemy при создании механизма запросов к базе данных
...