Obwohl ich mit pinsz einer kleinen Änderung zustimme, müssen Sie die Tabelle nicht fallen lassen. Ersetzen Sie einfach die externe hdfs-Datei durch die neue Datei, die Sie möchten (die Struktur der ersetzten Datei sollte dieselbe sein), und wenn Sie * in der vorherigen Tabelle auswählen, werden Sie feststellen, dass sie die neuen Daten und nicht die alten enthält eins.
Externe Tabellen bezeichnen grundsätzlich nur das Schema der Daten und den Speicherort der Datei. Sie können viele Dateien zum selben Speicherort hinzufügen, und Ihre Tabelle enthält automatisch alle Daten, die sich auf diese Dateien beziehen. In ähnlicher Weise können Sie alle Daten ersetzen und Ihre Tabelle wird dies automatisch widerspiegeln.
Keine Notwendigkeit, das Verzeichnis in hdfs zu entfernen, außer Sie brauchen mehr hdfs Speicherplatz.
Wenn Sie neue Daten ersetzen möchten, müssen Sie nur die Datei in hdfs ersetzen.
Wenn Sie den Tabellennamen für andere Zwecke verwenden möchten, löschen Sie die Tabelle und entfernen Sie das Verzeichnis in hdfs.
Tatsächlich ist dies ein sehr praktisches Feature, dass Sie das Schema Ihrer Tabelle ändern können (zB wenn Sie den Feldnamen ändern oder zwei Felder in ein Feld umwandeln möchten), ohne Daten zu verlieren.
Erhalte zuerst den Pfad der Tabelle mit folgendem Befehl:
Bienenstock & gt; Beschreibe formatiert Datenbankname.Tabellenname;
Kopieren Sie dann den gesamten Ort, der in der Beschreibung erscheint, zum Beispiel: /user/hive/warehouse/database_name.db/table_name
Verwenden Sie danach den folgenden Befehl, um alle Daten aus der gegebenen Tabelle zu entfernen:
%Vor%ODER
%Vor%Dann können Sie es komplett mit dem Befehl DROP TABLE löschen.
Wenn es sich um eine externe Tabelle handelt, bedeutet das Löschen der Tabelle, dass Sie nur das Schema löschen
Sie müssen die Datei manuell aus HDFS löschen
oder Erstellen Sie eine neue Tabelle und geben Sie eine andere Dateiposition in den Tabelleneigenschaften
anTags und Links hdfs hive drop-table