2

寄木細工の入力ファイルがあります。ドライバー クラスでその入力ファイルを読み取り、何らかの処理を行ってジョブの構成を設定したいと考えています。

これについていくつかの情報を教えてください。

4

1 に答える 1

2

次の方法を使用して、ドライバー クラスで Parquet ファイルを読み取りました。

 ParquetMetadata readFooter = ParquetFileReader.readFooter(configuration, parquetFilePath);
MessageType schema = readFooter.getFileMetaData().getSchema();
ParquetFileReader parquetFileReader = new ParquetFileReader(
    configuration, parquetFilePath, readFooter.getBlocks(), schema.getColumns());
BufferedWriter w = new BufferedWriter(new FileWriter(csvOutputFile));
PageReadStore pages = null;
try {
  while (null != (pages = parquetFileReader.readNextRowGroup())) {
    final long rows = pages.getRowCount();
    LOG.info("Number of rows: " + rows);

    final MessageColumnIO columnIO = new ColumnIOFactory().getColumnIO(schema);
    final RecordReader<Group> recordReader = columnIO.getRecordReader(pages, new GroupRecordConverter(schema));
    for (int i = 0; i < rows; i++) {
      final Group g = recordReader.read();
    }
  }
}
于 2015-04-16T06:03:26.533 に答える