mapreduce - 在 Driver 类中读取 Parquet 文件

标签 mapreduce parquet

我有一个 Parquet 输入文件。我想在我的驱动程序类中读取该输入文件并进行一些处理来设置我的作业配置。

请给我一些关于此的意见。

最佳答案

我使用以下方式读取驱动程序类中的 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();
    }
  }
}

关于mapreduce - 在 Driver 类中读取 Parquet 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29643935/

相关文章:

apache-spark - 读取或写入 Parquet 格式数据时出错

hive - 设置 parquet snappy 输出文件大小是 hive?

Hadoop MapReduce DBInputFormat 和 DBOutputFormat

java - 在从属节点上执行的 Hadoop java 映射器作业,目录问题

hadoop - 在Hadoop中找到最大值

apache-spark - Spark Parquet 读取错误 : java. io.EOFException:到达流的末尾,还有 XXXXX 个字节可供读取

python - 如何从 Azure blob 存储将 parquet 文件读入 pandas

java - 映射器和缩减器的数量。这是什么意思?

amazon-web-services - 未设置 Pig 模式元组。不会生成代码

google-bigquery - Airflow - 将 Parquet 表加载到 BigQuery 中