<dependencies>
<dependency>
<groupId>org.apache.parquet</groupId>
<artifactId>parquet-avro</artifactId>
<version>1.11.1</version>
</dependency>
</dependencies>
import org.apache.parquet.avro.AvroParquetWriter;
import org.apache.parquet.hadoop.ParquetWriter;
import org.apache.avro.Schema;
import org.apache.avro.generic.GenericData;
import org.apache.avro.generic.GenericRecord;
import org.apache.hadoop.fs.Path;
public class ParquetWriterExample {
public static void main(String[] args) {
String avroSchema = "{\"type\":\"record\",\"name\":\"example\",\"fields\":[{\"name\":\"name\",\"type\":\"string\"},{\"name\":\"age\",\"type\":\"int\"}]}";
Schema schema = new Schema.Parser().parse(avroSchema);
try (ParquetWriter<GenericRecord> writer = AvroParquetWriter
.<GenericRecord>builder(new Path("example.parquet"))
.withSchema(schema)
.build()) {
GenericRecord record = new GenericData.Record(schema);
record.put("name", "John");
record.put("age", 30);
writer.write(record);
} catch (IOException e) {
e.printStackTrace();
}
}
}
import org.apache.parquet.avro.AvroParquetReader;
import org.apache.avro.generic.GenericRecord;
import org.apache.hadoop.fs.Path;
public class ParquetReaderExample {
public static void main(String[] args) {
try (ParquetReader<GenericRecord> reader = AvroParquetReader
.<GenericRecord>builder(new Path("example.parquet"))
.build()) {
GenericRecord record;
while ((record = reader.read()) != null) {
System.out.println("Name: " + record.get("name"));
System.out.println("Age: " + record.get("age"));
}
} catch (IOException e) {
e.printStackTrace();
}
}
}