diff --git a/vldb-protocols.py b/vldb-protocols.py index c5c2114e5aca61ae49ead94b4190d9f7929c67ee..6a4a0d0a193efed6805665da55c73aba0e6bcd3d 100644 --- a/vldb-protocols.py +++ b/vldb-protocols.py @@ -7,6 +7,7 @@ import json import subprocess systems = [ + {'name':'hive-default', 'db':'hive'}, {'name':'netcat-csv-lz4', 'db':'netcat', 'compress': 'lz4'}, {'name':'netcat-csv-lz4-heavy', 'db':'netcat', 'compress': 'lz4-heavy'}, {'name':'netcat-csv-gzip', 'db':'netcat', 'compress': 'gzip'}, @@ -18,7 +19,7 @@ systems = [ {'name':'postgres-default', 'db':'postgres'}, {'name':'mariadb-default', 'db':'mariadb'}, {'name':'monetdb-default', 'db':'monetdb'}, - {'name':'hbase-default', 'db':'hbase'}, + {'name':'hbase-default', 'db':'hbase'}, {'name':'mongodb-default', 'db':'mongodb'}] networks = [ @@ -123,28 +124,28 @@ for r in range(nruns): odbccmd = None if system['db'] == 'postgres': querycmd = 'psql %s --host 127.0.0.1 -w -t -A -c "%s" > /dev/null' % ('--set=sslcompression=1 --set=sslmode=require --set=keepalives=0' if 'compress' in system else '', query) - jdbcflags = '-u jdbc:postgresql://127.0.0.1/user -n user -d org.postgresql.Driver' + jdbcflags = 'org.postgresql.Driver jdbc:postgresql://127.0.0.1/user user user' odbccmd = 'isql PostgreSQL -d, < query > /dev/null' elif system['db'] == 'mariadb': querycmd = 'mysql %s --host=127.0.0.1 user --skip-column-names --batch -e "%s" > /dev/null' % ('--compress' if 'compress' in system else '', query) - jdbcflags = '-u jdbc:mysql://127.0.0.1/user -n user -d org.mariadb.jdbc.Driver' + jdbcflags = 'org.mariadb.jdbc.Driver jdbc:mysql://127.0.0.1/user user null' odbccmd = 'isql MySQL -d, < query > /dev/null' elif system['db'] == 'monetdb': querycmd = 'mclient -h 127.0.0.1 -p 50001 -fcsv -s "%s" > /dev/null' % query - jdbcflags = '-u jdbc:monetdb://127.0.0.1:50001/database -n monetdb -p monetdb -d nl.cwi.monetdb.jdbc.MonetDriver' + jdbcflags = 'nl.cwi.monetdb.jdbc.MonetDriver jdbc:monetdb://127.0.0.1:50001/database monetdb monetdb' odbccmd = 'isql MonetDB -d, < query > /dev/null' elif system['db'] == 'db2': db2qfile = open("db2query", "w") db2qfile.write("connect to remotedb user user using user; \n" + query + ";\n") db2qfile.close() querycmd = 'db2 -tf db2query > /dev/null;' - jdbcflags = '-u jdbc:db2://127.0.0.1:50000/db -d com.ibm.db2.jcc.DB2Driver -n user -p user' + jdbcflags = 'com.ibm.db2.jcc.DB2Driver jdbc:db2://127.0.0.1:50000/db user user' os.environ['DB2INSTANCE'] = 'user' odbccmd = 'isql DB2_SAMPLE -d, user user < query > /dev/null' elif system['db'] == 'oracle': os.environ['TNS_ADMIN'] = '/home/user/oracleconfig' querycmd = 'sqlplus system/oracle@//127.0.0.1:49161/XE @query-oracle.sql %d > /dev/null' % tuple - jdbcflags = '-u jdbc:oracle:thin:@127.0.0.1:49161:XE -d oracle.jdbc.driver.OracleDriver -n system -p oracle' + jdbcflags = 'oracle.jdbc.driver.OracleDriver jdbc:oracle:thin:@127.0.0.1:49161:XE system oracle' odbccmd = 'isql Oracle -d, < query > /dev/null' # for JDBC/ODBCV query = "SELECT * FROM lineitem where rownum < %d;" % tuple @@ -160,6 +161,11 @@ for r in range(nruns): jdbcflags = None odbccmd = None odbcdriver = None + elif system['db'] == 'hive': + querycmd = None + jdbcflags = 'org.apache.hive.jdbc.HiveDriver jdbc:hive2://localhost:10000 user null' + odbccmd = None + odbcdriver = None elif system['db'] == 'netcat': # open netcat for listening in a separate process filename = '/home/user/lineitem-%d.csv' % tuple @@ -185,7 +191,12 @@ for r in range(nruns): qfile.write("\n") qfile.close() - jdbccmd = 'java -Xmx10G -Djava.security.egd=file:/dev/./urandom -Djava.ext.dirs=/home/user/java/ -jar /home/user/java/sqlline.jar --fastConnect=true --outputformat=csv --isolation=TRANSACTION_SERIALIZABLE --silent=true --showHeader=false %s < query > /dev/null' % jdbcflags + jdbccmd = 'java -Xmx10G -Djava.security.egd=file:/dev/./urandom -cp /home/user/java/pmjc.jar:/home/user/java/db2jcc4.jar:/home/user/java/monetdb-jdbc-2.23.jar:/home/user/java/mariadb-java-client-1.4.6.jar:/home/user/java/ojdbc6_g.jar:/home/user/java/postgresql-9.4.1209.jar:/home/user/java/hive-jdbc-2.1.0-standalone.jar:/home/user/java/hadoop-common-2.6.4.jar %s "%s" 1000' % (jdbcflags, query) + + # special case for hive + if querycmd is None: + querycmd = jdbccmd + jdbccmd = None # getting caches hot benchmark_command(querycmd, system, 'native', network, tuple, r, True)