Ich habe eine Hive-Tabelle mit dynamischer Partitionierung für eine Spalte erstellt. Gibt es eine Möglichkeit, die Daten direkt aus Dateien mit der Anweisung "LOAD DATA" zu laden? Oder müssen wir nur darauf angewiesen sein, eine nicht partitionierte Zwischentabelle zu erstellen und Dateidaten darauf zu laden und dann Daten aus dieser Zwischentabelle in eine partitionierte Tabelle einzufügen, wie in Hive loading in partitioned table erwähnt?Laden von Daten in Hive dynamische partitionierte Tabellen
Antwort
Nein, der Befehl LOAD DATA kopiert NUR die Dateien in das Zielverzeichnis. Die Datensätze der Eingabedatei werden nicht gelesen, daher kann die Partitionierung basierend auf den Datensatzwerten NICHT durchgeführt werden.
Wenn Ihre Eingabedaten bereits in mehrere Partitionen unterteilt sind, können Sie die Dateien direkt in den Tabellenbereich in HDFS in ihrem von Ihnen manuell erstellten Partitionsverzeichnis kopieren (ODER nur auf ihre aktuelle Position im Fall der EXTERNAL-Tabelle zeigen)) und verwenden Sie den folgenden ALTER-Befehl, um die Partition hinzuzufügen. Auf diese Weise können Sie die LOAD DATA-Anweisung vollständig überspringen.
Keine andere gehen, wenn wir direkt einfügen müssen, müssen wir Partitionen manuell angeben.
Für die dynamische Partitionierung benötigen wir eine Zwischenspeichertabelle und fügen sie von dort ein.
- 1. Speichern Sie Spark-Datenframe als dynamische partitionierte Tabelle in Hive
- 2. Hive - externe (dynamisch) partitionierte Tabelle
- 3. Streaming in BQ partitionierte Tabellen
- 4. Laden von Daten in "Partitionierte Tabellen" mit Write_Truncate mittels BQ API
- 5. ActiveRecord, Postgres und partitionierte Tabellen
- 6. Dynamische Daten in Gurken Tabellen
- 7. Umwandlung in neue "Partitionierte Tabellen" von bestehenden System
- 8. Laden unstrukturierter CSV-Daten in Hive
- 9. Modellieren von Daten in Hive-Tabellen in Caravel
- 10. Repartitionierte partitionierte Daten
- 11. Google Big Query - Datum-partitionierte Tabellen mit eventuellen Daten
- 12. Fehler beim Laden von CSV-Daten in eine Hive Tabelle
- 13. Oracle partitionierte Tabellen auf SQL Server migrieren
- 14. Wie dynamische DynamoDB Spalten in EMR Hive
- 15. Hive: Dynamische Partition
- 16. So sortieren Sie horizontal partitionierte Daten
- 17. Laden von Daten mit Hive, S3, EMR und Recover Partitions
- 18. NULL-Werte beim Laden der Daten aus flachen Dateien in Hive-Tabellen erhalten
- 19. Wie Eingabedateiformat angeben, wenn Daten in Hive
- 20. BigQuery einfügen in eine partitionierte Tabelle aus einer vorhandenen Tabelle
- 21. Partitionierte Tabellen in SQL Server 2005 - Suche nach praktischen Vorbehalten
- 22. Hive - Effiziente Join von zwei Tabellen
- 23. Dynamische Tabellen in SQL
- 24. Hive 1.x verliert Tabellen
- 25. Neue Daten an partitionierte Parkettdateien anhängen
- 26. Datum-partitionierte Schablonentabellen in BigQuery?
- 27. Collect Daten von id in hive
- 28. Dynamische Verknüpfung von Tabellen in VBA
- 29. Einfügen von Daten von 2 Hive-externen Tabellen in neue externe Tabelle mit zusätzlicher Spalte
- 30. Ungültiger Pfad wegen Dateiname, wenn Hive lokale Daten laden
Im Fall der externen Tabelle, nach dem Platzieren der Dateien im Verzeichnis, können wir den Befehl msck ausführen, um die Partitionen automatisch zu erstellen? –