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

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;

【讨论】:

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

Google Cloud Dataflow - 是不是可以定义从 BigQuery 读取数据并写入本地数据库的管道?

支持从 C++ 代码读取或写入 HIVE 的驱动程序

java 以二进制流的方式读取mysql 中的blob文件,并写入本地文件夹下

怎么用java从文件中读取图片和写入图片到文件里

接口读取数据(json)并写入本地

如何使用 Qt/C++ 创建/读取/写入文件并使用程序在本地存储设置