当前位置: 首页>>代码示例>>Java>>正文


Java AvroFSInput类代码示例

本文整理汇总了Java中org.apache.hadoop.fs.AvroFSInput的典型用法代码示例。如果您正苦于以下问题:Java AvroFSInput类的具体用法?Java AvroFSInput怎么用?Java AvroFSInput使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。


AvroFSInput类属于org.apache.hadoop.fs包,在下文中一共展示了AvroFSInput类的6个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。

示例1: AvroFileInputStream

import org.apache.hadoop.fs.AvroFSInput; //导入依赖的package包/类
public AvroFileInputStream(FileStatus status) throws IOException {
  pos = 0;
  buffer = new byte[0];
  GenericDatumReader<Object> reader = new GenericDatumReader<Object>();
  FileContext fc = FileContext.getFileContext(new Configuration());
  fileReader =
    DataFileReader.openReader(new AvroFSInput(fc, status.getPath()),reader);
  Schema schema = fileReader.getSchema();
  writer = new GenericDatumWriter<Object>(schema);
  output = new ByteArrayOutputStream();
  JsonGenerator generator =
    new JsonFactory().createJsonGenerator(output, JsonEncoding.UTF8);
  MinimalPrettyPrinter prettyPrinter = new MinimalPrettyPrinter();
  prettyPrinter.setRootValueSeparator(System.getProperty("line.separator"));
  generator.setPrettyPrinter(prettyPrinter);
  encoder = EncoderFactory.get().jsonEncoder(schema, generator);
}
 
开发者ID:nucypher,项目名称:hadoop-oss,代码行数:18,代码来源:Display.java

示例2: getSingleFileReader

import org.apache.hadoop.fs.AvroFSInput; //导入依赖的package包/类
/**
 * Get a reader for the specified Avro file. A utility function. 
 * @param path path to the existing file
 * @param readerSchema optional reader schema. If you want to use the
 *		default option of using writer schema as the reader schema, pass the
 *		{@code null} value. 
 * @throws IOException
 */
private static <T> DataFileReader<T> getSingleFileReader(
		FileSystemPath path, Schema readerSchema) throws IOException{
	try{
	SpecificDatumReader<T> datumReader = new SpecificDatumReader<T>();
	if(readerSchema != null){
		datumReader.setExpected(readerSchema);
	}
	long len = path.getFileSystem().getFileStatus(path.getPath()).getLen();
	FSDataInputStream inputStream = path.getFileSystem().open(path.getPath());
	return new DataFileReader<T>(
			new AvroFSInput(inputStream, len), datumReader);
	} catch (IOException ex){
		throw new IOException("Problem with file \""+
				path.getPath().toString()+"\": "+ex.getMessage(), ex);
	}
}
 
开发者ID:openaire,项目名称:iis,代码行数:25,代码来源:AvroDataStoreReader.java

示例3: open

import org.apache.hadoop.fs.AvroFSInput; //导入依赖的package包/类
@Override
public void open() {
  Preconditions.checkState(state.equals(ReaderWriterState.NEW),
    "A reader may not be opened more than once - current state:%s", state);

  logger.debug("Opening reader on path:{}", path);

  try {
    reader = new DataFileReader<E>(new AvroFSInput(fileSystem.open(path),
      fileSystem.getFileStatus(path).getLen()), new ReflectDatumReader<E>(
      schema));
  } catch (IOException e) {
    throw new DatasetReaderException("Unable to create reader path:" + path, e);
  }

  state = ReaderWriterState.OPEN;
}
 
开发者ID:cloudera,项目名称:cdk,代码行数:18,代码来源:FileSystemDatasetReader.java

示例4: AvroFileReader

import org.apache.hadoop.fs.AvroFSInput; //导入依赖的package包/类
public AvroFileReader(FileSystem fs, Path filePath, Map<String, Object> config) throws IOException {
    super(fs, filePath, new GenericRecordToStruct(), config);

    AvroFSInput input = new AvroFSInput(FileContext.getFileContext(filePath.toUri()), filePath);
    this.reader = new DataFileReader<>(input, new SpecificDatumReader<>(this.schema));
    this.offset = new AvroOffset(0);
}
 
开发者ID:mmolimar,项目名称:kafka-connect-fs,代码行数:8,代码来源:AvroFileReader.java

示例5: open

import org.apache.hadoop.fs.AvroFSInput; //导入依赖的package包/类
@Override
public void open(String pathStr, String singleFileOffset) {
  LOG.info(String.format("%s: Open file [%s] with file offset [%s] for read", systemStreamPartition, pathStr, singleFileOffset));
  Path path = new Path(pathStr);
  try {
    AvroFSInput input = new AvroFSInput(FileContext.getFileContext(path.toUri()), path);
    fileReader = new DataFileReader<>(input, new GenericDatumReader<>());
    seek(singleFileOffset);
  } catch (IOException e) {
    throw new SamzaException(e);
  }
}
 
开发者ID:apache,项目名称:samza,代码行数:13,代码来源:AvroFileHdfsReader.java

示例6: main

import org.apache.hadoop.fs.AvroFSInput; //导入依赖的package包/类
public static void main(String[] args) throws IOException {
  if (args.length == 0) {
    System.out.println("AvroReader {dataFile} {schemaFile} {max.lines.to.read.optional}");
  }
  
  
  String dataFile = args[0];
  String schemaFile = args[1];
  int recordsToRead = Integer.MAX_VALUE;
  if (args.length > 2) {
    recordsToRead = Integer.parseInt(args[2]);
  }
  
  Schema.Parser parser = new Schema.Parser();
  Configuration config = new Configuration();
  FileSystem fs = FileSystem.get(config);
  
  Schema schema = parser.parse(fs.open(new Path(schemaFile)));
  
  Path dataFilePath = new Path(dataFile);
  FileStatus fileStatus = fs.getFileStatus(dataFilePath);
  
  AvroFSInput input = new AvroFSInput(fs.open(dataFilePath), fileStatus.getLen());
  
  DatumReader<GenericRecord> datumReader = new GenericDatumReader<GenericRecord>(schema);
  DataFileReader<GenericRecord> dataFileReader = new DataFileReader<GenericRecord>(input, datumReader);
  System.out.println("Schema: " + dataFileReader.getSchema());
  System.out.println();
  int counter = 0;
  while (dataFileReader.hasNext() && counter++ < recordsToRead) {
    GenericRecord r = dataFileReader.next();
    System.out.println(counter + " : " + r);
  }
}
 
开发者ID:tmalaska,项目名称:HBase-ToHDFS,代码行数:35,代码来源:AvroReader.java


注:本文中的org.apache.hadoop.fs.AvroFSInput类示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。