Wir haben eine große Anzahl von relativ kleinen eingehenden Dateien für die Analyse, alle mit leichten Abweichungen von den verfügbaren Spalten. Wir konvertieren sie in das avro-Format und verwalten eine Master-Union-Schemadatei für alle Datendateien. Wir erstellen dann eine HIVE-Tabelle und stellen sie für die Abfrage zur Verfügung.Wie würden HIVE-Abfragen effizient Daten im AVRO-Format finden?
Ich kann nicht helfen, aber denke, dass etwas mit diesem Bild nicht stimmt. Wie würde eine Abfrage in der Lage sein zu identifizieren, auf welche einzelne Datei oder Dateien zugegriffen werden soll, um eine kleine Datenteilmenge abzurufen? Würde nicht jede Abfrage jede Datei lesen und nach den abgefragten Daten suchen? Dies scheint äußerst ineffizient zu sein. Eine Option wäre, diese Dateien zu kombinieren, aber selbst mit Dateien, die genau die gleiche Größe wie die Hadoop-Blockgröße haben, hätten wir eine große Anzahl von Dateien.
Jetzt habe ich vollständige Informationen über den Inhalt jeder Datei. Sie sind nach Datum gekennzeichnet. Wenn ich also manuell nach Daten suchen würde, würde ich genau wissen, auf welche Dateien zugegriffen werden soll. Wie baue ich dieses Wissen in die HIVE-Schnittstelle ein?