HttpErrorStatusException: Получен код состояния ошибки: 400 (неверный запрос) с причиной: «Невозможно добавить недопустимую схему: myschema. Причина: ноль »
Я пытаюсь создать схему, но получаю сообщение об ошибке:
bin / pinot-admin.sh AddTable -tableConfigFile $PDATA_HOMEtable-config.json -schemaFile schema-config.json -controllerPort 9000-exec Выполнение команды: AddTable -tableConfigFile table-config.json -schemaFile schema-config.json -controllerProtocol -controllerHost 172.31.10.219 -controllerPort 9000 -exec Отправка запроса: на контроллер: localhost, версия: Неизвестно Получено исключение для загрузки схемы Пино: myschema org.apache.pinot.common.exception. HttpErrorStatusException: Получен код состояния ошибки: 400 ( неверный запрос) с причиной: «Невозможно добавить недопустимую схему: myschema. Причина: null» при отправке запроса: http://172.31.10.219:9000/schemas контроллеру: localhost, версия: Unknown at org.apache.pinot.common.utils.FileUploadDownloadClient.sendRequest(FileUploadDownloadClient.java:397)~[pinot-all-0.7.0-SNAPSHOT-jar-with-dependencies.jar:0.7.0-SNAPSHOT-d87755899eccba3554e9cc39a1439d5ecb53aaac]
Нужна помощь :
Конфигурация таблицы:
{
"tableName": "eventflow",
"tableType": "REALTIME",
"segmentsConfig": {
"timeColumnName": "_source.sDate",
"timeType": "MILLISECONDS",
"schemaName": "myschema",
"replicasPerPartition": "1"
},
"tenants": {},
"tableIndexConfig": {
"loadMode": "MMAP",
"streamConfigs": {
"streamType": "kafka",
"stream.kafka.consumer.type": "lowlevel",
"stream.kafka.topic.name": "mytopic",
"stream.kafka.decoder.class.name": "org.apache.pinot.plugin.stream.kafka.KafkaJSONMessageDecoder",
"stream.kafka.consumer.factory.class.name": "org.apache.pinot.plugin.stream.kafka20.KafkaConsumerFactory",
"stream.kafka.broker.list": "localhost:9876",
"realtime.segment.flush.threshold.time": "3600000",
"realtime.segment.flush.threshold.size": "50000",
"stream.kafka.consumer.prop.auto.offset.reset": "smallest"
}
},
"metadata": {
"customConfigs": {}
}
}
И конфигурация схемы:
{
"schemaName": "myschema",
"eventflow": [
{
"name": "_index",
"dataType": "INT"
},
{
"name": "_type",
"dataType": "STRING"
},
{
"name": "id",
"dataType": "INT"
}
],
"dateTimeFieldSpecs": [
{
"name": "_source.sDate",
"dataType": "STRING",
"format": "1:SECONDS:SIMPLE_DATE_FORMAT:yyyy-MM-dd HH:mm:ss",
"granularity": "1:DAYS"
}
]
}
1 ответ
Возможно, определение следующего может помочь. Добавлять"defaultNullValue": "null"
в столбцы, которые, по вашему мнению, могут иметь фактические нулевые значения, и, возможно, прием пройдет нормально:
{
"schemaName": "myschema",
"eventflow": [
{
"name": "_index",
"dataType": "INT",
"defaultNullValue": 0
},
{
"name": "_type",
"dataType": "STRING",
"defaultNullValue": "null"
},
{
"name": "id",
"dataType": "INT",
"defaultNullValue": 0
}
],
"dateTimeFieldSpecs": [
{
"name": "_source.sDate",
"dataType": "STRING",
"format": "1:SECONDS:SIMPLE_DATE_FORMAT:yyyy-MM-dd HH:mm:ss",
"granularity": "1:DAYS"
}
]
}