如何使用Java更快地将1200万行从配置单元表拉入CSV?

如何使用Java更快地将1200万行从配置单元表拉入CSV?,csv,jdbc,hive,Csv,Jdbc,Hive,我需要使用JDBC到配置单元的连接将1200万行拉入CSV。我可以使用批处理更快吗?我可以附加CSV文件吗 我已经使用JDBC连接到Hive,并且能够在本地机器中创建CSV文件。但由于行数太多,它运行的时间非常长。我使用JDBC结果集存储查询结果,并使用Java的FileWriter和CSVWriter类将其写入CSV 我想加快将数据复制到CSV的过程。我正在寻找某种批处理方式,从表中读取数据并将其附加到CSV中。将结果集非常轻松地转储到CSV中: ResultSet resultSet = s

我需要使用JDBC到配置单元的连接将1200万行拉入CSV。我可以使用批处理更快吗?我可以附加CSV文件吗

我已经使用JDBC连接到Hive,并且能够在本地机器中创建CSV文件。但由于行数太多,它运行的时间非常长。我使用JDBC结果集存储查询结果,并使用Java的FileWriter和CSVWriter类将其写入CSV

我想加快将数据复制到CSV的过程。我正在寻找某种批处理方式,从表中读取数据并将其附加到CSV中。

将结果集非常轻松地转储到CSV中:

ResultSet resultSet = statement.executeQuery("SELECT * FROM table");

//configure your CSV format
CsvWriterSettings writerSettings = Csv.writeExcel(); //pre-configured format to be excel compatible
writerSettings.setHeaderWritingEnabled(true); // if you want the column names to be printed out in the first row

CsvRoutines routines = new CsvRoutines(writerSettings);
routines.write(resultSet, new File("/path/to/your.csv"), "windows-1252");
希望这有帮助


免责声明:我是此库(Apache 2.0许可证)的作者。

请发布您的代码