Workign on Sarc stats

This commit is contained in:
Spyros Zoupanos 2020-09-14 20:10:53 +03:00
parent 55222a2516
commit ba33df29b4
4 changed files with 34 additions and 32 deletions

View File

@ -118,7 +118,7 @@ public class IrusStats {
System.out.println("====> Adding JSON Serde jar");
stmt.executeUpdate("add jar /usr/share/cmf/common_jars/hive-hcatalog-core-1.1.0-cdh5.14.0.jar");
System.out.println("====> Added JSON Serde jar");
System.out.println("====> Dropping sushilogtmp_json table");
String drop_sushilogtmp_json = "DROP TABLE IF EXISTS " +
ConnectDB.getUsageStatsDBSchema() +
@ -170,7 +170,6 @@ public class IrusStats {
stmt.executeUpdate(create_sushilogtmp);
System.out.println("====> Created sushilogtmp table");
System.out.println("====> Inserting to sushilogtmp table");
String insert_sushilogtmp = "INSERT INTO " + ConnectDB.getUsageStatsDBSchema() + ".sushilogtmp " +
"SELECT 'IRUS-UK', 'opendoar____::', `ItemIdent`.`Value`, `ItemPerf`.`Period`.`Begin`, " +
@ -183,26 +182,30 @@ public class IrusStats {
System.out.println("====> Inserted to sushilogtmp table");
ConnectDB.getConnection().close();
System.exit(0);
// String sql = "INSERT INTO sushi_result_downloads SELECT s.source, d.id AS repository, ro.id, s.date, s.count
// FROM sushilog s, datasource_oids d, result_oids ro WHERE s.repository=d.orid AND s.oai=ro.orid AND
// metric_type='ft_total'";
// String sql = "SELECT s.source, d.id AS repository_id, ro.id as result_id, extract('year' from s.date::date)
// ||'/'|| LPAD(CAST(extract('month' from s.date::date) AS VARCHAR), 2, '0') as date, s.count INTO
// downloads_stats FROM sushilog s, datasource_oids d, result_oids ro WHERE s.repository=d.orid AND
// s.oai=ro.orid AND metric_type='ft_total'";
// String sql = "INSERT INTO downloads_stats SELECT s.source, d.id AS repository_id, ro.id as result_id,
// extract('year' from s.date::date) ||'/'|| LPAD(CAST(extract('month' from s.date::date) AS VARCHAR), 2, '0')
// as date, s.count FROM sushilog s, datasource_oids d, result_oids ro WHERE s.repository=d.orid AND
// s.oai=ro.orid AND metric_type='ft_total';";
String sql = "INSERT INTO downloads_stats SELECT s.source, d.id AS repository_id, ro.id as result_id, extract('year' from s.date::date) ||'/'|| LPAD(CAST(extract('month' from s.date::date) AS VARCHAR), 2, '0') as date, s.count, '0' FROM sushilogtmp s, public.datasource_oids d, public.result_oids ro WHERE s.repository=d.orid AND s.rid=ro.orid AND metric_type='ft_total' AND s.source='IRUS-UK';";
stmt.executeUpdate(sql);
sql = "Insert into sushilog select * from sushilogtmp;";
stmt.executeUpdate(sql);
ConnectDB.getConnection().close();
// // !!!!!!!!!!!!!!!!!!!!!
// // To do the following
// // !!!!!!!!!!!!!!!!!!!!!
//
// // String sql = "INSERT INTO sushi_result_downloads SELECT s.source, d.id AS repository, ro.id, s.date, s.count
// // FROM sushilog s, datasource_oids d, result_oids ro WHERE s.repository=d.orid AND s.oai=ro.orid AND
// // metric_type='ft_total'";
// // String sql = "SELECT s.source, d.id AS repository_id, ro.id as result_id, extract('year' from s.date::date)
// // ||'/'|| LPAD(CAST(extract('month' from s.date::date) AS VARCHAR), 2, '0') as date, s.count INTO
// // downloads_stats FROM sushilog s, datasource_oids d, result_oids ro WHERE s.repository=d.orid AND
// // s.oai=ro.orid AND metric_type='ft_total'";
// // String sql = "INSERT INTO downloads_stats SELECT s.source, d.id AS repository_id, ro.id as result_id,
// // extract('year' from s.date::date) ||'/'|| LPAD(CAST(extract('month' from s.date::date) AS VARCHAR), 2, '0')
// // as date, s.count FROM sushilog s, datasource_oids d, result_oids ro WHERE s.repository=d.orid AND
// // s.oai=ro.orid AND metric_type='ft_total';";
// String sql = "INSERT INTO downloads_stats SELECT s.source, d.id AS repository_id, ro.id as result_id, extract('year' from s.date::date) ||'/'|| LPAD(CAST(extract('month' from s.date::date) AS VARCHAR), 2, '0') as date, s.count, '0' FROM sushilogtmp s, public.datasource_oids d, public.result_oids ro WHERE s.repository=d.orid AND s.rid=ro.orid AND metric_type='ft_total' AND s.source='IRUS-UK';";
//
// stmt.executeUpdate(sql);
//
// sql = "Insert into sushilog select * from sushilogtmp;";
// stmt.executeUpdate(sql);
//
// ConnectDB.getConnection().close();
}
public void getIrusRRReport(String irusUKReportPath) throws Exception {

View File

@ -720,7 +720,7 @@ public class PiwikStatsDB {
System.out.println("====> Adding JSON Serde jar");
stmt.executeUpdate("add jar /usr/share/cmf/common_jars/hive-hcatalog-core-1.1.0-cdh5.14.0.jar");
System.out.println("====> Added JSON Serde jar");
System.out.println("====> Dropping process_portal_log_tmp_json table");
String drop_process_portal_log_tmp_json = "DROP TABLE IF EXISTS " +
ConnectDB.getUsageStatsDBSchema() +

View File

@ -115,7 +115,8 @@ public class SarcStats {
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
PreparedStatement st = ConnectDB
.getConnection()
.prepareStatement("SELECT max(date) FROM usagestats_13.sushilog WHERE repository=?");
.prepareStatement(
"SELECT max(date) FROM " + ConnectDB.getUsageStatsDBSchema() + ".sushilog WHERE repository=?");
st.setString(1, issn);
ResultSet rs_date = st.executeQuery();
while (rs_date.next()) {
@ -242,8 +243,8 @@ public class SarcStats {
// break;
}
preparedStatement.executeBatch();
ConnectDB.getConnection().commit();
// preparedStatement.executeBatch();
// ConnectDB.getConnection().commit();
ConnectDB.getConnection().close();
}

View File

@ -49,20 +49,18 @@ public class UsageStatsExporter {
String cRobotsUrl = "https://raw.githubusercontent.com/atmire/COUNTER-Robots/master/COUNTER_Robots_list.json";
piwikstatsdb.setCounterRobotsURL(cRobotsUrl);
System.out.println("====> Processing logs");
piwikstatsdb.processLogs();
// piwikstatsdb.processLogs();
log.info("process logs done");
IrusStats irusstats = new IrusStats(irusUKBaseURL);
// irusstats.getIrusRRReport(irusUKReportPath);
irusstats.processIrusStats();
// irusstats.processIrusStats();
// log.info("irus done");
System.exit(0);
// SarcStats sarcStats = new SarcStats();
// sarcStats.processSarc(sarcsReportPath);
// sarcStats.sarcStats();
SarcStats sarcStats = new SarcStats();
sarcStats.processSarc(sarcsReportPath);
sarcStats.sarcStats();
log.info("sarc done");
// // finalize usagestats