Erstellen eines Schemas - AWS Glue

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.

Erstellen eines Schemas

Sie können ein Schema mit der AWS Glue APIs oder der AWS Glue Konsole erstellen.

AWS Glue APIs

Sie können diese Schritte verwenden, um diese Aufgabe mithilfe von auszuführen AWS GlueAPIs.

Um ein neues Schema hinzuzufügen, verwenden Sie den CreateSchema Aktion (Python: create_schema)API.

Geben Sie eine RegistryId-Struktur an, um eine Registrierung für das Schema anzugeben. Oder lassen Sie die RegistryId weg, um die Standardregistrierung zu verwenden.

Geben Sie einen SchemaName bestehend aus Buchstaben, Ziffern, Bindestrichen oder Unterstrichen an, und geben Sie als DataFormat AVRO oder JSON an. Ist das DataFormat einmal für ein Schema festgelegt, ist nicht änderbar.

Geben Sie einen Compatibility-Modus an:

  • Backward (Abwärts) (empfohlen) – Der Verbraucher kann sowohl die aktuelle als auch die vorherige Version lesen.

  • Backward all (Abwärts alle) – Der Verbraucher kann die aktuelle und alle früheren Versionen lesen.

  • Forward (Aufwärts) – Der Verbraucher kann sowohl die aktuelle als auch die nachfolgende Version lesen.

  • Forward all (Aufwärts alle) – Der Verbraucher kann sowohl die aktuelle als auch alle nachfolgenden Versionen lesen.

  • Full (Voll) – Kombination aus „Backward“ (Abwärts) und „Forward“ (Aufwärts).

  • Full all (Voll alle) – Kombination aus „Backward all“ (Abwärts alle) und „Forward all“ (Aufwärts alle).

  • None (Keine) – Es werden keine Kompatibilitätsprüfungen durchgeführt.

  • Disabled (Deaktiviert) – Verhindert das Versioning für dieses Schema.

Geben Sie optional Tags für Ihr Schema an.

Geben Sie a anSchemaDefinition, um das Schema im Avro- oder Protobuf-Datenformat zu definieren. JSON Informationen finden Sie in den Beispielen.

Für Avro-Datenformat:

aws glue create-schema --registry-id RegistryName="registryName1" --schema-name testschema --compatibility NONE --data-format AVRO --schema-definition "{\"type\": \"record\", \"name\": \"r1\", \"fields\": [ {\"name\": \"f1\", \"type\": \"int\"}, {\"name\": \"f2\", \"type\": \"string\"} ]}"
aws glue create-schema --registry-id RegistryArn="arn:aws:glue:us-east-2:901234567890:registry/registryName1" --schema-name testschema --compatibility NONE --data-format AVRO --schema-definition "{\"type\": \"record\", \"name\": \"r1\", \"fields\": [ {\"name\": \"f1\", \"type\": \"int\"}, {\"name\": \"f2\", \"type\": \"string\"} ]}"

Für JSON das Datenformat:

aws glue create-schema --registry-id RegistryName="registryName" --schema-name testSchemaJson --compatibility NONE --data-format JSON --schema-definition "{\"$schema\": \"http://json-schema.org/draft-07/schema#\",\"type\":\"object\",\"properties\":{\"f1\":{\"type\":\"string\"}}}"
aws glue create-schema --registry-id RegistryArn="arn:aws:glue:us-east-2:901234567890:registry/registryName" --schema-name testSchemaJson --compatibility NONE --data-format JSON --schema-definition "{\"$schema\": \"http://json-schema.org/draft-07/schema#\",\"type\":\"object\",\"properties\":{\"f1\":{\"type\":\"string\"}}}"

Für das Protobuf-Datenformat:

aws glue create-schema --registry-id RegistryName="registryName" --schema-name testSchemaProtobuf --compatibility NONE --data-format PROTOBUF --schema-definition "syntax = \"proto2\";package org.test;message Basic { optional int32 basic = 1;}"
aws glue create-schema --registry-id RegistryArn="arn:aws:glue:us-east-2:901234567890:registry/registryName" --schema-name testSchemaProtobuf --compatibility NONE --data-format PROTOBUF --schema-definition "syntax = \"proto2\";package org.test;message Basic { optional int32 basic = 1;}"
AWS Glue-Konsole

Ein neues Schema mithilfe der AWS Glue-Konsole hinzufügen:

  1. Melden Sie sich bei der AWS Management Console an und öffnen Sie die AWS Glue Konsole unter https://console.aws.amazon.com/glue/.

  2. Klicken Sie im Navigationsbereich unter Data Catalog auf Schemas (Schemata).

  3. Klicken Sie auf Add Schema (Schema hinzufügen).

  4. Geben Sie einen Schemanamen an, bestehend aus Buchstaben, Zahlen, Bindestrichen, Unterstrichen, Dollarzeichen oder Hashmarks. Dieser Name kann nicht geändert werden.

  5. Wählen Sie im Dropdown-Menü die Registry, in der das Schema gespeichert wird. Die übergeordnete Registrierung kann nach der Erstellung nicht geändert werden.

  6. Belassen Sie das Datenformat bei Apache Avro oder JSON. Dieses Format gilt für alle Versionen dieses Schemas.

  7. Wählen Sie einen Compatibility mode (Kompatibilitätsmodus).

    • Backward (Abwärts) (empfohlen) – Receiver kann sowohl aktuelle als auch frühere Versionen lesen.

    • Backward All (Abwärts alle) – Receiver kann aktuelle und alle früheren Versionen lesen.

    • Vorwärts – Absender kann sowohl aktuelle als auch frühere Versionen schreiben.

    • Vorwärts alle – Absender kann sowohl aktuelle als auch alle früheren Versionen schreiben.

    • Full (Voll) – Kombination aus „Backward“ (Abwärts) und „Forward“ (Aufwärts).

    • Full all (Voll alle) – Kombination aus „Backward all“ (Abwärts alle) und „Forward all“ (Aufwärts alle).

    • Keine – Es werden keine Kompatibilitätsprüfungen durchgeführt.

    • Disabled (Deaktiviert) – Verhindert das Versioning für dieses Schema.

  8. Geben Sie eine optionale Beschreibung für die Registrierung ein (max. 250 Zeichen).

    Beispiel für das Erstellen eines Schemas.
  9. Wenden Sie optional ein oder mehrere Tags auf Ihr Schema an. Klicken Sie auf Add new Tag (Neuen Tag hinzufügen) und geben Sie einen Tag-Schlüssel und optional einen Tag-Wert ein.

  10. Geben Sie in das Feld Erste Schemaversion das ursprüngliche Schema ein oder fügen Sie es ein.

    Informationen zum Avro-Format finden Sie unter Arbeiten mit dem Avro-Datenformat.

    Informationen zum JSON Format finden Sie unter Mit dem JSON Datenformat arbeiten

  11. Wählen Sie alternativ die Option Add metadata (Metadaten hinzufügen), um Versionsmetadaten hinzuzufügen und Ihre Schemaversion mit Anmerkungen zu versehen oder zu klassifizieren.

  12. Klicken Sie auf Create schema and version (Schema und Version erstellen).

Beispiel für das Erstellen eines Schemas.

Das Schema wird erstellt und in der Liste unter Schemas (Schemata) angezeigt.

Arbeiten mit dem Avro-Datenformat

Avro bietet Datenserialisierung und Datenaustausch. Avro speichert die Datendefinition in einem JSON Format, das das Lesen und Interpretieren erleichtert. Die Daten selbst werden im Binärformat gespeichert.

Informationen zum Definieren eines Apache-Avro-Schemas finden Sie unter Apache Avro-Spezifikationen.

Mit dem JSON Datenformat arbeiten

Daten können mit JSON Format serialisiert werden. JSONDas Schemaformat definiert den Standard für das JSON Schemaformat.