List of usage examples for org.apache.hadoop.fs FileChecksum getLength
public abstract int getLength();
From source file:com.twitter.elephanttwin.indexing.AbstractBlockIndexingJob.java
License:Open Source License
/** * Create a FileIndexDescriptor to describe what columns have been indexed * @param path/* w w w. j ava 2 s.com*/ * the path to the directory where index files are stored for the * input file * @return FileIndexDescriptor * @throws IOException */ protected void createIndexDescriptors(FileStatus inputFile, FileSystem fs) throws IOException { Path indexFilePath = new Path(getIndex() + inputFile.getPath().toUri().getRawPath()); FileIndexDescriptor fid = new FileIndexDescriptor(); fid.setSourcePath(inputFile.getPath().toString()); fid.setDocType(getExpectedDocType()); LOG.info("getting checksum from:" + inputFile.getPath()); FileChecksum cksum = fs.getFileChecksum(inputFile.getPath()); com.twitter.elephanttwin.gen.FileChecksum fidCksum = null; if (cksum != null) fidCksum = new com.twitter.elephanttwin.gen.FileChecksum(cksum.getAlgorithmName(), ByteBuffer.wrap(cksum.getBytes()), cksum.getLength()); fid.setChecksum(fidCksum); fid.setIndexedFields(getIndexedFields()); fid.setIndexType(getIndexType()); fid.setIndexVersion(getIndexVersion()); Path idxPath = new Path(indexFilePath + "/" + BlockIndexedFileInputFormat.INDEXMETAFILENAME); FSDataOutputStream os = fs.create(idxPath, true); @SuppressWarnings("unchecked") ThriftWritable<FileIndexDescriptor> writable = (ThriftWritable<FileIndexDescriptor>) ThriftWritable .newInstance(fid.getClass()); writable.set(fid); writable.write(os); os.close(); }
From source file:com.twitter.elephanttwin.lucene.indexing.AbstractLuceneIndexingJob.java
License:Apache License
/** * Populates FileIndexDescriptor with common things like name, checksum, etc. * @param path/* www .ja va 2s. c o m*/ * @return * @throws IOException */ protected FileIndexDescriptor buildFileIndexDescriptor(Path path) throws IOException { FileIndexDescriptor fid = new FileIndexDescriptor(); fid.setSourcePath(path.toString()); fid.setDocType(getExpectedDocType()); FileChecksum cksum = path.getFileSystem(getConf()).getFileChecksum(path); com.twitter.elephanttwin.gen.FileChecksum fidCksum = new com.twitter.elephanttwin.gen.FileChecksum( cksum.getAlgorithmName(), ByteBuffer.wrap(cksum.getBytes()), cksum.getLength()); fid.setChecksum(fidCksum); fid.setIndexedFields(getIndexedFields()); fid.setIndexType(getIndexType()); fid.setIndexVersion(getIndexVersion()); return fid; }