Ryan Ruane
05/03/2022, 1:39 PMINT_ARRAY
, FLOAT_ARRAY
, TIMESTAMP_ARRAY
, etc. I have found that I can ingest using JSON all types as multi-valued dimension columns with the exception of BOOLEAN
, TIMESTAMP
, and BYTES
. I believe that JSON_ARRAY
isn't a valid type, but I wasn't sure about BYTES_ARRAY
. If anyone is about and can shed some light, I would be very appreciative. More info present in-threadRyan Ruane
05/03/2022, 1:39 PMjava.lang.UnsupportedOperationException: Unsupported data type : BYTES
For BOOLEAN_ARRAY I get:
java.lang.ClassCastException: class [Z cannot be cast to class java.lang.Integer ([Z and java.lang.Integer are in module java.base of loader 'bootstrap')
For TIMESTAMP_ARRAY I get:
java.lang.ClassCastException: class java.sql.Timestamp cannot be cast to class java.lang.Long (java.sql.Timestamp is in module java.sql of loader 'platform'; java.lang.Long is in module java.base of loader 'bootstrap')
So far I have in my docker contained pinot DB a table with all other types in singular and multi-valued form. The schema for the failing types are:
"dimensionFieldSpecs": [
{
"name": "gamesWon",
"dataType": "BOOLEAN",
"singleValueField": false
},
{
"name": "datesPlayed",
"dataType": "TIMESTAMP",
"singleValueField": false
},
{
"name": "rawArray",
"dataType": "BYTES",
"singleValueField": false
}
and the ingestion lines for these columns are:
row 1
"datesPlayed": ["2020-01-01 10:45:28", "2020-02-01 10:45:28", "2020-03-01 10:45:28"],
"gamesWon": [true, false, true],
"rawArray": ["cd", "ef"]
row 2
"datesPlayed":[] ,
"gamesWon": [],
"rawArray": []
Ryan Ruane
05/03/2022, 1:44 PMTIMESTAMP_ARRAY
as long-typed epoch values, but it makes no difference.Ryan Ruane
05/03/2022, 1:50 PMorg.apache.pinot.plugin.inputformat.json.JSONRecordReader
Mayank
Ryan Ruane
05/04/2022, 9:55 AMRyan Ruane
05/04/2022, 9:56 AMRyan Ruane
05/04/2022, 10:05 AMMayank