2016-04-14 7 views
1

Получите это исключение во время выполнения запроса в потоковой таблице улья с использованием presto.Исключение при запуске запроса на таблицу с таблицей с кустом в престо

HIVE_PARTITION_SCHEMA_MISMATCH (16777224)

com.facebook.presto.spi.PrestoException: Found sub-directory in bucket directory 
at com.facebook.presto.hive.BackgroundHiveSplitLoader.listAndSortBucketFiles(BackgroundHiveSplitLoader.java:367) 
at com.facebook.presto.hive.BackgroundHiveSplitLoader.loadPartition(BackgroundHiveSplitLoader.java:333) 
at com.facebook.presto.hive.BackgroundHiveSplitLoader.loadSplits(BackgroundHiveSplitLoader.java:212) 
at com.facebook.presto.hive.BackgroundHiveSplitLoader.access$300(BackgroundHiveSplitLoader.java:67) 
at com.facebook.presto.hive.BackgroundHiveSplitLoader$HiveSplitLoaderTask.process(BackgroundHiveSplitLoader.java:168) 
at com.facebook.presto.hive.util.ResumableTasks.safeProcessTask(ResumableTasks.java:45) 
at com.facebook.presto.hive.util.ResumableTasks.lambda$submit$66(ResumableTasks.java:33) 
at io.airlift.concurrent.BoundedExecutor.executeOrMerge(BoundedExecutor.java:69) 
at io.airlift.concurrent.BoundedExecutor.access$000(BoundedExecutor.java:28) 
at io.airlift.concurrent.BoundedExecutor$1.run(BoundedExecutor.java:40) 
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) 
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) 
at java.lang.Thread.run(Thread.java:745) 

PS: Таблица содержит данные и возвращает результат с помощью HQL. И другие таблицы отлично работают на престо.

+0

Это плохая ошибка: https://github.com/prestodb/presto/issues/5036 –

+0

Вообще-то, у меня возникла проблема, транзакционная таблица. Как, я загружаю свою таблицу с данными потока, которые требуют транзакционной таблицы. И presto еще не поддерживал транзакционную таблицу. –

ответ

1

FWIU, это означает, что у вас есть таблица, которая объявлена ​​с помощью bucketing в метафоре улья, но не имеет должным образом ведра. В частности, таблицы в квадратных скобках не должны содержать каталогов. В отличие от Hive, Presto всегда использует преимущества bucketing-свойств, поэтому неправильно построенная таблица Hive приведет к сбою запроса.

Единственная работа, о которой я знаю, заключается в том, чтобы либо удалить флаг bucketing из метаданных таблицы с помощью Hive, либо переписать таблицу, используя Hive, чтобы быть правильно ведомым.