创建一个新表并使用CSV文件中的数据加载它

时间:2019-07-11 07:46:32

标签: java csv dataframe amazon-redshift

要求

该要求非常简单;我将源数据保存在一个csv文件中,想要在redshift数据库中创建一个新表并使用csv文件中的数据加载该表。

背景

我正在进行ETL验证,并且我的目标表在Redshift数据库中。我所有的查找表(源)也都在redshift中。只有事实表(源)是平面文件(csv)。因此,我想在redshift中使用csv中的数据创建一个表,以便我可以编写源查询和目标查询并比较数据。

注意:我无法将sv存储桶中的csv文件直接加载到redhsift数据库中。因此,我只能逐行迭代文件并进行插入。

我已经做了

我编写了一个Java程序,该程序将获取一个xlsx文件并创建一个XSSFSheet对象,迭代行并逐行插入数据。 为此,我首先必须手动创建一个表,然后在Excel中打开csv文件并将其另存为xlsx文件。

现在的问题是某些文件具有超过一百万行,这超出了XSSF支持的行数。

以前,我曾在python中使用过pandas数据框,可以在其中从csv创建数据框。

现在,我正在考虑一种方法,可以将csv文件加载到数据帧/表中(为此在表锯中查看),然后将dataaframe /表加载到新的redshift表中。

在Tablesaw中是否有一种简单的方法可以用数据帧/表中的数据创建RDBS表?

做到这一点的唯一方法是迭代数据帧并插入命令吗?

0 个答案:

没有答案