Java tutorial
/* * Copyright (c) 2007-2010 Concurrent, Inc. All Rights Reserved. * * Project and contact information: http://www.cascading.org/ * * This file is part of the Cascading project. * * Cascading is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Cascading is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with Cascading. If not, see <http://www.gnu.org/licenses/>. */ package cascading.tap.hadoop; import java.io.IOException; import org.apache.hadoop.conf.Configuration; import org.apache.hadoop.fs.FSDataOutputStream; import org.apache.hadoop.fs.FileStatus; import org.apache.hadoop.fs.FileSystem; import org.apache.hadoop.fs.Path; import org.apache.hadoop.fs.permission.FsPermission; import org.apache.hadoop.util.Progressable; /** Class StreamedFileSystem is a base class for {@link FileSystem} implementations that manage remote resources. */ public abstract class StreamedFileSystem extends FileSystem { @Override public FSDataOutputStream create(Path path, FsPermission permission, boolean overwrite, int bufferSize, short replication, long blockSize, Progressable progress) throws IOException { throw new UnsupportedOperationException("not supported"); } @Override public boolean rename(Path path, Path path1) throws IOException { throw new UnsupportedOperationException("not supported"); } @Deprecated @Override public boolean delete(Path path) throws IOException { throw new UnsupportedOperationException("not supported"); } @Override public boolean delete(Path path, boolean b) throws IOException { throw new UnsupportedOperationException("not supported"); } @Override public Path getWorkingDirectory() { return new Path("/").makeQualified(this); } @Override public void setWorkingDirectory(Path f) { } @Override public boolean mkdirs(Path path, FsPermission fsPermission) throws IOException { throw new UnsupportedOperationException("not supported"); } @Override public FileStatus[] listStatus(Path path) throws IOException { return new FileStatus[] { getFileStatus(path) }; } public FSDataOutputStream append(Path f, int bufferSize, Progressable progress) throws IOException { throw new UnsupportedOperationException("not supported"); } public static String getMD5SumFor(Configuration conf, Path path) { return getMD5SumFor(conf, path.toString()); } public static String getMD5SumFor(Configuration conf, String path) { return conf.get(path + ".md5"); } public static void setMD5SumFor(Configuration conf, Path path, String md5Hex) { setMD5SumFor(conf, path.toString(), md5Hex); } public static void setMD5SumFor(Configuration conf, String path, String md5Hex) { if (md5Hex == null || md5Hex.length() == 0) return; conf.set(path + ".md5", md5Hex); } }