文档中没有足够的示例说明如何将数据从sqlAlchemy读取到dask数据框。
我看到的一些例子是:
df = dd.read_sql_table(table='my_table_name', uri=my_sqlalchemy_con_url, index_col='id')
但是我的查询不是一次获取整个表,而只是获取(从.... table 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')
我得到表不存在错误
答案 0 :(得分:1)
以下是文档:https://docs.dask.org/en/stable/dataframe-api.html#dask.dataframe.read_sql_table
它列出了以下内容:
engine_kwargs
(如果给定的话)将传递给sqlalchemy 答案 1 :(得分:1)
数字索引的默认分区大小是256 MB,除非您指定npartitions。
对于字符串索引,您可以使用divisions
参数,例如
... division = sorted(['red', 'green', 'blue', 'yellow']) ...
如果您的索引带有颜色名称。
另请参阅https://github.com/dask/dask/issues/2604。
可以使用engine_kwargs
关键字传递sqlalchemy的更多参数。另请参见read_sql_table docs。
Here是Mannings 使用Python和Dask进行大规模数据科学的相关章节的预览。