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"
    }
  ]
}
 
Другие вопросы по тегам