У меня есть таблица Hive, в которой используется AWS Метасторка клея. Данные находятся на S3, и мы разбиваем на год, месяц и уникальный номер.
Я использую AWS EMR spark- sql для выполнения запросов
Вот пример структуры таблицы:
String Date Int Int String
s3_url rec_dt yr_number mth_number uniq_id
s3://path/example.txt 2020-03-16 2020 3 4195
Теперь, когда я запрашиваю эту таблицу, если выполнить команду ниже, она работает нормально:
select s3_url from table where (rec_dt in ('2020-03-16'))
Однако, когда я добавляю следующий параметр, выдается ошибка:
select s3_url from table where (rec_dt in ('2020-03-16')) and yr_number=2020;
Ошибка
Error in query: org.apache.hadoop.hive.metastore.api.InvalidObjectException:
For input string: "__HIVE_D" is not an integer.
(Service: AWSGlue; Status Code: 400; Error Code: InvalidInputException;
Request ID: 586ff8e1-8f67-4593-940d-9f992a073be3);
Я также проверил схему таблицы, столбец имеет тип int, и я также передаю значение типа int.