java.util.NoSuchElementException: столбцы не найдены в таблице - PullRequest
0 голосов
/ 27 сентября 2018

Мои столбцы таблицы cassandra в нижнем регистре, как показано ниже

CREATE TABLE model_family_by_id(
  model_family_id int PRIMARY KEY,
  model_family text,
  create_date   date,
  last_update_date date,
  model_family_name text
);

Моя схема данных выглядит следующим образом

     root
               |-- MODEL_FAMILY_ID: decimal(38,10) (nullable = true)
               |-- MODEL_FAMILY: string (nullable = true)
               |-- CREATE_DATE: timestamp (nullable = true)
               |-- LAST_UPDATE_DATE: timestamp (nullable = true)
               |-- MODEL_FAMILY_NAME: string (nullable = true)

Так что при вставке в cassandra я получаю ошибку ниже

tabException in thread "main" java.util.NoSuchElementException: Columns not found in table sample_cbd.model_family_by_id: MODEL_FAMILY_ID, MODEL_FAMILY, CREATE_DATE, LAST_UPDATE_DATE, MODEL_FAMILY_NAME
    at com.datastax.spark.connector.SomeColumns.selectFrom(ColumnSelector.scala:44)

1 Ответ

0 голосов
/ 28 сентября 2018

Если я правильно понимаю исходный код , Spark Connector преобразует столбцы в двойные кавычки, поэтому они становятся чувствительными к регистру и не соответствуют именам в определении CQL.

Вам нужно изменить схему вашего DataFrame - либо запустите на нем withColumnRenamed для каждого столбца, либо используйте select с alias для каждого столбца.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...