是否有更好的方法将大数据(约2000万行)从Hive数据库移动到R中的Netezza数据库?

时间:2019-01-22 09:47:38

标签: r hive odbc netezza

我从Hive到Netezza传输大量数据(约2000万行,20列)时遇到问题。

现在,我也在寻找最佳的方式或最有效的方式来传输数据。

我在具有16GB内存的Windows 10笔记本电脑上成功安装了Hive和Netezza驱动程序。

当我从Hive到Netezza传输大数据时,我发现行丢失了。我以前已经成功提取了小表并将其写入Netezza  在R中使用'odbc'和'DBI'软件包的数据库。我也确实使用Alteryx成功传输了大量数据,但许可证已过期,如果可能,我想将R用于同一任务。

library(odbc)
library(dplyr)
# Creating Hadoop Hive connection using driver (HadoopHive)
con_hq <- dbConnect(odbc::odbc(), "HadoopHive")
# Creating Netezza connection using re-configured driver(NZSQL)
con_nz <- dbConnect(odbc::odbc(), "NZSQL") 
# Running the SQL query to get data from table1 from Hadoop database 
data <- dbGetQuery(con_hq, "select * from table1")
# writing the data frame 'data' into netezza database giving it a table 
#name 'nz_table1'
dbWriteTable( con_nz, "nz_table1", data)

如果:

  1. 数据可以成块或
  2. 移动
  3. 将数据从Hive移至Netezza,而无需在两次或两次之间将其传输到我的计算机中
  4. 进行传输时不要占用我的笔记本电脑的内存,以便在传输时我可以将其用于其他任务

0 个答案:

没有答案