Próbuję utworzyć partycję na stole Hive z następujących czynności:SemanticException dodanie partiton Hive stół
> alter table stock_ticker add if not exists
> partition(stock_symbol='ASP')
> location 'data/stock_ticker_sample/stock_symbol=ASP/'
która produkuje następujące dane wyjściowe
FAILED : SemanticException table is not partitioned but partition spec exists: {stock_symbol=ASP}
Brak partycji na tym stole przed tym próba dodania:
> show partitions stock_ticker;
co daje w wyniku
FAILED: Execution Error, return code 1 from org.apache.hadoop.hive.ql.exec.DDLTask.
Table stock_ticker_sample is not a partitioned table
Nie ma wątpliwości, że kolumna Stock_symbol istnieje i jest typu ciąg.
Pytanie, jakie kroki należy podjąć, aby dodać tę partycję?
Wygląda na to, że partycjonowanie musi być wykonane na zewnętrznych tablicach. – eddyoc
Nie, założyłem, że chciałeś określić istniejącą lokalizację dla tej partycji, dzięki czemu zarządzanie nią może zagrozić źródłowym danym w przypadku upuszczenia. – www
Mam na myśli to, że po wykonaniu na zewnętrznej tabeli wskazującej położenie mojej wewnętrznej tabeli, że operacja partycji powiedzie się. Nie, że partycjonowanie na wewnętrznych tablicach nie jest możliwe per se. – eddyoc