Мои данные о паркете хранятся в AWS S3 и я хочу получить к ним доступ с помощью таблицы кустов. Попытка создать его немного не получая результатов из таблицы.
Данные в AWS S3 хранятся как s3://bucket/some_key/year=2018/month=12/day=10
и т. Д. С соответствующими папками с датами.
Я создаю таблицу улья следующим образом:
CREATE EXTERNAL TABLE `ais_daily_data` (
`A` BIGINT,
`B` STRING,
`C` STRING,
`D` STRING
) PARTITIONED BY (
year STRING, month STRING, day STRING
)
ROW FORMAT SERDE 'org.apache.hadoop.hive.ql.io.parquet.serde.ParquetHiveSerDe' STORED AS INPUTFORMAT 'org.apache.hadoop.mapred.TextInputFormat' OUTPUTFORMAT 'org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat' LOCATION 's3://bucket/some_key' TBLPROPERTIES ( 'parquet.compress'='SNAPPY', 'CrawlerSchemaDeserializerVersion'='1.0', 'CrawlerSchemaSerializerVersion'='1.0', 'classification'='parquet')
Тогда я добавлю раздел явно как
ALTER TABLE hive_table
ADD PARTITION (year='2018', month='10', day='10')
location 's3://bucket/some_key/year=2018/month=10/day=10'
Я получаю пустые строки при запуске select * from hive_table
, но select count(*) from hive_table
дает ненулевое значение.
Любая помощь будет по достоинству оценена.