Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package generate_merge;
- import java.io.BufferedReader;
- import java.io.BufferedWriter;
- import java.io.File;
- import java.io.FileReader;
- import java.io.FileWriter;
- import java.sql.Connection;
- import java.sql.DriverManager;
- import java.sql.ResultSet;
- import java.sql.SQLException;
- import java.sql.Statement;
- import java.text.SimpleDateFormat;
- import java.util.Calendar;
- import java.util.HashMap;
- import java.util.Map;
- import java.util.Properties;
- import java.util.Random;
- import java.util.UUID;
- import java.util.concurrent.ExecutorService;
- import java.util.concurrent.Executors;
- import com.dao.AvailablePools;
- public class LoadTestDB
- {
- private static final String dbClassName = "com.mysql.jdbc.Driver";
- private static final String dbClassRedshift = "com.amazon.redshift.jdbc4.Driver";
- private static String host = null;
- private static String port = null;
- //private static final String CONNECTION = "jdbc:mysql://192.168.99.100:3306/";
- // private static final String CONNECTION = "jdbc:mysql://10.0.0.119:3306/"; /*Tunneled MySQL */
- // private static final String CONNECTION_RS = "jdbc:redshift://10.0.0.239:5439/myntra_dw";
- private static final String USER = "ddp_ro";
- private static final String PASSWORD = "Admin@123!";
- private static final String RS_USER = "myntrapoc";
- private static final String RS_PASSWORD = "5KuLi523T11k82G";
- private static Integer file_count = 0;
- private static SimpleDateFormat load_date_time = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
- private static SimpleDateFormat load_date = new SimpleDateFormat("yyyyMMdd");
- private static Runtime runtime = Runtime.getRuntime();
- private static long startTimer()
- {
- return System.currentTimeMillis();
- }
- private static long endTimer()
- {
- return System.currentTimeMillis();
- }
- private static void worker(Integer file_count) throws Exception{
- try{
- Properties p = new Properties();
- p.put("user", USER);
- p.put("password", PASSWORD);
- Properties p_rs = new Properties();
- p_rs.put("user", RS_USER);
- p_rs.put("password", RS_PASSWORD);
- String sql_adhoc_query = "select query_txt from adhoc_query.adhoc_query_log where query_id % 12="+file_count+" and start_time >= '2016-11-16 00:00:00' and substring(query_id,11) >5000000 and query_txt not like '%_table_%' order by start_time limit 2000";
- //Connection conn= DriverManager.getConnection(CONNECTION, p);
- Connection conn=null;
- try
- {
- conn= AvailablePools.ADHOC_QUERY_POOL.getConnection();
- }
- catch(Exception e)
- {
- e.printStackTrace();
- }
- Statement stmt = conn.createStatement();
- ResultSet rs = stmt.executeQuery(sql_adhoc_query);
- Connection conn_rs=null;
- Statement stmt_rs=null;
- //Statement stmt_rs = null;
- while(rs.next()){
- String sql = rs.getString("query_txt");
- long start_time,end_time,run_time;
- start_time = startTimer();
- try
- {
- end_time = endTimer();
- run_time = (end_time - start_time)/1000 ;
- System.out.println("Inside Try");
- System.out.println(sql);
- conn_rs = AvailablePools.REDSHIFT_QUERY_POOL.getConnection();
- conn_rs.createStatement().execute(sql);
- start_time = startTimer();
- end_time = endTimer();
- end_time = endTimer();
- run_time = (end_time - start_time)/1000 ;
- }catch(Exception e){
- System.out.println("Thread is : "+file_count);
- System.out.println(e.toString());
- if(conn_rs != null){
- try{
- conn_rs.close();
- }catch(Exception connE){e.printStackTrace();}
- }
- e.printStackTrace();
- }
- } //End While
- }catch(Exception e) {
- System.out.println("Thread is : "+file_count);
- e.printStackTrace();
- } //Outer Catch
- }
- public static void main(String[] args) throws Exception
- {
- Class.forName(dbClassName);
- //ResetEnvironment();
- ExecutorService executor = Executors.newFixedThreadPool(12);
- for (int i = 0; i < 12; i++ )
- {
- executor.submit(new Runnable()
- {
- @Override
- public void run()
- {
- try
- {
- synchronized (LoadTestDB.class)
- {
- file_count = file_count + 1;
- }
- worker(file_count);
- //TimeUnit.MILLISECONDS.sleep(10);
- }
- catch (Exception e)
- {
- e.printStackTrace();
- }
- }
- });
- }
- executor.shutdown();
- // Wait until all threads are finish
- while (!executor.isTerminated()) {
- }
- System.out.println("\nFinished all threads");
- }
- }
Add Comment
Please, Sign In to add comment