Написание паркетного файла в 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);