2012-11-24 14 views

Odpowiedz

1

Nie trzeba usuwać katalogu w formacie hdf, chyba że potrzebujesz więcej miejsca w formacie hdf.

Jeśli chcesz zastąpić nowe dane, wystarczy zastąpić plik w formacie hdfs.

Jeśli chcesz użyć nazwy tabeli do innego użytku, upuść tabelę i usuń katalog w formacie hdfs.

Myślę, że jest to bardzo przydatna funkcja, dzięki której można zmienić schemat tabeli (na przykład, aby zmienić nazwę pola lub połączyć dwa pola z jednym polem) bez utraty danych.

+1

Mój problem polega na tym, że muszę pozbyć się danych, ale odtworzyć tabelę o tej samej nazwie i schemacie? – amrk7

+4

usuń plik hdfs, upuść tabelę; zaimportuj nowy plik w formacie hdfs i utwórz nową tabelę. – pensz

2

Chociaż zgadzam się z pensz, niewielka zmiana, ty nie musisz upuszczać tabeli. Wystarczy zastąpić zewnętrzny plik hdfs dowolnym dowolnym nowym plikiem (struktura zastąpionego pliku powinna być taka sama) i gdy wybierzesz * z poprzedniej tabeli, zauważysz, że będzie on zawierał nowe dane, a nie stare jeden.

Zewnętrzne tabele w zasadzie oznaczają tylko schemat danych i lokalizację pliku. Możesz dodać wiele plików do tej samej lokalizacji, a Twoja tabela automatycznie będzie zawierała wszystkie dane związane z tymi plikami. Podobnie możesz zastąpić dowolne dane i automatycznie odzwierciedli to Twój stół.

+1

Jeśli jednak Twój stół jest podzielony na partycje, konieczne będą niewielkie zmiany. Zakładam, że twój stół nie jest. –

+0

Dzięki! tats dużo informacji – amrk7

1

Pierwszy uzyskać ścieżkę do tabeli za pomocą następującego polecenia:

ula> opisać sformatowany database_name.table_name;

Następnie kopii całego położenie, które pojawia się w opisie, jak na przykład: /user/hive/warehouse/database_name.db/table_name

Po stosowania w wyniku polecenia obciąć wszystkie dane z danych tabeli:

***hive> dfs -rmr /user/hive/warehouse/database_name.db/table_name;*** 

LUB

***hive> dfs -rm -r /user/hive/warehouse/database_name.db/table_name;*** 

Następnie można przetrzeć go całkowicie nas komendę DROP TABLE.

0

jeśli jest to tabela zewnętrzna, upuszczenie tabeli oznacza, że ​​są po prostu usuwając schemat

więc trzeba ręcznie usunąć plik z HDFS

lub utworzyć nową tabelę i dać innym lokalizacja pliku w właściwościach tbl

Powiązane problemy