forked from D-Net/dnet-hadoop
96 lines
2.5 KiB
Java
96 lines
2.5 KiB
Java
/*
|
|
* To change this license header, choose License Headers in Project Properties.
|
|
* To change this template file, choose Tools | Templates
|
|
* and open the template in the editor.
|
|
*/
|
|
|
|
package eu.dnetlib.oa.graph.usagestats.export;
|
|
|
|
/**
|
|
*
|
|
* @author D. Pierrakos, S. Zoupanos
|
|
*
|
|
*/
|
|
|
|
/**
|
|
* @author D. Pierrakos, S. Zoupanos
|
|
*/
|
|
import java.sql.Connection;
|
|
import java.sql.DriverManager;
|
|
import java.sql.SQLException;
|
|
import java.sql.Statement;
|
|
import java.util.Properties;
|
|
|
|
import org.apache.log4j.Logger;
|
|
|
|
public abstract class ConnectDB {
|
|
|
|
public static Connection DB_HIVE_CONNECTION;
|
|
public static Connection DB_IMPALA_CONNECTION;
|
|
|
|
private static String dbHiveUrl;
|
|
private static String dbImpalaUrl;
|
|
private static String dbUsername;
|
|
private static String dbPassword;
|
|
private static String usageStatsDBSchema;
|
|
private static String statsDBSchema;
|
|
private final static Logger log = Logger.getLogger(ConnectDB.class);
|
|
|
|
static void init(Properties properties) throws ClassNotFoundException {
|
|
|
|
dbHiveUrl = "jdbc:hive2://iis-cdh5-test-m3.ocean.icm.edu.pl:10000/;UseNativeQuery=1";
|
|
dbImpalaUrl = "jdbc:hive2://iis-cdh5-test-gw.ocean.icm.edu.pl:21050/;auth=noSasl";
|
|
usageStatsDBSchema = "usagestats_20200913";
|
|
statsDBSchema = "openaire_prod_stats_shadow_20200821";
|
|
|
|
Class.forName("org.apache.hive.jdbc.HiveDriver");
|
|
}
|
|
|
|
public static Connection getHiveConnection() throws SQLException {
|
|
if (DB_HIVE_CONNECTION != null && !DB_HIVE_CONNECTION.isClosed()) {
|
|
return DB_HIVE_CONNECTION;
|
|
} else {
|
|
DB_HIVE_CONNECTION = connectHive();
|
|
|
|
return DB_HIVE_CONNECTION;
|
|
}
|
|
}
|
|
|
|
public static Connection getImpalaConnection() throws SQLException {
|
|
if (DB_IMPALA_CONNECTION != null && !DB_IMPALA_CONNECTION.isClosed()) {
|
|
return DB_IMPALA_CONNECTION;
|
|
} else {
|
|
DB_IMPALA_CONNECTION = connectImpala();
|
|
|
|
return DB_IMPALA_CONNECTION;
|
|
}
|
|
}
|
|
|
|
public static String getUsageStatsDBSchema() {
|
|
return ConnectDB.usageStatsDBSchema;
|
|
}
|
|
|
|
public static String getStatsDBSchema() {
|
|
return ConnectDB.statsDBSchema;
|
|
}
|
|
|
|
private static Connection connectHive() throws SQLException {
|
|
|
|
Connection connection = DriverManager.getConnection(dbHiveUrl);
|
|
Statement stmt = connection.createStatement();
|
|
log.debug("Opened database successfully");
|
|
|
|
return connection;
|
|
}
|
|
|
|
private static Connection connectImpala() throws SQLException {
|
|
|
|
Connection connection = DriverManager.getConnection(dbImpalaUrl);
|
|
Statement stmt = connection.createStatement();
|
|
log.debug("Opened database successfully");
|
|
|
|
return connection;
|
|
}
|
|
|
|
}
|