aws - как создать запрос при наличии разделов - PullRequest
0 голосов
/ 29 июня 2018

Я создаю таблицу с несколькими разделами:

PARTITIONED BY (`year` string, `day` string, `month` string, `version_` string, `af_` string, `type_` string, `msm` string)

после этого я бегу:

MSCK REPAIR TABLE mytable;

Когда я запускал предварительный просмотр mytable, у меня было 0 строк. Я стараюсь:

select * from mytable

Также нет результатов.

Одним из решений является использование таблицы alter для добавления разделов со значениями, но должен ли я создавать таблицу alter перед каждым запросом?!

1 Ответ

0 голосов
/ 29 июня 2018

Причина в том, что ваш оператор PARTITIONED BY имеет поля в другом порядке , что ваша иерархия каталогов:

PARTITIONED BY (`year` string, `day` string, `month` string, `version_` string, `af_` string, `type_` string, `msm` string)

af_=4/type_=anchor/msm=1026355/year=2017/month=05/day=14/version_=1 

Это можно исправить, перечислив поля в PARTITIONED BY в в том же порядке , что и иерархия каталогов.

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

...