Я создал внешнюю таблицу в Redshift, а затем добавил некоторые данные в указанную папку S3. Я прекрасно вижу все данные в Афине, но не могу запросить их из Redshift. Что странно, так это то, что select count (*) работает, это означает, что он может найти данные, но на самом деле ничего не показывает. Я предполагаю, что это какая-то неправильная конфигурация где-то, но я не уверен, что.
Некоторые вещи, которые могут иметь отношение (я анонимизировал некоторые вещи):
create external schema spectrum_staging
from data catalog
database 'spectrum_db'
iam_role 'arn:aws:iam::############:role/RedshiftSpectrumRole'
create external database if not exists;
create external table spectrum_staging.errors(
id varchar(100),
error varchar(100))
stored as parquet
location 's3://mybucket/errors/';
Мои образцы данных хранятся в s3: //mybucket/errors/2018-08-27-errors.parquet
Этот запрос работает:
db=# select count(*) from spectrum_staging.errors;
count
-------
11
(1 row)
Этот запрос не:
db=# select * from spectrum_staging.errors;
id | error
----+-------
(0 rows)