Namen für Tabellen, Datenbanken und Spalten - Amazon Athena

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Namen für Tabellen, Datenbanken und Spalten

Verwenden Sie diese Tipps für die Benennung von Datenbankobjekten in Athena.

Anforderungen an Datenbank-, Tabellen- und Spaltennamen

  • Zulässige Zeichen für Datenbanknamen, Tabellennamen und Spaltennamen AWS Glue müssen eine UTF-8-Zeichenfolge sein. Die Zeichenfolge darf nicht weniger als 1 oder mehr als 255 Byte lang sein. Eine Überschreitung dieses Limits generiert einen Fehler wie Wert in 'name' konnte Einschränkung nicht erfüllen: Mitglied muss eine Länge von höchstens 255 haben. Zu den Zeichen, die verwendet werden können, gehören Leerzeichen und sie werden durch das folgende einzeilige Zeichenkettenmuster definiert:

    [\u0020-\uD7FF\uE000-\uFFFD\uD800\uDC00-\uDBFF\uDFFF\t]*
  • Derzeit ermöglicht das AWS Glue Regex-Muster das Hinzufügen von führenden Leerzeichen am Anfang von Namen. Da diese führenden Leerzeichen schwer zu erkennen sind und nach der Erstellung zu Problemen mit der Benutzerfreundlichkeit führen können, sollten Sie es vermeiden, Objektnamen mit führenden Leerzeichen zu erstellen.

  • Wenn Sie eine AWS::Glue::Database AWS CloudFormation Vorlage verwenden, um eine AWS Glue Datenbank zu erstellen und keinen Datenbanknamen angeben, AWS Glue wird automatisch ein Datenbankname im Format resource_name—random_string generiert, der nicht mit Athena kompatibel ist.

  • Sie können den AWS Glue Catalog Manager verwenden, um Spalten umzubenennen, aber keine Tabellen- oder Datenbanknamen. Um diese Einschränkung zu umgehen, müssen Sie eine Definition der alten Datenbank verwenden, um eine Datenbank mit dem neuen Namen zu erstellen. Anschließend verwenden Sie Definitionen der Tabellen aus der alten Datenbank, um die Tabellen in der neuen Datenbank neu zu erstellen. Dazu können Sie das AWS CLI oder AWS Glue SDK verwenden. Informationen zu den erforderlichen Schritten finden Sie unter Verwenden von AWS CLI , um eine AWS Glue Datenbank und ihre Tabellen neu zu erstellen.

Tabellen- und Tabellenspaltennamen in Athena dürfen nur Kleinbuchstaben enthalten

Athena akzeptiert gemischte Groß-/Kleinschreibung in DDL- und DML-Abfragen, aber die Namen werden beim Ausführen der Abfrage kleingeschrieben. Vermeiden Sie daher die Verwendung von Groß- und Kleinschreibung für Tabellen- oder Spaltennamen, und verlassen Sie sich nicht auf die Groß-/Kleinschreibung in Athena, um solche Namen zu unterscheiden. Wenn Sie beispielsweise eine DDL-Anweisung verwenden, um eine Spalte mit dem Namen Castle zu erstellen, wird die erstellte Spalte zu castle kleingeschrieben. Wenn Sie dann den Spaltennamen in einer DML-Abfrage als Castle oder CASTLE angeben, wird Athena den Namen klein schreiben, damit Sie die Abfrage ausführen können, aber die Spaltenüberschrift in der von Ihnen in der Abfrage gewählten Groß-/Kleinschreibung anzeigen.

Datenbank-, Tabellen- und Spaltennamen müssen mindestens 255 Zeichen lang sein.

Namen, die mit einem Unterstrich beginnen

Verwenden Sie beim Erstellen von Tabellen umgekehrte Anführungszeichen, um Tabellen-, Ansichts- oder Spaltennamen einzuschließen, die mit einem Unterstrich beginnen. Beispielsweise:

CREATE EXTERNAL TABLE IF NOT EXISTS `_myunderscoretable`( `_id` string, `_index` string) LOCATION 's3://DOC-EXAMPLE-BUCKET/'

Tabellen-, Ansichts- oder Spaltennamen, die mit Ziffern beginnen

Setzen Sie bei der Ausführung von SELECT-, CTAS- oder VIEW-Abfragen Anführungszeichen um Bezeichner wie Tabellen-, Ansichts- oder Spaltennamen, die mit einer Ziffer beginnen. Beispielsweise:

CREATE OR REPLACE VIEW "123view" AS SELECT "123columnone", "123columntwo" FROM "234table"

Spaltennamen und komplexe Typen

Bei komplexen Typen sind nur alphanumerische Zeichen, Unterstrich (_) und Punkt (.) in Spaltennamen erlaubt. Um eine Tabelle und Mappings für Schlüssel mit eingeschränkten Zeichen zu erstellen, können Sie eine benutzerdefinierte DDL-Anweisung verwenden. Weitere Informationen finden Sie im Artikel Erstellen von Tabellen in Amazon Athena aus verschachteltem JSON und Zuordnungen mithilfe von JSON SerDe im AWS Big Data-Blog.

Reservierte Wörter

Bestimmte reservierte Wörter in Athena müssen mit Escape-Zeichen versehen werden. Um reservierte Schlüsselwörter in DDL-Anweisungen mit Escapezeichen zu versehen, schließen Sie sie in einfache umgekehrte Anführungszeichen (`) ein. Um reservierte Schlüsselwörter in SQL-SELECT-Anweisungen und in Abfragen in Ansichten mit Escape-Zeichen zu versehen, schließen Sie sie in doppelte Anführungszeichen (") ein.

Weitere Informationen finden Sie unter Reservierte Schlüsselwörter.

Weitere Ressourcen

Die vollständige Syntax zur Datenbank- und Tabellenerstellung finden Sie auf den folgenden Seiten.

Weitere Informationen zu Datenbanken und Tabellen finden Sie unter Datenbanken und Tabellen im AWS Glue Entwicklerhandbuch.AWS Glue