我在ETL中使用dask而不是pandas,即从S3存储桶中读取CSV,然后进行一些所需的转换。Until here - dask读取和应用转换的速度比pandas快!最后,我使用to_sql将转换后的数据转储到Redshift。在dask中这个to_sql转储比在pandas中花费更多的时间。
有没有可能缩短这段时间?
我正在试图找到一种方法来提高速度,同时使用python中的pandas将数据推送到MySQL数据库。在性能测试之后,我得出了与其他人相同的结论:将数据推送到MySQL数据库的最好方法是使用原生查询'LOAD data INFILE...‘而不是to_sqlpandas方法(即使有像或这样的改进)。
我的问题是,当我想推送我的数据时,它在内存中。因此,为了使用原生MySQL查询,我需要首先将其转储到磁盘上的一个文件中,然后使用“LOAD DA