从数据库读取并写入本地驱动器,大数据

Posted

技术标签:

【中文标题】从数据库读取并写入本地驱动器,大数据【英文标题】:Reading from database and writing to local drive, big data 【发布时间】:2017-09-04 10:45:26 【问题描述】:

我想从 netezza 数据库中获取 5 GB 的数据并将其写入本地驱动器。我尝试了以下方法:

pd.concat([chunk for chunk in (pd.read_sql("""SELECT * FROM table""",conn,chunksize=10000))]).to_sql('table1',conn1)

这需要大量时间,几乎一天。有人可以建议一种替代方法来快速完成该过程,以便我可以处理 25 GB 的更大数据吗?

【问题讨论】:

【参考方案1】:

如果只需要从 DB 将数据存储在驱动器中,那么您可以使用以下选项-

nzsql -u user -pw pwd -db database -o abc.dat -c "sql"

或者

nzsql -u 用户 -pw pwd -db 数据库 -c "sql" > abc.dat

【讨论】:

【参考方案2】:

我建议使用transient external table。

CREATE EXTERNAL TABLE 'c:\localFileName.dat' USING (RemoteSource 'ODBC' delim '|')
as SELECT * FROM table;

【讨论】:

以上是关于从数据库读取并写入本地驱动器,大数据的主要内容,如果未能解决你的问题,请参考以下文章