private static Options getCLIOptions() { final Options options = new Options(); options.addOption(CommandLineUtil.generateOption("m", METADATA_FILE_OPTION, true, "HDFS metadata file", true)); return options; } }
public static void main(final String[] args) throws ParseException, IOException { final CommandLineParser parser = new GnuParser(); final Options options = getCLIOptions(); final CommandLine cmd; try { cmd = parser.parse(options, args); } catch (final ParseException e) { final String cmdLineSyntax = "java -cp [jar_name] com.uber.marmaray.tools.HDFSMetadataPrinter " + "-m [METADATA_FILE]"; final String header = "This tools prints out all the metadata contents of a HDFS metadata file."; final String footer = "For help, please contact the Hadoop Data Platform team"; CommandLineUtil.printHelp(options, cmdLineSyntax, header, footer); throw e; } final String metadataFilePath = cmd.getOptionValue(METADATA_FILE_OPTION); Preconditions.checkState(!Strings.isNullOrEmpty(metadataFilePath)); log.info("Printing contents of metadata file: " + metadataFilePath); final Configuration conf = new Configuration(); final FileSystem fs = FSUtils.getFs(conf); try (final InputStream is = new BufferedInputStream(fs.open(new Path(metadataFilePath)))) { try (final ObjectInputStream input = new ObjectInputStream(is)) { final Map<String, StringValue> metadataMap = HDFSMetadataManager.deserialize(input); metadataMap.entrySet() .stream() .forEach(entry -> log.info("Key: " + entry.getKey() + " Value: " + entry.getValue().getValue())); } } }
final String header = "This tool prunes metadata files for an HDFS path by modification time"; final String footer = "For help, please contact the Hadoop Data Platform team"; CommandLineUtil.printHelp(options, cmdLineSyntax, header, footer); throw e;
private static Options getCLIOptions() { final Options options = new Options(); options.addOption(CommandLineUtil.generateOption(HDFS_PATH_SHORT_OPTION, HDFS_PATH_LONG_OPTION, true, "HDFS path", true)); options.addOption(CommandLineUtil.generateOption(NUM_METADATA_FILES_RETAINED_SHORT_OPTION, NUM_METADATA_FILES_RETAINED_LONG_OPTION, true, "number of metadata files to retain", false)); options.addOption(CommandLineUtil.generateOption(FAKE_DELETE_SHORT_OPTION, FAKE_DELETE_LONG_OPTION, true, "fake delete", false)); return options; } }