Написание паркетного файла в Apache Crunch

Я новичок в apache crunch и ищу чтение и запись файла Parquet в apache crunch. Я следовал документации и API, но не получил прямого подхода / метода для того же.

PCollection<String> pipeLine = MemPipeline.collectionOf("Pineapple", "Banana", "Orange");

PCollection<Integer> b = pipeLine.parallelDo(new DoFn<String, Integer>() {

   private static final long serialVersionUID = 1L;

   @Override
   public void process(String input, Emitter<Integer> emitter) {
        emitter.emit(input.length());
    }
  }, ints());

  b.write(new AvroParquetFileTarget("D:\\Tutorials\\CCP_WorkSpace\\Crunch\\resources\\output"));

Заранее спасибо.

1 ответ

Если у вас есть схема avro и скомпилированный класс из этого avro, который содержит ту же структуру ваших данных паркета, вы можете прочитать ее следующим образом

AvroParquetFileSource<MyClassCompiled> avroParquetFileSource = 
new AvroParquetFileSource<MyClassCompiled>(
                    new Path(input), Avros.records(MyClassCompiled.class)
);

и напиши паркет вот так

Target parquetFileTarget = new AvroParquetFileTarget(outputPath);
mypcollection.write(avroParquetFileSource);
Другие вопросы по тегам