blob: 46701d1882b16b6d4c94c55b8c628f87142f4a55 [file] [log] [blame]
/*
* Licensed to the Apache Software Foundation (ASF) under one
* or more contributor license agreements. See the NOTICE file
* distributed with this work for additional information
* regarding copyright ownership. The ASF licenses this file
* to you under the Apache License, Version 2.0 (the
* "License"); you may not use this file except in compliance
* with the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package com.mapr.drill.maprdb.tests.index;
import com.mapr.db.Admin;
import com.mapr.db.MapRDB;
import org.apache.drill.common.util.GuavaPatcher;
import java.util.HashMap;
import java.util.Map;
/**
* Copy classes to a MapR cluster node, then run a command like this:
* java -classpath /tmp/drill-cmd-1.9.0-SNAPSHOT.jar:/opt/mapr/drill/drill-1.9.0/jars/*:/opt/mapr/drill/drill-1.9.0/jars/3rdparty/*:/opt/mapr/drill/drill-1.9.0/jars/ext/*
* org.apache.drill.hbase.index.TableIndexGen -host 10.10.88.128 -port 5181 [-table pop3] [-size 1000000]
*/
class TestBigTable {
Admin admin;
boolean initialized = false;
LargeTableGen gen;
/*
"hbase.zookeeper.quorum": "10.10.88.128",
"hbase.zookeeper.property.clientPort": "5181"
*/
void init(String host, String port) {
try {
admin = MapRDB.newAdmin();
initialized = true;
gen = new LargeTableGen(admin);
} catch (Exception e) {
System.out.println("Connection to HBase threw" + e.getMessage());
}
}
}
public class TableIndexCmd {
public static Map<String,String> parseParameter(String[] params) {
HashMap<String,String> retParams = new HashMap<String, String>();
for (int i=0; i<params.length; ++i) {
if (params[i].startsWith("-") && i<params.length - 1) {
String paramName = params[i].replaceFirst("-*", "");
retParams.put(paramName, params[i+1]);
++i;
}
}
return retParams;
}
public static void pressEnterKeyToContinue()
{
System.out.println("Press any key to continue...");
try {
System.in.read();
} catch(Exception e) {}
}
public static void main(String[] args) {
GuavaPatcher.patch();
String inHost = "localhost";
String inPort = "5181";
String inTable = "/tmp/population";
String dictPath = "hbase";
boolean waitKeyPress = true;
long inSize = 10000;
Map<String, String> params = parseParameter(args);
if (args.length >= 2) {
if (params.get("host") != null) {
inHost = params.get("host");
}
if (params.get("port") != null) {
inPort = params.get("port");
}
if (params.get("table") != null) {
inTable = params.get("table");
}
if (params.get("size") != null) {
inSize = Long.parseLong(params.get("size"));
}
if (params.get("dict") != null) {
dictPath = params.get("dict");
}
if (params.get("wait") != null) {
String answer = params.get("wait");
waitKeyPress = answer.startsWith("y") || answer.startsWith("t")? true : false;
}
}
if (waitKeyPress == true) {
pressEnterKeyToContinue();
}
try {
TestBigTable tbt = new TestBigTable();
tbt.init(inHost, inPort);
tbt.gen.generateTableWithIndex(inTable, (int)(inSize & 0xFFFFFFFFL), null);
} catch(Exception e) {
System.out.println("generate big table got exception:" + e.getMessage());
e.printStackTrace();
}
}
}