Redshift Spectrum запрашивает возврат пустых полей в строках - PullRequest
0 голосов
/ 07 октября 2019

Я пытаюсь запросить внешнюю таблицу (которая указывает на мою папку S3, которая содержит файл Parquet) в Redshift, но всякий раз, когда я делаю, каждое поле пусто. Однако, когда я создаю локальную таблицу в Redshift и загружаю данные из того же файла Parquet, поля не являются пустыми, и они содержат данные, которые, как я ожидаю, будут у них.

Для создания внешней таблицы яиспользуйте следующие запросы:

create external schema spectrum 
from data catalog 
database 'spectrumdb' 
iam_role 'arn:aws:iam::$SOMEROLE'
create external database if not exists;

create external table spectrum.lineitem_2 (    
l_orderkey bigint , 
l_partkey bigint , 
l_suppkey bigint , 
l_linenumber bigint , 
l_quantity double precision , 
l_extendedprice double precision , 
l_discount double precision , 
l_tax double precision , 
l_returnflag char(1) , 
l_linestatus char(1) , 
l_shipdate char(10) , 
l_commitdate char(10) , 
l_receiptdate char(10) , 
l_shipinstruct char(25) , 
l_shipmode char(10) , 
l_comment varchar(44) )
stored as PARQUET
location 's3://$BUCKET/$FOLDER/'
table properties ('numRows'='405022147');

С этим запросом:

select * from SPECTRUM.lineitem_2 limit 5;

Я получаю следующий результат:

l_orderkey |l_partkey |l_suppkey |l_linenumber |l_quantity |l_extendedprice |l_discount |l_tax |l_returnflag |l_linestatus |l_shipdate |l_commitdate |l_receiptdate |l_shipinstruct |l_shipmode |l_comment ------------ + ----------- + ----------- + ------------- + ------------ + ----------------- + ------------ + ------- + -------------- + -------------- + ------------ + ------------- + --------------- + ---------------- + ------------ + ----------- |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||

Когда я ожидаю следующего:

l_orderkey |l_partkey |l_suppkey |l_linenumber |l_quantity |l_extendedprice |l_discount |l_tax |l_returnflag |l_linestatus |l_shipdate |l_commitdate |l_receiptdate |l_shipinstruct |l_shipmode |l_comment
------------ + ----------- + ----------- + -------------- + ------------ + ----------------- + ------------ +------- + -------------- + -------------- + ------------+ -------------- + --------------- + --------------------------- + ------------ + ------------------------------------ 406401153 |140024 |477525 |4 |6 |6384.12 |0,04 |0,02 |N |O |1995-09-15 |1995-09-03 |1995-09-30 |ДОСТАВКА В ЧЕЛОВЕКА |ПОЧТА |иронические счета 406401154 |18074465 |187005 |1 |12 |17262,72 |0,05 |0,07 |A |F |1994-09-19 |1994-07-09 |1994-10-01 |ВЕРНУТЬСЯ ВЕРНУТЬСЯ |ВОЗДУХ |Ли необычные счета 406401154 |1950973 |938475 |3 |16 |32382,08 |0,04 |0,01 |A |F |1994-06-14 |1994-08-22 |1994-07-13 |ВЕРНУТЬСЯ ВЕРНУТЬСЯ |ГРУЗОВИК |Лишь последние запросы торгуются. pl 406401155 |18762207 |874747 |1 |19 |24097,13 |0,04 |0,06 |R |F |1992-11-14 |1992-09-15 |1992-12-07 |ДОСТАВКА В ЧЕЛОВЕКА |ВОЗДУХ |uests. пушистые необычные отложения w 406401155 |22935297 |1335298 |3 |18 |23960,7 |0,04 |0,03 |R |F |1992-09-09 |1992-08-28 |1992-09-22 |СОБРАТЬ КОД |ВОЗДУХ |ожидание отмотки,

Более того, кажется, что Spectrum действительно может видеть правильное количество строк в файле. Просто кажется, что не в состоянии увидеть данные. Я делаю что-то неправильно? Извините за форматирование.

Редактировать: Я должен добавить, что я мог сделать это с теми же файлами и командами несколько дней назад. Просто сейчас перестал работать.

...