我需要使用JDBC将Hive Connection拖入1200万行到CSV中。我可以使用一些批处理来更快地做到吗?我可以附加CSV文件吗?
我已经使用JDBC建立了与Hive的连接,并且能够在本地计算机上创建CSV文件。但是由于行数很大,它的运行时间非常长。我正在使用JDBC结果集存储查询结果,并使用Java的FileWriter和CSVWriter类将其写入CSV。
我想加快将数据复制到CSV的过程。我正在寻找某种批处理方法来从表中读取数据并将其附加到CSV。
答案 0 :(得分:0)
Univocity-parsers很容易将结果集转储为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许可证)