List of usage examples for org.apache.hadoop.fs FileSystem close
@Override public void close() throws IOException
From source file:AggregatedLogsPurger.java
License:Apache License
public boolean purge() throws IOException { LocalDateTime now = LocalDateTime.now(); LocalDateTime deleteLogsOlderThanTime = now.minusDays(deleteOlderThanDays); //Identify which log dirs should be deleted FileSystem fs = rootLogDir.getFileSystem(conf); try {/* w ww .j a v a2s . c om*/ long totalBytes = 0; for (FileStatus userDir : fs.listStatus(rootLogDir)) { if (userDir.isDirectory()) { Path userDirPath = new Path(userDir.getPath(), suffix); System.out.println("Checking for userDir : " + userDirPath); for (FileStatus appDir : fs.listStatus(userDirPath)) { LocalDateTime appDirDate = getAppDirDateTime(appDir.getModificationTime()); if (appDirDate.isBefore(deleteLogsOlderThanTime)) { long size = getLengthRecursively(fs, appDir.getPath()); System.out.println(appDir.getPath() + ", " + appDir.getOwner() + ", " + appDirDate.toString() + ", size=" + size); totalBytes += size; if (shouldDelete) { System.out.println("Deleting " + appDir.getPath()); fs.delete(appDir.getPath(), true); } } } } } System.out.println("Savings : " + totalBytes); } catch (IOException e) { e.printStackTrace(); return false; } finally { fs.close(); } return true; }
From source file:BigBWA.java
License:Open Source License
@Override public int run(String[] args) throws Exception { Configuration conf = this.getConf(); for (String argumento : args) { LOG.info("Arg: " + argumento); }//from w ww . j av a2s.co m String inputPath = ""; String outputPath = ""; boolean useReducer = false; BwaOptions options = new BwaOptions(args); //We set the timeout and stablish the bwa library to call BWA methods conf.set("mapreduce.task.timeout", "0"); conf.set("mapreduce.map.env", "LD_LIBRARY_PATH=./bwa.zip/"); //==================Algorithm election================== //One of the algorithms is going to be in use, because tge default is always specified. if (options.isMemAlgorithm()) { //Case of the mem algorithm conf.set("mem", "true"); conf.set("aln", "false"); conf.set("bwasw", "false"); } else if (options.isAlnAlgorithm()) { // Case of aln algorithm conf.set("mem", "false"); conf.set("aln", "true"); conf.set("bwasw", "false"); } else if (options.isBwaswAlgorithm()) { // Case of bwasw algorithm conf.set("mem", "false"); conf.set("aln", "false"); conf.set("bwasw", "true"); } //==================Index election================== if (options.getIndexPath() != "") { conf.set("indexRoute", options.getIndexPath()); } else { System.err.println("No index has been found. Aborting."); System.exit(1); } //==================Type of reads election================== //There is always going to be a type of reads, because default is paired if (options.isPairedReads()) { conf.set("paired", "true"); conf.set("single", "false"); } else if (options.isSingleReads()) { conf.set("paired", "false"); conf.set("single", "true"); } //==================Use of reducer================== if (options.isUseReducer()) { useReducer = true; conf.set("useReducer", "true"); } else { conf.set("useReducer", "false"); } //==================Number of threads per map================== if (options.getNumThreads() != "0") { conf.set("bwathreads", options.getNumThreads()); } //==================RG Header=================== if (options.getReadgroupHeader() != "") { conf.set("rgheader", options.getReadgroupHeader()); } //==================Input and output paths================== inputPath = options.getInputPath(); outputPath = options.getOutputPath(); conf.set("outputGenomics", outputPath); //==================Partition number================== if (options.getPartitionNumber() != 0) { try { FileSystem fs = FileSystem.get(conf); Path inputFilePath = new Path(inputPath); ContentSummary cSummary = fs.getContentSummary(inputFilePath); long length = cSummary.getLength(); fs.close(); conf.set("mapreduce.input.fileinputformat.split.maxsize", String.valueOf((length) / options.getPartitionNumber())); conf.set("mapreduce.input.fileinputformat.split.minsize", String.valueOf((length) / options.getPartitionNumber())); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); LOG.error(e.toString()); System.exit(1); } } //Job job = new Job(conf,"BigBWA_"+outputPath); Job job = Job.getInstance(conf, "BigBWA_" + outputPath); job.setJarByClass(BigBWA.class); job.setMapperClass(BigBWAMap.class); //job.setCombinerClass(BigBWACombiner.class); if (useReducer) { job.setReducerClass(BigBWAReducer.class); job.setMapOutputKeyClass(IntWritable.class); job.setMapOutputValueClass(Text.class); job.setNumReduceTasks(1); } else { job.setNumReduceTasks(0); } job.setOutputKeyClass(NullWritable.class); job.setOutputValueClass(Text.class); FileInputFormat.addInputPath(job, new Path(inputPath)); FileOutputFormat.setOutputPath(job, new Path(outputPath)); return (job.waitForCompletion(true) ? 0 : 1); }
From source file:adts.HbaseClient.java
License:Open Source License
public static void main(String[] args) throws IOException { String[] keys = new String[5]; int keywords_counter = 0; Configuration conf = new Configuration(); FileSystem fs = FileSystem.get(conf); Path inFile = new Path(args[0]); if (!fs.exists(inFile)) System.out.println("Input file not found"); if (!fs.isFile(inFile)) System.out.println("Input should be a file"); else {// w w w . j a v a2s . c o m FSDataInputStream fsDataInputStream = fs.open(inFile); BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(fsDataInputStream)); String line; while (((line = bufferedReader.readLine()) != null) && (keywords_counter < 5)) { String[] array = line.split("\t"); String keyword = array[0]; System.out.println("Record : " + keyword); keys[keywords_counter] = keyword; keywords_counter++; } bufferedReader.close(); fs.close(); Configuration config = HBaseConfiguration.create(); HTable table = new HTable(config, "index"); Random randomGenerator = new Random(); for (int i = 0; i < 10; i++) { int randomInt = randomGenerator.nextInt(5); System.out.println("Random chosen keyword : " + keys[randomInt]); FilterList list = new FilterList(FilterList.Operator.MUST_PASS_ALL); SingleColumnValueFilter filter_by_name = new SingleColumnValueFilter(Bytes.toBytes("keyword"), Bytes.toBytes(""), CompareOp.EQUAL, Bytes.toBytes(keys[randomInt])); //filter_by_name.setFilterIfMissing(true); list.addFilter(filter_by_name); Scan scan = new Scan(); scan.setFilter(list); //scan.addFamily(Bytes.toBytes("keyword")); ResultScanner scanner = table.getScanner(scan); try { for (Result rr = scanner.next(); rr != null; rr = scanner.next()) { // print out the row we found and the columns we were looking for byte[] cells = rr.getValue(Bytes.toBytes("article"), Bytes.toBytes("")); System.out.println("Keyword " + keys[randomInt] + "belonging to article with md5 : " + Bytes.toString(cells)); } } catch (Exception e) { e.printStackTrace(); } finally { scanner.close(); } } table.close(); } }
From source file:avro.HadoopAvro.java
License:Open Source License
private void createAvroFile() throws IOException { Path inputPath = new Path(INPUT_PATH); FileSystem fs = FileSystem.get(new Configuration()); fs.delete(inputPath, true);/*w ww . ja v a2 s . c o m*/ DataFileWriter<User> fileWriter = new DataFileWriter<>(new GenericDatumWriter<User>(User.SCHEMA)); fileWriter.create(User.SCHEMA, fs.create(new Path(inputPath, "file.avro"))); IntStream.range(0, 100).mapToObj(i -> new User("name" + i, "pass" + i, i, i % 2 == 0)) .forEach(user -> Util.uncheckRun(() -> fileWriter.append(user))); fileWriter.close(); fs.close(); }
From source file:azkaban.jobtype.hiveutils.azkaban.hive.actions.DropAllPartitionsAddLatest.java
License:Apache License
@Override public void execute() throws HiveViaAzkabanException { ArrayList<HQL> hql = new ArrayList<HQL>(); hql.add(new UseDatabaseHQL(database)); Configuration conf = new Configuration(); try {// w ww .java 2 s .c om FileSystem fs = FileSystem.get(conf); for (String table : tables) { LOG.info("Determining HQL commands for table " + table); hql.addAll(addAndDrop(fs, tableLocations, table)); } fs.close(); } catch (IOException e) { throw new HiveViaAzkabanException("Exception fetching the directories/partitions from HDFS", e); } StringBuffer query = new StringBuffer(); for (HQL q : hql) { query.append(q.toHQL()).append("\n"); } System.out.println("Query to execute:\n" + query.toString()); try { hqe.executeQuery(query.toString()); } catch (HiveQueryExecutionException e) { throw new HiveViaAzkabanException("Problem executing query [" + query.toString() + "] on Hive", e); } }
From source file:azkaban.jobtype.hiveutils.azkaban.hive.actions.UpdateTableLocationToLatest.java
License:Apache License
@Override public void execute() throws HiveViaAzkabanException { ArrayList<HQL> hql = new ArrayList<HQL>(); hql.add(new UseDatabaseHQL(database)); Configuration conf = new Configuration(); try {/*from ww w .ja v a 2s . co m*/ FileSystem fs = FileSystem.get(conf); for (int i = 0; i < tables.length; i++) { LOG.info("Determining HQL commands for table " + tables[i]); hql.add(latestURI(fs, tablesLocations[i], tables[i])); } fs.close(); } catch (IOException e) { throw new HiveViaAzkabanException("Exception fetching the directories from HDFS", e); } StringBuffer query = new StringBuffer(); for (HQL q : hql) { query.append(q.toHQL()).append("\n"); } System.out.println("Query to execute:\n" + query.toString()); try { hqe.executeQuery(query.toString()); } catch (HiveQueryExecutionException e) { throw new HiveViaAzkabanException("Problem executing query [" + query.toString() + "] on Hive", e); } }
From source file:azkaban.viewer.hdfs.HdfsBrowserServlet.java
License:Apache License
private void handleFsDisplay(String user, HttpServletRequest req, HttpServletResponse resp, Session session) throws IOException, ServletException, IllegalArgumentException, IllegalStateException { FileSystem fs = null; try {//from ww w.j av a 2s. c o m fs = getFileSystem(user); } catch (HadoopSecurityManagerException e) { errorPage(user, req, resp, session, "Cannot get FileSystem."); return; } Path path = getPath(req); if (logger.isDebugEnabled()) { logger.debug("path: '" + path.toString() + "'"); } try { if (!fs.exists(path)) { errorPage(user, req, resp, session, path.toUri().getPath() + " does not exist."); fs.close(); return; } } catch (IOException ioe) { logger.error("Got exception while checking for existence of path '" + path + "'", ioe); errorPage(user, req, resp, session, path.toUri().getPath() + " Encountered error while trying to detect if path '" + path + "' exists. Reason: " + ioe.getMessage()); fs.close(); return; } if (fs.isFile(path)) { displayFilePage(fs, user, req, resp, session, path); } else if (fs.getFileStatus(path).isDir()) { displayDirPage(fs, user, req, resp, session, path); } else { errorPage(user, req, resp, session, "It exists, it is not a file, and it is not a directory, what " + "is it precious?"); } fs.close(); }
From source file:azkaban.viewer.hdfs.HdfsBrowserServlet.java
License:Apache License
private void handleAjaxAction(String username, HttpServletRequest request, HttpServletResponse response, Session session) throws ServletException, IOException { Map<String, Object> ret = new HashMap<String, Object>(); FileSystem fs = null; try {//from w w w .ja va 2 s .c o m try { fs = getFileSystem(username); } catch (HadoopSecurityManagerException e) { errorAjax(response, ret, "Cannot get FileSystem."); return; } String ajaxName = getParam(request, "ajax"); Path path = null; if (!hasParam(request, "path")) { errorAjax(response, ret, "Missing parameter 'path'."); return; } path = new Path(getParam(request, "path")); if (!fs.exists(path)) { errorAjax(response, ret, path.toUri().getPath() + " does not exist."); return; } if (ajaxName.equals("fetchschema")) { handleAjaxFetchSchema(fs, request, ret, session, path); } else if (ajaxName.equals("fetchfile")) { // Note: fetchFile writes directly to the output stream. Thus, we need // to make sure we do not write to the output stream once this call // returns. ret = null; handleAjaxFetchFile(fs, request, response, session, path); } else { ret.put("error", "Unknown AJAX action " + ajaxName); } if (ret != null) { this.writeJSON(response, ret); } } finally { fs.close(); } }
From source file:batch.BatchScan2Html.java
License:Apache License
public static void writeAccumuloTableToHdfsAsHtml() throws IOException, URISyntaxException { Configuration configuration = new Configuration(); //TODO add options for URI and output Path FileSystem hdfs = FileSystem.get(new URI("hdfs://n001:54310"), configuration); Path file = new Path("hdfs://n001:54310/s2013/batch/table.html"); //TODO add option to override file default: true if (hdfs.exists(file)) { hdfs.delete(file, true);//from w ww. j a va 2 s . c om } startTime = System.currentTimeMillis(); OutputStream os = hdfs.create(file, new Progressable() { public void progress() { // TODO add a better progress descriptor crudeRunTime = System.currentTimeMillis() - startTime; out.println("...bytes written: [ " + bytesWritten + " ]"); out.println("...bytes / second: [ " + (bytesWritten / crudeRunTime) * 1000 + " ]"); } }); BufferedWriter br = new BufferedWriter(new OutputStreamWriter(os, "UTF-8")); // TODO add option for table id { example } writeHtmlTableHeader(br, "example", new ArrayList<String>(Arrays.asList("Row ID", "Column Family", "Column Qualifier", "Column Visibility", "Timestamp", "Value"))); writeHtmlTableBody(br); out.println("Total bytes written: " + bytesWritten); out.println("Total crude time: " + crudeRunTime / 1000); br.close(); hdfs.close(); }
From source file:boa.datagen.MapFileGen.java
License:Apache License
public static void main(String[] args) throws Exception { if (SEQ_FILE_PATH.isEmpty()) { System.out.println("Missing path to sequence file. Please specify it in the properties file."); return;// ww w. j a va 2s. c o m } String base = "hdfs://boa-njt/"; Configuration conf = new Configuration(); conf.set("fs.default.name", base); FileSystem fs = FileSystem.get(conf); Path path = new Path(SEQ_FILE_PATH); String name = path.getName(); if (fs.isFile(path)) { if (path.getName().equals(MapFile.DATA_FILE_NAME)) { MapFile.fix(fs, path.getParent(), Text.class, BytesWritable.class, false, conf); } else { Path dataFile = new Path(path.getParent(), MapFile.DATA_FILE_NAME); fs.rename(path, dataFile); Path dir = new Path(path.getParent(), name); fs.mkdirs(dir); fs.rename(dataFile, new Path(dir, dataFile.getName())); MapFile.fix(fs, dir, Text.class, BytesWritable.class, false, conf); } } else { FileStatus[] files = fs.listStatus(path); for (FileStatus file : files) { path = file.getPath(); if (fs.isFile(path)) { Path dataFile = new Path(path.getParent(), MapFile.DATA_FILE_NAME); fs.rename(path, dataFile); MapFile.fix(fs, dataFile.getParent(), Text.class, BytesWritable.class, false, conf); break; } } } fs.close(); }