Search in sources :

Example 1 with GnuParser

use of org.apache.commons.cli.GnuParser in project hive by apache.

the class HBaseSchemaTool method main.

public static void main(String[] args) {
    Options options = new Options();
    options.addOption(OptionBuilder.withLongOpt("help").withDescription("You're looking at it").create('h'));
    options.addOption(OptionBuilder.withLongOpt("install").withDescription("Install the schema onto an HBase cluster.").create('i'));
    options.addOption(OptionBuilder.withLongOpt("key").withDescription("Key to scan with.  This should be an exact key (not a regular expression").hasArg().create('k'));
    options.addOption(OptionBuilder.withLongOpt("list-tables").withDescription("List tables in HBase metastore").create('l'));
    options.addOption(OptionBuilder.withLongOpt("regex-key").withDescription("Regular expression to scan keys with.").hasArg().create('r'));
    options.addOption(OptionBuilder.withLongOpt("table").withDescription("HBase metastore table to scan").hasArg().create('t'));
    CommandLine cli = null;
    try {
        cli = new GnuParser().parse(options, args);
    } catch (ParseException e) {
        System.err.println("Parse Exception: " + e.getMessage());
        usage(options);
        return;
    }
    if (cli.hasOption('h')) {
        usage(options);
        return;
    }
    Configuration conf = new Configuration();
    if (cli.hasOption('i')) {
        new HBaseSchemaTool().install(conf, System.err);
        return;
    }
    String key = null;
    if (cli.hasOption('k'))
        key = cli.getOptionValue('k');
    String regex = null;
    if (cli.hasOption('r'))
        regex = cli.getOptionValue('r');
    if (key != null && regex != null) {
        usage(options);
        return;
    }
    if (key == null && regex == null)
        regex = ".*";
    // I do this in the object rather than in the static main so that it's easier to test.
    new HBaseSchemaTool().go(cli.hasOption('l'), cli.getOptionValue('t'), key, regex, conf, System.out, System.err);
}
Also used : Options(org.apache.commons.cli.Options) CommandLine(org.apache.commons.cli.CommandLine) Configuration(org.apache.hadoop.conf.Configuration) GnuParser(org.apache.commons.cli.GnuParser) ParseException(org.apache.commons.cli.ParseException)

Example 2 with GnuParser

use of org.apache.commons.cli.GnuParser in project hive by apache.

the class HBaseImport method init.

private int init(String... args) throws ParseException {
    Options options = new Options();
    doAll = doKerberos = false;
    parallel = 1;
    batchSize = 1000;
    options.addOption(OptionBuilder.withLongOpt("all").withDescription("Import the full metastore").create('a'));
    options.addOption(OptionBuilder.withLongOpt("batchsize").withDescription("Number of partitions to read and write in a batch, defaults to 1000").hasArg().create('b'));
    options.addOption(OptionBuilder.withLongOpt("database").withDescription("Import a single database").hasArgs().create('d'));
    options.addOption(OptionBuilder.withLongOpt("help").withDescription("You're looking at it").create('h'));
    options.addOption(OptionBuilder.withLongOpt("function").withDescription("Import a single function").hasArgs().create('f'));
    options.addOption(OptionBuilder.withLongOpt("kerberos").withDescription("Import all kerberos related objects (master key, tokens)").create('k'));
    options.addOption(OptionBuilder.withLongOpt("parallel").withDescription("Parallel factor for loading (only applied to tables and partitions), " + "defaults to 1").hasArg().create('p'));
    options.addOption(OptionBuilder.withLongOpt("role").withDescription("Import a single role").hasArgs().create('r'));
    options.addOption(OptionBuilder.withLongOpt("tables").withDescription("Import a single tables").hasArgs().create('t'));
    CommandLine cli = new GnuParser().parse(options, args);
    // Process help, if it was asked for, this must be done first
    if (cli.hasOption('h')) {
        printHelp(options);
        return 1;
    }
    boolean hasCmd = false;
    // Now process the other command line args
    if (cli.hasOption('a')) {
        hasCmd = true;
        doAll = true;
    }
    if (cli.hasOption('b')) {
        batchSize = Integer.parseInt(cli.getOptionValue('b'));
    }
    if (cli.hasOption('d')) {
        hasCmd = true;
        dbsToImport = Arrays.asList(cli.getOptionValues('d'));
    }
    if (cli.hasOption('f')) {
        hasCmd = true;
        functionsToImport = Arrays.asList(cli.getOptionValues('f'));
    }
    if (cli.hasOption('p')) {
        parallel = Integer.parseInt(cli.getOptionValue('p'));
    }
    if (cli.hasOption('r')) {
        hasCmd = true;
        rolesToImport = Arrays.asList(cli.getOptionValues('r'));
    }
    if (cli.hasOption('k')) {
        doKerberos = true;
    }
    if (cli.hasOption('t')) {
        hasCmd = true;
        tablesToImport = Arrays.asList(cli.getOptionValues('t'));
    }
    if (!hasCmd) {
        printHelp(options);
        return 1;
    }
    dbs = new ArrayList<>();
    // We don't want to bound the size of the table queue because we keep it all in memory
    partitionedTables = new LinkedBlockingQueue<>();
    tableNameQueue = new LinkedBlockingQueue<>();
    indexNameQueue = new LinkedBlockingQueue<>();
    // Bound the size of this queue so we don't get too much in memory.
    partQueue = new ArrayBlockingQueue<>(parallel * 2);
    return 0;
}
Also used : Options(org.apache.commons.cli.Options) CommandLine(org.apache.commons.cli.CommandLine) GnuParser(org.apache.commons.cli.GnuParser)

Example 3 with GnuParser

use of org.apache.commons.cli.GnuParser in project pinot by linkedin.

the class FileBasedServer method processCommandLineArgs.

private static void processCommandLineArgs(String[] cliArgs) throws ParseException {
    CommandLineParser cliParser = new GnuParser();
    Options cliOptions = buildCommandLineOptions();
    CommandLine cmd = cliParser.parse(cliOptions, cliArgs, true);
    if (!cmd.hasOption(SERVER_CONFIG_OPT_NAME) || !cmd.hasOption(SERVER_PORT_OPT_NAME)) {
        System.err.println("Missing required arguments !!");
        System.err.println(cliOptions);
        throw new RuntimeException("Missing required arguments !!");
    }
    _serverConfigPath = cmd.getOptionValue(SERVER_CONFIG_OPT_NAME);
    _serverPort = Integer.parseInt(cmd.getOptionValue(SERVER_PORT_OPT_NAME));
}
Also used : Options(org.apache.commons.cli.Options) CommandLine(org.apache.commons.cli.CommandLine) GnuParser(org.apache.commons.cli.GnuParser) CommandLineParser(org.apache.commons.cli.CommandLineParser)

Example 4 with GnuParser

use of org.apache.commons.cli.GnuParser in project pinot by linkedin.

the class ScatterGatherPerfServer method main.

/**
   * @param args
   */
public static void main(String[] args) throws Exception {
    CommandLineParser cliParser = new GnuParser();
    Options cliOptions = buildCommandLineOptions();
    CommandLine cmd = cliParser.parse(cliOptions, args, true);
    if (!cmd.hasOption(RESPONSE_SIZE_OPT_NAME) || !cmd.hasOption(SERVER_PORT_OPT_NAME)) {
        System.err.println("Missing required arguments !!");
        System.err.println(cliOptions);
        throw new RuntimeException("Missing required arguments !!");
    }
    int responseSize = Integer.parseInt(cmd.getOptionValue(RESPONSE_SIZE_OPT_NAME));
    int serverPort = Integer.parseInt(cmd.getOptionValue(SERVER_PORT_OPT_NAME));
    // 2ms latency
    ScatterGatherPerfServer server = new ScatterGatherPerfServer(serverPort, responseSize, 2);
    server.run();
}
Also used : Options(org.apache.commons.cli.Options) CommandLine(org.apache.commons.cli.CommandLine) GnuParser(org.apache.commons.cli.GnuParser) CommandLineParser(org.apache.commons.cli.CommandLineParser)

Example 5 with GnuParser

use of org.apache.commons.cli.GnuParser in project pinot by linkedin.

the class ScatterGatherPerfClient method main.

public static void main(String[] args) throws Exception {
    //Process Command Line to get config and port
    CommandLineParser cliParser = new GnuParser();
    Options cliOptions = buildCommandLineOptions();
    CommandLine cmd = cliParser.parse(cliOptions, args, true);
    if ((!cmd.hasOption(BROKER_CONFIG_OPT_NAME)) || (!cmd.hasOption(REQUEST_SIZE_OPT_NAME)) || (!cmd.hasOption(TABLE_NAME_OPT_NAME)) || (!cmd.hasOption(TABLE_NAME_OPT_NAME))) {
        System.err.println("Missing required arguments !!");
        System.err.println(cliOptions);
        throw new RuntimeException("Missing required arguments !!");
    }
    String brokerConfigPath = cmd.getOptionValue(BROKER_CONFIG_OPT_NAME);
    int requestSize = Integer.parseInt(cmd.getOptionValue(REQUEST_SIZE_OPT_NAME));
    int numRequests = Integer.parseInt(cmd.getOptionValue(NUM_REQUESTS_OPT_NAME));
    String resourceName = cmd.getOptionValue(TABLE_NAME_OPT_NAME);
    // build  brokerConf
    PropertiesConfiguration brokerConf = new PropertiesConfiguration();
    brokerConf.setDelimiterParsingDisabled(false);
    brokerConf.load(brokerConfigPath);
    RoutingTableConfig config = new RoutingTableConfig();
    config.init(brokerConf.subset(ROUTING_CFG_PREFIX));
    ScatterGatherPerfClient client = new ScatterGatherPerfClient(config, requestSize, resourceName, false, numRequests, 1, 1);
    client.run();
    System.out.println("Shutting down !!");
    client.shutdown();
    System.out.println("Shut down complete !!");
}
Also used : Options(org.apache.commons.cli.Options) CommandLine(org.apache.commons.cli.CommandLine) GnuParser(org.apache.commons.cli.GnuParser) RoutingTableConfig(com.linkedin.pinot.transport.config.RoutingTableConfig) CommandLineParser(org.apache.commons.cli.CommandLineParser) PropertiesConfiguration(org.apache.commons.configuration.PropertiesConfiguration)

Aggregations

GnuParser (org.apache.commons.cli.GnuParser)271 CommandLine (org.apache.commons.cli.CommandLine)237 Options (org.apache.commons.cli.Options)210 CommandLineParser (org.apache.commons.cli.CommandLineParser)206 ParseException (org.apache.commons.cli.ParseException)173 HelpFormatter (org.apache.commons.cli.HelpFormatter)110 IOException (java.io.IOException)56 Option (org.apache.commons.cli.Option)54 Path (org.apache.hadoop.fs.Path)48 File (java.io.File)37 Job (org.apache.hadoop.mapreduce.Job)28 Configuration (org.apache.hadoop.conf.Configuration)22 ArrayList (java.util.ArrayList)19 Properties (java.util.Properties)16 FileInputStream (java.io.FileInputStream)14 FileSystem (org.apache.hadoop.fs.FileSystem)12 MissingArgumentException (org.apache.commons.cli.MissingArgumentException)9 Parser (org.apache.commons.cli.Parser)9 URI (java.net.URI)8 BufferedReader (java.io.BufferedReader)7