Verwendung von Bienentisch über Parkett in Schwein

8

Ich versuche, eine Hive-Tabelle mit Schema string, string, double in einem Ordner zu erstellen, der zwei Parquet-Dateien enthält. Das erste Parkettdateischema ist string, string, double und das Schema der zweiten Datei ist string, double, string .

%Vor%

Ich versuche, die Hive-Tabelle in Pig (0.14) Skript zu verwenden.

%Vor%

Aber ich bekomme den Fehler

  

java.lang.UnsupportedOperationException: org.apache.hadoop.hive.serde2.io.DoubleWritable

kann nicht überprüft werden

Was ich aufgrund des Schemas der zweiten Datei vermute, unterscheidet sich vom Tabellenschema, da die Aufteilung der ersten Datei erfolgreich gelesen wurde, aber diese Ausnahme tritt beim Lesen der zweiten Datei auf.

Ich habe auch in den HCatRecordReader's Code geschaut und diesen Code gefunden

%Vor%

Hier sehe ich, dass es eine Logik der Konvertierung vom Datenschema zum Ausgabeschema gibt, aber während des Debugging habe ich festgestellt, dass es keinen Unterschied im Schema gibt.

Bitte helfen Sie mir zu finden, wenn

  1. Pig unterstützt solche Fälle des Lesens von Daten aus der Hive-Tabelle, die über mehrere Parkett-Dateien mit einem anderen Schema erstellt wurden.

  2. Wenn ja, wie geht das?

SaurabhG 20.01.2016, 01:58
quelle

1 Antwort

1

Wenn Sie Dateien mit zwei verschiedenen Schemas haben, scheint folgendes sinnvoll zu sein:

  1. Teilen Sie die Dateien basierend auf dem Schema auf, das sie haben
  2. Machen Sie aus ihnen Tabellen
  3. Falls gewünscht, laden Sie die einzelnen Tabellen und speichern Sie sie in einem überlagerten
Dennis Jaheruddin 29.05.2016 14:53
quelle