Skip to content

Commit 8ef26aa

Browse files
committed
[spi] Add Protobuf entry in RecordReaderFactory
1 parent 0a951fa commit 8ef26aa

File tree

4 files changed

+10
-1
lines changed

4 files changed

+10
-1
lines changed

pinot-spi/src/main/java/org/apache/pinot/spi/data/readers/FileFormat.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,5 +19,5 @@
1919
package org.apache.pinot.spi.data.readers;
2020

2121
public enum FileFormat {
22-
AVRO, GZIPPED_AVRO, CSV, JSON, PINOT, THRIFT, PARQUET, ORC, PROTO, OTHER
22+
AVRO, GZIPPED_AVRO, CSV, JSON, PINOT, THRIFT, PARQUET, ORC, PROTO, OTHER, PROTOBUF
2323
}

pinot-spi/src/main/java/org/apache/pinot/spi/data/readers/RecordReaderFactory.java

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -53,6 +53,10 @@ private RecordReaderFactory() {
5353
"org.apache.pinot.plugin.inputformat.parquet.ParquetRecordReader";
5454
static final String DEFAULT_PARQUET_RECORD_READER_CONFIG_CLASS =
5555
"org.apache.pinot.plugin.inputformat.parquet.ParquetRecordReaderConfig";
56+
static final String DEFAULT_PROTO_RECORD_READER_CLASS =
57+
"org.apache.pinot.plugin.inputformat.protobuf.ProtoBufRecordReader";
58+
static final String DEFAULT_PROTO_RECORD_READER_CONFIG_CLASS =
59+
"org.apache.pinot.plugin.inputformat.protobuf.ProtoBufRecordReaderConfig";
5660

5761
public static void register(String fileFormat, String recordReaderClassName, String recordReaderConfigClassName) {
5862
DEFAULT_RECORD_READER_CLASS_MAP.put(fileFormat.toUpperCase(), recordReaderClassName);
@@ -71,6 +75,7 @@ public static void register(FileFormat fileFormat, String recordReaderClassName,
7175
register(FileFormat.THRIFT, DEFAULT_THRIFT_RECORD_READER_CLASS, DEFAULT_THRIFT_RECORD_READER_CONFIG_CLASS);
7276
register(FileFormat.ORC, DEFAULT_ORC_RECORD_READER_CLASS, null);
7377
register(FileFormat.PARQUET, DEFAULT_PARQUET_RECORD_READER_CLASS, DEFAULT_PARQUET_RECORD_READER_CONFIG_CLASS);
78+
register(FileFormat.PROTOBUF, DEFAULT_PROTO_RECORD_READER_CLASS, DEFAULT_PROTO_RECORD_READER_CONFIG_CLASS);
7479
}
7580

7681
/**

pinot-spi/src/test/java/org/apache/pinot/spi/data/readers/RecordReaderFactoryTest.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,7 @@ public void testGetRecordReaderClassName() {
3636
assertEquals(getRecordReaderClassName("thrift"), DEFAULT_THRIFT_RECORD_READER_CLASS);
3737
assertEquals(getRecordReaderClassName("orc"), DEFAULT_ORC_RECORD_READER_CLASS);
3838
assertEquals(getRecordReaderClassName("parquet"), DEFAULT_PARQUET_RECORD_READER_CLASS);
39+
assertEquals(getRecordReaderClassName("protobuf"), DEFAULT_PROTO_RECORD_READER_CLASS);
3940
}
4041

4142
@Test
@@ -47,5 +48,6 @@ public void testGetRecordReaderConfigClassName() {
4748
assertEquals(getRecordReaderConfigClassName("thrift"), DEFAULT_THRIFT_RECORD_READER_CONFIG_CLASS);
4849
assertNull(getRecordReaderConfigClassName("orc"));
4950
assertEquals(getRecordReaderConfigClassName("parquet"), DEFAULT_PARQUET_RECORD_READER_CONFIG_CLASS);
51+
assertEquals(getRecordReaderConfigClassName("protobuf"), DEFAULT_PROTO_RECORD_READER_CONFIG_CLASS);
5052
}
5153
}

pinot-tools/src/main/java/org/apache/pinot/tools/admin/command/ImportDataCommand.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -379,6 +379,7 @@ private String getRecordReaderConfigClass(FileFormat format) {
379379
return "org.apache.pinot.plugin.inputformat.avro.AvroRecordReaderConfig";
380380
case CSV:
381381
return "org.apache.pinot.plugin.inputformat.csv.CSVRecordReaderConfig";
382+
case PROTOBUF:
382383
case PROTO:
383384
return "org.apache.pinot.plugin.inputformat.protobuf.ProtoBufRecordReaderConfig";
384385
case THRIFT:
@@ -405,6 +406,7 @@ private String getRecordReaderClass(FileFormat format) {
405406
return "org.apache.pinot.plugin.inputformat.avro.AvroRecordReader";
406407
case PARQUET:
407408
return "org.apache.pinot.plugin.inputformat.parquet.ParquetRecordReader";
409+
case PROTOBUF:
408410
case PROTO:
409411
return "org.apache.pinot.plugin.inputformat.protobuf.ProtoBufRecordReader";
410412
case THRIFT:

0 commit comments

Comments
 (0)