私はverticaにテーブルを定義せずにjsonをロードするためにvertica flexテーブルを使用していますが、ロード時間に問題があります。私はJDBCドライブで私にVerticaに接続し、このコードを使用VerticaCopyStreamは非常に遅い
..
String copyQuery = "COPY schema.tablename FROM STDIN PARSER fjsonparser()";
VerticaCopyStream vstream = new VerticaCopyStream((VerticaConnection)conn, copyQuery);
InputStream input;
vstream.start();
for(JsonNode json : jsonList){
input = new ByteArrayInputStream(json.toString().getBytes());
vstream.addStream(input);
input.close();
}
vstream.execute();
vstream.finish();
コマンド「vstream.execute()は、」5000 jsonsために12秒かかりますが、私は、ファイルからCOPYコマンドを使用するときに1秒未満で実行されます。
高速で実行されるCOPYコマンドの場合。あなたはバーチカの断絶者からそれを走らせましたか? – elirevach
いいえ、私は私のローカルコンピュータから実行します。テキストファイルを使ってサーバーからCOPYコマンドを実行すると、1秒未満で実行されます。 – royb
明確にするためです。あなたのコピーコマンドテストはcsvファイルで行い、VerticaCopyStreamはjsonであるか、または両方ともjsonですか? – elirevach