ここでは、BufferedWriter インターフェイスを使用してマルチスレッドアップロードを理解するためのコード例を紹介します。
class UploadThread extends Thread {
private UploadSession session;
private static int RECORD_COUNT = 1200;
public UploadThread(UploadSession session) {
this.session = session;
}
@Override
Public void run (){
RecordWriter writer = up.openBufferedWriter();
Record r = up.newRecord();
for (int i = 0; i < RECORD_COUNT; i++) {
r.setBigint(0, i);
writer.write(r);
}
writer.close();
}
};
public class Example {
public static void main(String args[]) {
// Initializes MaxCompute and Tunnel code
TableTunnel.UploadSession uploadSession = tunnel.createUploadSession(projectName, tableName);
UploadThread t1 = new UploadThread(up);
UploadThread t2 = new UploadThread(up);
t1.start();
t2.start();
t1.join();
t2.join();
uploadSession.commit();
}