Wie behebe ich den Fehler „Eingabeformat kann nicht erstellt werden“ in Athena?

Lesedauer: 3 Minute
0

Wenn ich eine Abfrage in Amazon Athena ausführe, erhalte ich die Fehlermeldung „Eingabeformat kann nicht erstellt werden“.

Lösung

Für diesen Fehler gibt es mehrere Ursachen. Hier sind einige gängige Szenarien und Lösungen:

Der AWS Glue-Crawler kann das Datenformat nicht klassifizieren

  • Die Daten werden im Amazon Simple Storage Service (Amazon S3) gespeichert.
  • Sie führen einen AWS Glue-Crawler mit einem integrierten Klassifikator aus, um das Tabellenschema zu erkennen. Der Crawler gibt die Klassifizierung UNKNOWN zurück. Es wurde mindestens eine Spalte erkannt, das Schema ist jedoch falsch.
  • Wenn Sie die Tabelle von Athena aus abfragen, schlägt die Abfrage mit dem Fehler „HIVE_UNKNOWN_ERROR: Eingabeformat kann nicht erstellt werden“ fehl.

Um diesen Fehler zu beheben, verwenden Sie einen Datentyp, der von einem integrierten Klassifikator unterstützt wird. Wenn das Datenformat nicht durch einen integrierten Klassifikator klassifiziert werden kann, sollten Sie die Verwendung eines benutzerdefinierten Klassifikators in Betracht ziehen.

Athena unterstützt das Datenformat nicht

  • Die Daten werden in Amazon S3 gespeichert.
  • Sie führen einen Crawler aus, um die Tabelle zu erstellen. Der Crawler klassifiziert die Tabelle in einem Format, das Athena nicht unterstützt, wie etwa ion oder xml.
  • Wenn Sie die Tabelle von Athena aus abfragen, schlägt die Abfrage mit dem Fehler „HIVE_UNKNOWN_ERROR: Eingabeformat kann nicht erstellt werden“ fehl.

Um diesen Fehler zu beheben, verwenden Sie ein Datenformat, das Athena unterstützt.

Eine oder mehrere der Eigenschaften der AWS Glue-Tabellendefinition sind leer

  • Die AWS Glue-Tabelle wird nicht in Athena oder durch einen AWS Glue-Crawler erstellt. Die Tabelle wird mit einer anderen Methode erstellt. Die Tabelle wird beispielsweise manuell auf der AWS Glue-Konsole erstellt.
  • Wenn Sie die Tabelle von Athena aus abfragen, schlägt die Abfrage mit dem Fehler „HIVE_UNKNOWN_ERROR: Eingabeformat kann nicht erstellt werden“ fehl.

Dieser Fehler tritt auf, weil eine oder mehrere der folgenden Eigenschaften in der AWS Glue-Tabellendefinition leer sind:

  • Eingabeformat
  • Ausgabeformat
  • Serde-Name

Vergewissern Sie sich, dass diese Eigenschaften für den SerDe und das Datenformat korrekt eingestellt sind. Beachten Sie, dass der von Ihnen angegebene SerDe das Tabellenschema definiert. Der SerDe kann die DDL-Konfiguration überschreiben, die Sie in Athena festlegen, wenn Sie Ihre Tabelle erstellen.

Gehen Sie wie folgt vor, um die Eigenschaften der Tabellendefinition zu aktualisieren:

  1. Öffnen Sie die AWS Glue-Konsole.
  2. Wählen Sie die Tabelle aus, die Sie aktualisieren möchten.
  3. Wählen Sie Aktion und anschließend Details anzeigen aus.
  4. Wählen Sie Tabelle bearbeiten aus.
  5. Aktualisieren Sie die Einstellungen für Eingabeformat, Ausgabeformat oder Serde-Name.
  6. Wählen Sie Übernehmen aus.

Die Datenquelle in Ihrer Athena-Abfrage wird nicht unterstützt

Athena unterstützt das Abfragen von Tabellen nur, wenn die Tabellen in Amazon S3 gespeichert sind. Möglicherweise wird der Fehler „Eingabeformat kann nicht erstellt werden“ angezeigt, wenn Sie eine Datenquelle abfragen, die von Athena nicht unterstützt wird.

Verwenden Sie das Athena-Anfragenverbund-SDK um diesen Fehler zu beheben. Mit dem SDK können Sie Athena mit Ihrem eigenen Code anpassen. Mit dem Athena-Verbunds-SDK können Sie verschiedene Datenquellen und proprietäre Datenformate integrieren. Sie können zudem neue benutzerdefinierte Funktionen erstellen. Weitere Informationen finden Sie unter Abfragen beliebiger Datenquellen mit der neuen Verbundabfrage von Amazon Athena.


Ähnliche Informationen

Hinzufügen von Klassifikatoren zu einem Crawler

Verwenden eines SerDe

AWS OFFICIAL
AWS OFFICIALAktualisiert vor 3 Jahren