Я создал внешнюю таблицу Hive на основе многораздельного файла Parquet в S3, используя оператор, подобный следующему:
CREATE EXTERNAL TABLE default.person
(
first_name STRING,
last_name STRING
)
PARTITIONED BY (age INT)
STORED AS parquet
LOCATION 's3a://default/person.parquet'"
Таблица создана и запущена DESCRIBE TABLE default.person показывает:
+--------------------------+------------+----------+--+
| col_name | data_type | comment |
+--------------------------+------------+----------+--+
| first_name | string | NULL |
| last_name | string | NULL |
| # Partition Information | | |
| # col_name | data_type | comment |
| age | int | NULL |
+--------------------------+------------+----------+--+
Однако, когда я запрашиваю таблицу с Билайном, он возвращает ноль записей. Я думаю, что мне нужно обновить sh информацию о разделе в Hive Metastore.
Итак, я запускаю MSCK REPAIR TABLE default.person , но это не с этой ошибкой:
Error: java.lang.NoSuchMethodException: org.apache.hadoop.hive.ql.metadata.Hive.alterTable(java.lang.String, org.apache.hadoop.hive.ql.metadata.Table) (state=,code=0)
Нахожусь ли я на правильном пути, и почему может возникать эта ошибка?
Версия Hive - 2.3.6.