

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.

# AWS Glue: Funktionsweise
<a name="how-it-works"></a>

AWS Glue verwendet andere AWS Dienste, um Ihre ETL-Jobs (Extrahieren, Transformieren und Laden) zu orchestrieren, um Data Warehouses und Data Lakes aufzubauen und Output-Streams zu generieren. AWS Glueruft API-Operationen auf, um Ihre Daten zu transformieren, Laufzeitprotokolle zu erstellen, Ihre Joblogik zu speichern und Benachrichtigungen zu erstellen, mit denen Sie Ihre Jobausführungen überwachen können. Die AWS Glue-Konsole verbindet diese Services zu einer verwalteten Anwendung, sodass Sie sich auf die Erstellung und Überwachung Ihrer ETL-Arbeit konzentrieren können. Die Konsole führt in Ihrem Namen Verwaltungs- und Auftragsentwicklungsoperationen durch. Sie stellen Anmeldeinformationen und andere Eigenschaften für AWS Glue bereit, um auf Ihre Datenquellen zugreifen und in Ihre Datenziele schreiben zu können.

AWS Glue kümmert sich um die Bereitstellung und Verwaltung der Ressourcen, die für die Ausführung Ihrer Workloads erforderlich sind. Sie brauchen die Infrastruktur für ein ETL-Tool nicht zu erstellen. Dies erledigt AWS Glue für Sie. Wenn Ressourcen benötigt werden, um die Startzeit zu verkürzen, verwendet AWS Glue eine Instance aus seinem Instance-Bereitschaftspool, um Ihren Workload auszuführen.

Mit AWS Glue erstellen Sie Aufträge mithilfe von Tabellendefinitionen in Ihrem Data Catalog. Aufträge bestehen aus Skripts, die die Anweisungen enthalten, mit denen die gewünschten Datentransformationsaufgaben ausgeführt werden. Sie verwenden Auslöser, um Aufträge entweder nach einem Zeitplan oder als Ergebnis eines bestimmten Ereignisses zu initiieren. Sie legen fest, wo sich Ihre Zieldaten befinden und welche Quelldaten Ihr Ziel befüllen. AWS Glue wandelt Ihre Daten anhand Ihrer Eingaben vom Quellformat in das Zielformat um. Alternativ können Sie auch benutzerdefinierte Skripts in der AWS Glue-Konsole oder -API bereitstellen, um Ihre Daten gemäß Ihren spezifischen Anforderungen zu verarbeiten.

**Datenquellen und -ziele**  
AWS Glue für Spark ermöglicht das Lesen und Schreiben von Daten aus mehreren Systemen und Datenbanken, darunter:
+ Amazon S3
+ Amazon DynamoDB
+ Amazon Redshift
+ Amazon Relational Database Service (Amazon RDS)
+ Über JDBC zugängliche Datenbanken von Drittanbietern
+ MongoDB und Amazon DocumentDB (mit MongoDB-Kompatibilität)
+ Andere Marketplace-Konnektoren und Apache-Spark-Plugins

**Datenströme**  
AWS Glue für Spark kann Daten aus den folgenden Systemen streamen:
+ Amazon Kinesis Data Streams
+ Apache Kafka

AWS Glue ist in mehreren AWS Regionen verfügbar. Weitere Informationen finden Sie unter [AWS Regionen und Endpunkte](https://docs.aws.amazon.com/general/latest/gr/rande.html) in der Allgemeine Amazon Web Services-Referenz.

**Topics**
+ [Isolierte, Serverless-ETL-Aufträge](#how-it-works-isolation)
+ [AWS Glue Konzepte](components-key-concepts.md)
+ [AWS Glue Komponenten](components-overview.md)
+ [AWS Glue für Spark und AWS Glue für Ray](how-it-works-engines.md)
+ [Umwandeln semistrukturierter Schemas in relationale Schemas mit AWS Glue](schema-relationalize.md)
+ [AWS Systeme vom Typ Glue](glue-types.md)

## Isolierte, Serverless-ETL-Aufträge
<a name="how-it-works-isolation"></a>

AWS Glue führt Ihre ETL-Aufträge in einer Serverless-Umgebung mit einer Engine Ihrer Wahl aus, Spark oder Ray. AWS Glue führt diese Aufträge auf virtuellen Ressourcen aus, die es in seinem Service-Konto bereitstellt und verwaltet. 

AWS Glue ist so konzipiert, dass es folgendes kann:
+ Separieren von Kundendaten.
+ Schützen von Kundendaten während der Übertragung und im Speicherzustand.
+ Zugriff nur dann auf Kundendaten, wenn dies aufgrund von Kundenanfragen erforderlich ist (über temporäre, auf einen bestimmten Umfang beschränkte Berechtigungsnachweise oder mit Zustimmung eines Kunden zu IAM-Rollen in seinem Konto).

Bei der Bereitstellung eines ETL-Auftrags stellen Sie Eingangsdatenquellen und Ausgangsdatenziele in Ihrer Virtual Private Cloud (VPC) zur Verfügung. Zusätzlich stellen Sie die IAM-Rolle, die VPC-ID, die Subnetz-ID und die Sicherheitsgruppe zur Verfügung, die für den Zugriff auf Datenquellen und -ziele benötigt werden. Für jedes Tupel (Kundenkonto-ID, IAM-Rolle, Subnetz-ID und Sicherheitsgruppe) erstellt AWS Glue eine neue Umgebung, die auf Netzwerk- und Verwaltungsebene von allen anderen Umgebungen innerhalb Ihres AWS Glue-Service-Kontos isoliert ist.

 Sie erstellen und konfigurieren AWS Glue Ressourcen wie Datenkataloge, Jobs und Crawler in Ihrem AWS Konto. Diese Ressourcen werden dann der IAM-Rolle und den Netzwerkeinstellungen (Subnetz und Sicherheitsgruppe) zugeordnet, die Sie während des Erstellungsprozesses angeben. 

AWS Glue erstellt Elastic Network-Schnittstellen in Ihrem Subnetz unter Verwendung privater IP-Adressen. Aufträge nutzen diese Elastic-Network-Schnittstellen, um auf Ihre Datenquellen und Datenziele zuzugreifen. Der Datenverkehr in, aus und innerhalb der Umgebung der Auftragsausführung wird durch Ihre VPC- und Netzwerkrichtlinien geregelt, mit einer Ausnahme: Aufrufe von AWS Glue-Bibliotheken können den Datenverkehr zu AWS Glue-API-Operationen über die AWS Glue VPC leiten. Alle AWS Glue-API-Aufrufe werden protokolliert. So können Dateneigentümer den API-Zugriff überprüfen, indem sie [AWS CloudTrail](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/) aktivieren, das Audit-Protokolle an Ihr Konto liefert.

AWS Glueverwaltete Umgebungen, in denen Ihre ETL-Jobs ausgeführt werden, sind mit denselben Sicherheitspraktiken geschützt, denen auch andere AWS Dienste folgen. Einen Überblick über die Verfahren und die gemeinsamen Sicherheitsaufgaben finden Sie im Whitepaper [Einführung in AWS Sicherheitsprozesse](https://docs.aws.amazon.com/whitepapers/latest/introduction-aws-security/welcome.html).

# AWS Glue Konzepte
<a name="components-key-concepts"></a>

 AWS Glue ist ein vollständig verwalteter ETL-Service (Extrahieren, Transformieren, Laden), mit dem Sie Daten problemlos zwischen verschiedenen Datenquellen und Zielen verschieben können. Die wichtigsten Komponenten sind: 
+  **Datenkatalog**: Ein Metadatenspeicher, der Tabellendefinitionen, Jobdefinitionen und andere Kontrollinformationen für Ihre ETL-Workflows enthält. 
+  **Crawler**: Programme, die eine Verbindung zu Datenquellen herstellen, Datenschemas ableiten und Metadaten-Tabellendefinitionen im Datenkatalog erstellen. 
+  **ETL-Aufträge**: Die Geschäftslogik, um Daten aus Quellen zu extrahieren, sie mithilfe von Apache-Spark-Skripts zu transformieren und in Ziele zu laden. 
+  **Auslöser**: Mechanismen zum Initiieren von Auftragsausführungen basierend auf Zeitplänen oder Ereignissen. 

 Der typische Workflow umfasst: 

1.  Definieren von Datenquellen und Zielen im Datenkatalog. 

1.  Verwenden von Crawlern, um den Datenkatalog mit Tabellenmetadaten aus Datenquellen zu füllen. 

1.  Definieren von ETL-Aufträgen mit Transformationsskripts, um Daten zu verschieben und zu verarbeiten. 

1.  Ausführen von Auträgen bei Bedarf oder basierend auf Triggern. 

1.  Überwachen der Auftragsleistung mithilfe von Dashboards. 

 Das folgende Diagramm zeigt die Architektur einer AWS Glue Umgebung. 

![\[Die grundlegenden Konzepte, die Ihrem Data Catalog und der Verarbeitung des ETL-Datenflusses in AWS Glue zugrunde liegen.\]](http://docs.aws.amazon.com/de_de/glue/latest/dg/images/HowItWorks-overview.png)


Sie definieren *Jobs* AWS Glue , um die Arbeit zu erledigen, die zum Extrahieren, Transformieren und Laden (ETL) von Daten aus einer Datenquelle in ein Datenziel erforderlich ist. Sie können normalerweise folgende Aktionen ausführen:
+ Für Datastore-Quellen definieren Sie einen *Crawler*, um den AWS Glue Data Catalog mit Metadaten-Tabellendefinitionen zu füllen. Sie verweisen Ihren Crawler auf einen Datenspeicher und der Crawler legt Tabellendefinitionen im Data Catalog an. Für Streaming-Quellen definieren Sie manuell Data-Catalog-Tabellen und legen Eigenschaften für den Datenstrom fest.

  Zusätzlich zu den Tabellendefinitionen AWS Glue Data Catalog enthält der weitere Metadaten, die zur Definition von ETL-Jobs erforderlich sind. Sie verwenden diese Metadaten, wenn Sie eine Aufgabe definieren, um Ihre Daten zu transformieren.
+ AWS Glue kann ein Skript zur Transformation Ihrer Daten generieren. Oder Sie können das Skript in der AWS Glue Konsole oder API bereitstellen.
+ Sie können Ihre Aufgabe bei Bedarf ausführen oder sie so einrichten, dass sie bei Auftreten eines bestimmten *Auslösers* gestartet wird. Der Auslöser kann zeitbasiert oder ein Ereignis sein.

  Wenn Ihr Auftrag ausgeführt wird, extrahiert ein Skript die Daten aus Ihrer Datenquelle, transformiert die Daten und lädt sie in Ihr Datenziel. Das Skript wird in einer Apache-Spark-Umgebung in ausgeführt AWS Glue.

**Wichtig**  
Tabellen und Datenbanken in AWS Glue sind Objekte in der AWS Glue Data Catalog. Sie enthalten Metadaten – keine Daten aus einem Datenspeicher.


|  | 
| --- |
|  **Textbasierte Daten, wie z. B. CSVs, müssen codiert werden, AWS Glue damit sie `UTF-8` erfolgreich verarbeitet werden können. Weitere Informationen finden Sie unter [UTF-8](https://en.wikipedia.org/wiki/UTF-8) in Wikipedia.**   | 

## AWS Glue Terminologie
<a name="components-major"></a>

AWS Glue stützt sich bei der Erstellung und Verwaltung Ihres ETL-Workflows (Extrahieren, Transformieren und Laden) auf das Zusammenspiel mehrerer Komponenten.

### AWS Glue Data Catalog
<a name="components-data-catalog"></a>

Die persistenten Metadaten werden in gespeichert AWS Glue. Es enthält Tabellendefinitionen, Jobdefinitionen und andere Kontrollinformationen zur Verwaltung Ihrer AWS Glue Umgebung. Jedes AWS Konto hat ein Konto AWS Glue Data Catalog pro Region. 

### Classifier
<a name="components-classifier"></a>

Bestimmt das Schema Ihrer Daten. AWS Glue bietet Klassifikatoren für gängige Dateitypen wie CSV, JSON, AVRO, XML und andere. Es stellt auch Classifier für gängige relationale Datenbankmanagementsysteme mit einer JDBC-Verbindung zur Verfügung. Sie können einen eigenen Classifier schreiben, indem Sie ein Grok-Muster verwenden oder indem Sie einen Row-Tag in einem XML-Dokument festlegen.

### Connection (Verbindung)
<a name="components-connection"></a>

Ein Data-Catalog-Objekt mit den Eigenschaften, die für die Verbindung mit einem bestimmten Datenspeicher erforderlich sind.

### Crawler
<a name="components-crawler"></a>

Ein Programm, das sich mit einem Datenspeicher (Quelle oder Ziel) verbindet, eine priorisierte Liste von Classifiern verarbeitet, um das Schema für Ihre Daten zu bestimmen, und dann Metadatentabellen im AWS Glue Data Catalog erstellt.

### Datenbank
<a name="components-database"></a>

Eine Gruppe zugeordneter Data-Catalog-Tabellendefinitionen, die in einer logischen Gruppe organisiert sind.

### Datenspeicher, Datenquelle, Datenziel
<a name="components-data-store"></a>

Ein *Datenspeicher* ist ein Repository für die dauerhafte Speicherung Ihrer Daten. Beispiele hierfür sind Amazon-S3-Buckets und relationale Datenbanken. Eine *Datenquelle* ist ein Datenspeicher, der als Eingabe für einen Prozess oder eine Transformation verwendet wird. Ein *Datenziel* ist ein Datenspeicher, in den ein Prozess oder eine Transformation schreibt.

### Entwicklungsendpunkt
<a name="components-development-endpoint"></a>

Eine Umgebung, mit der Sie Ihre AWS Glue ETL-Skripts entwickeln und testen können.

### Dynamischer Frame
<a name="components-dynamic-frame"></a>

Eine verteilte Tabelle, die verschachtelte Daten wie Strukturen und Arrays unterstützt. Jeder Datensatz ist selbstbeschreibend und wurde auf Schema-Flexibilität mit halbstrukturierten Daten ausgelegt. Jeder Datensatz enthält sowohl Daten als auch das Schema, das diese Daten beschreibt. Sie können sowohl dynamische Frames als auch Apache Spark DataFrames in Ihren ETL-Skripten verwenden und zwischen diesen konvertieren. Dynamische Frames bieten eine Reihe von erweiterten Transformationen für die Datenbereinigung und für ETL.

### Aufgabe
<a name="components-job"></a>

Die Geschäftslogik, die für die Ausführung von ETL-Arbeiten erforderlich ist. Sie besteht aus einem Transformationsskript, Datenquellen und Datenzielen. Auftragsausführungen werden durch Auslöser ausgelöst. Diese können geplant sein oder durch Ereignisse ausgelöst werden.

### Dashboard zur Auftragsperformance
<a name="features-job-monitoring"></a>

AWS Glue bietet ein umfassendes Run-Dashboard für Ihre ETL-Jobs. Das Dashboard zeigt Informationen zu Auftragsausführungen in einem bestimmten Zeitraum an. 

### Notebook-Schnittstelle
<a name="components-notebook-server"></a>

Ein verbessertes Notebook-Erlebnis mit Ein-Klick-Einrichtung für einfache Auftragserstellung und Datenexploration. Das Notebook und die Connectors werden automatisch für Sie konfiguriert. Sie können die auf Jupyter Notebook basierende Notebook-Oberfläche verwenden, um Skripts und Workflows mithilfe der AWS Glue serverlosen Apache Spark ETL-Infrastruktur interaktiv zu entwickeln, zu debuggen und bereitzustellen. Sie können auch Ad-hoc-Abfragen, Datenanalysen und Visualisierung (z. B. Tabellen und Diagramme) in der Notebook-Umgebung durchführen.

### Script
<a name="components-script"></a>

Code, der Daten aus Quellen extrahiert, transformiert und in Ziele lädt. AWS Glue generiert PySpark oder Scala-Skripte.

### Tabelle
<a name="components-table"></a>

Die Metadaten-Definition, die Ihre Daten repräsentiert. Unabhängig davon, ob sich Ihre Daten in einer Amazon Simple Storage Service (Amazon S3)-, einer Amazon Relational Database Service (Amazon RDS)-Tabelle oder anderen Datenelementen befinden, definiert eine Tabelle das Schema Ihrer Daten. Eine Tabelle in der AWS Glue Data Catalog besteht aus den Namen von Spalten, Datentypdefinitionen, Partitionsinformationen und anderen Metadaten zu einem Basisdatensatz. Das Schema Ihrer Daten ist in Ihrer AWS Glue Tabellendefinition dargestellt. Die eigentlichen Daten verbleiben in ihrem ursprünglichen Datenspeicher, unabhängig davon, ob sie sich in einer Datei oder einer relationalen Datenbanktabelle befinden. AWS Glue katalogisiert Ihre Dateien und relationalen Datenbanktabellen in der. AWS Glue Data Catalog Sie werden als Quellen und Ziele verwendet, wenn Sie einen ETL-Auftrag anlegen.

### Transformieren
<a name="components-transform"></a>

Die Codelogik, die verwendet wird, um Ihre Daten in ein anderes Format zu bringen.

### Auslöser
<a name="components-trigger"></a>

Initiiert einen ETL-Auftrag. Auslöser können auf der Grundlage einer geplanten Uhrzeit oder eines Ereignisses definiert werden.

### Visueller Auftragseditor
<a name="features-visual-editor"></a>

 Der visuelle Auftrags-Editor ist eine grafische Oberfläche, mit der Sie ETL-Aufträge (Extract, Transform, Load) in AWS Glue ganz einfach erstellen, ausführen und überwachen können. Sie können Workflows zur Datentransformation visuell zusammenstellen, sie nahtlos auf der AWS Glue Apache Spark-basierten serverlosen ETL-Engine ausführen und das Schema und die Datenergebnisse in jedem Schritt des Jobs überprüfen. 

### Worker
<a name="components-worker"></a>

Mit zahlen Sie nur für die Zeit AWS Glue, die Ihr ETL-Job für die Ausführung benötigt. Sie müssen keine Ressourcen verwalten, es gibt keine Vorabkosten und Ihnen werden keine Start- oder Shutdown-Zeit in Rechnung gestellt. Ihnen wird ein Stundensatz berechnet, der auf der Anzahl der **Datenverarbeitungseinheiten** (oder DPUs) basiert, die für die Ausführung Ihres ETL-Jobs verwendet werden. Eine einzelne Datenverarbeitungseinheit (DPU) wird auch als *Worker* bezeichnet. AWS Glue verfügt über mehrere Workertypen, sodass Sie die Konfiguration auswählen können, die Ihren Anforderungen an die Auftragslatenz und die Kosten entspricht. Worker sind in den Standardkonfigurationen und in den Konfigurationen G.1X, G.2X, G.4X, G.8X, G.12X, G.16X, G.025X erhältlich sowie in arbeitsspeicheroptimierten Konfigurationen R.1X, R.2X, R.4X, R.8X.

# AWS Glue Komponenten
<a name="components-overview"></a>

AWS Glue bietet eine Konsole und API-Operationen zum Einrichten und Verwalten Ihres ETL-Workloads (Extrahieren, Transformieren und Laden). Sie können API-Operationen über mehrere sprachspezifische Funktionen SDKs und die AWS Command Line Interface ()AWS CLI verwenden. Informationen zur Verwendung von finden Sie in der AWS CLI[AWS CLI Befehlsreferenz](https://docs.aws.amazon.com/cli/latest/reference/).

AWS Glue verwendet die AWS Glue Data Catalog , um Metadaten zu Datenquellen, Transformationen und Zielen zu speichern. Der Data Catalog ist ein Drop-In-Ersatz für den Apache-Hive-Metastore. Das AWS Glue Jobs system bietet eine verwaltete Infrastruktur für die Definition, Planung und Ausführung von ETL-Vorgängen für Ihre Daten. Weitere Informationen zur AWS Glue API finden Sie unter[AWS Glue API](aws-glue-api.md).

## AWS Glue Konsole
<a name="console-intro"></a>

Sie verwenden die AWS Glue Konsole, um Ihren ETL-Workflow zu definieren und zu orchestrieren. Die Konsole ruft mehrere API-Operationen im AWS Glue Data Catalog und AWS Glue Jobs system auf, um die folgenden Aufgaben auszuführen:
+ Definieren Sie AWS Glue Objekte wie Jobs, Tabellen, Crawler und Verbindungen.
+ Planen, wann Crawler ausgeführt werden.
+ Definieren von Ereignissen oder Zeitplänen für Auftragsauslöser.
+ Suchen und filtern Sie AWS Glue Objektlisten.
+ Bearbeiten von Transformationskripts.

## AWS Glue Data Catalog
<a name="data-catalog-intro"></a>

 Das AWS Glue Data Catalog ist Ihr persistenter Speicher für technische Metadaten in der AWS Cloud. 

Jedes AWS Konto hat eines AWS Glue Data Catalog pro AWS Region. Jeder Datenkatalog ist eine hoch skalierbare Sammlung von Tabellen, die in Datenbanken organisiert sind. Eine Tabelle ist eine Metadatendarstellung einer Sammlung strukturierter oder halbstrukturierter Daten, die in Quellen wie Amazon RDS, Apache Hadoop Distributed File System, Amazon OpenSearch Service und anderen gespeichert sind. Sie AWS Glue Data Catalog bietet ein einheitliches Repository, in dem unterschiedliche Systeme Metadaten speichern und finden können, um den Überblick über Daten in Datensilos zu behalten. Sie können die Metadaten dann verwenden, um diese Daten in einer Vielzahl von Anwendungen konsistent abzufragen und zu transformieren. 

 Sie verwenden den Datenkatalog zusammen mit AWS Identity and Access Management Richtlinien und Lake Formation, um den Zugriff auf die Tabellen und Datenbanken zu kontrollieren. Auf diese Weise können Sie verschiedenen Gruppen in Ihrem Unternehmen erlauben, Daten sicher für die gesamte Organisation zu veröffentlichen, während vertrauliche Informationen auf sehr granulare Weise geschützt werden. 

Der Datenkatalog bietet Ihnen zusammen mit CloudTrail Lake Formation auch umfassende Audit- und Governance-Funktionen mit Nachverfolgung von Schemaänderungen und Datenzugriffskontrollen. Auf diese Weise stellen Sie sicher, dass Daten nicht unangemessen geändert oder versehentlich freigegeben werden. 

 Informationen zum Sichern und Prüfen finden Sie unter AWS Glue Data Catalog: 
+  **AWS Lake Formation** – Weitere Informationen finden Sie unter [Was ist AWS Lake Formation?](https://docs.aws.amazon.com/lake-formation/latest/dg/what-is-lake-formation.html) im *AWS Lake Formation -Entwicklerhandbuch*. 
+  **CloudTrail**— Weitere Informationen finden Sie unter [Was ist CloudTrail?](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-user-guide.html) im *AWS CloudTrail Benutzerhandbuch*. 

Im Folgenden finden Sie weitere AWS Dienste und Open-Source-Projekte, die Folgendes verwenden: AWS Glue Data Catalog
+ **Amazon Athena** – Weitere Informationen finden Sie unter [Grundlegendes zu Tabellen, Datenbanken und zum Data Catalog](https://docs.aws.amazon.com/athena/latest/ug/understanding-tables-databases-and-the-data-catalog.html) im *Amazon-Athena-Benutzerhandbuch*.
+ **Amazon Redshift Spectrum** – Weitere Informationen finden Sie unter [Verwenden von Amazon Redshift Spectrum zum Abfragen externer Daten](https://docs.aws.amazon.com/redshift/latest/dg/c-using-spectrum.html) im *Datenbank-Entwicklerhandbuch für Amazon Redshift*.
+ **Amazon EMR** – Weitere Informationen finden Sie unter [Verwenden von ressourcenbasierten Richtlinien für Amazon-EMR-Zugriff auf AWS Glue Data Catalog](https://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-iam-roles-glue.html) im *Amazon-EMR-Managementhandbuch*.
+ **AWS Glue Data Catalog Client für Apache Hive Metastore** — Weitere Informationen zu diesem GitHub Projekt finden Sie unter [AWS Glue Data Catalog Client für Apache](https://github.com/awslabs/aws-glue-data-catalog-client-for-apache-hive-metastore) Hive Metastore.



## AWS Glue Crawler und Klassifikatoren
<a name="crawling-intro"></a>

AWS Glue ermöglicht es Ihnen auch, Crawler einzurichten, die Daten in allen Arten von Repositorys scannen, klassifizieren, Schemainformationen daraus extrahieren und die Metadaten automatisch in der speichern können. AWS Glue Data Catalog AWS Glue Data Catalog Sie können dann zur Steuerung von ETL-Vorgängen verwendet werden.

Informationen dazu, wie Crawler und Classifier eingerichtet werden, finden Sie unter [Verwenden von Crawlern zum Auffüllen des Datenkatalogs](add-crawler.md). Informationen zur Programmierung von Crawlern und Classifiern mithilfe der AWS Glue API finden Sie unter. [Crawler- und Classifier-API](aws-glue-api-crawler.md)

## AWS Glue ETL-Operationen
<a name="etl-script-intro"></a>

Mithilfe der Metadaten im Datenkatalog AWS Glue können automatisch Scala- oder PySpark (die Python-API für Apache Spark) -Skripts mit AWS Glue Erweiterungen generiert werden, die Sie verwenden und ändern können, um verschiedene ETL-Operationen auszuführen. Sie können beispielsweise Rohdaten extrahieren, bereinigen und umwandeln und das Ergebnis anschließend in einem anderen Repository speichern, wo es abgefragt und analysiert werden kann. Ein solches Skript könnte eine CSV-Datei in ein relationales Format konvertieren und in Amazon Redshift speichern.

Weitere Informationen zur Verwendung von AWS Glue ETL-Funktionen finden Sie unter[Programmieren von Spark-Skripte](aws-glue-programming.md).

## ETL einstreamen AWS Glue
<a name="streaming-etl-intro"></a>

AWS Glue ermöglicht es Ihnen, ETL-Operationen mit Streaming-Daten mithilfe kontinuierlich ausgeführter Jobs durchzuführen. AWS Glue Streaming-ETL basiert auf der Apache Spark Structured Streaming Engine und kann Streams von Amazon Kinesis Data Streams, Apache Kafka und Amazon Managed Streaming for Apache Kafka (Amazon MSK) aufnehmen. Streaming-ETL kann Streaming-Daten bereinigen und transformieren und in Amazon-S3- oder JDBC-Datastores laden. Verwenden Sie Streaming ETL in AWS Glue , um Ereignisdaten wie IoT-Streams, Clickstreams und Netzwerkprotokolle zu verarbeiten.

Wenn Sie das Schema der Streaming-Datenquelle kennen, können Sie es in einer Data-Catalog-Tabelle angeben. Andernfalls können Sie die Schemaerkennung im Streaming-ETL-Auftrag aktivieren. Der Auftrag bestimmt dann automatisch das Schema aus den eingehenden Daten.

Der Streaming-ETL-Job kann sowohl AWS Glue integrierte Transformationen als auch Transformationen verwenden, die systemeigenen Transformationen von Apache Spark Structured Streaming sind. Weitere Informationen finden Sie unter [Operations on streaming DataFrames /Datasets auf der Apache](https://spark.apache.org/docs/latest/structured-streaming-programming-guide.html#operations-on-streaming-dataframesdatasets) Spark-Website. 

Weitere Informationen finden Sie unter [Streaming-ETL-Aufträge in AWS Glue](add-job-streaming.md).

## Das Jobsystem AWS Glue
<a name="job-orchestration-intro"></a>

Das AWS Glue Jobs system bietet eine verwaltete Infrastruktur zur Orchestrierung Ihres ETL-Workflows. Sie können Jobs erstellen AWS Glue , die die Skripts automatisieren, die Sie zum Extrahieren, Transformieren und Übertragen von Daten an verschiedene Speicherorte verwenden. Aufträge können zeitlich geplant und verkettet werden. Oder sie können von Ereignissen wie etwa dem Eintreffen neuer Daten ausgelöst werden.

Weitere Informationen zur Verwendung von finden Sie unter[Überwachung AWS Glue](monitor-glue.md). AWS Glue Jobs system Informationen zum Programmieren mithilfe der AWS Glue Jobs system -API finden Sie unter [Auftrags-API](aws-glue-api-jobs.md).

## Visuelle ETL-Komponenten
<a name="glue-studio-ui-components"></a>

 AWS Mit Glue können Sie ETL-Jobs über eine visuelle Leinwand erstellen, die Sie bearbeiten können. 

![\[Der Screenshot zeigt, dass das Ressourcenfenster geschlossen ist.\]](http://docs.aws.amazon.com/de_de/glue/latest/dg/images/glue-studio-canvas.png)


### Menü ETL-Auftrag
<a name="glue-studio-ui-components-menu"></a>

 Über die Menüoptionen oben im Zeichenbereich können Sie auf die verschiedenen Ansichten und Konfigurationsdetails zu Ihrem Auftrag zugreifen. 
+  **Visuell** – Der Zeichenbereich des visuellen Auftrags-Editors. Hier können Sie Knoten hinzufügen, um einen Auftrag zu erstellen. 
+  **Script** — Die Skriptdarstellung Ihres ETL-Jobs. AWS Glue generiert das Skript auf der Grundlage der visuellen Darstellung Ihres Jobs. Sie können Ihr Skript auch bearbeiten oder es herunterladen. 
**Anmerkung**  
 Bei Auswahl der Skriptbearbeitung wird die Auftragserstellung dauerhaft in einen reinen Skriptmodus umgewandelt. Danach können Sie den visuellen Editor nicht mehr für die Bearbeitung des Auftrags verwenden. Bevor Sie das Skript auswählen, sollten Sie alle Auftragsquellen, Transformationen und Ziele hinzufügen und alle gewünschten Änderungen mit dem visuellen Editor vornehmen. 
+  **Auftragsdetails** – Auf der Registerkarte Auftragsdetails können Sie Ihren Auftrag konfigurieren, indem Sie die Auftragseigenschaften festlegen. Es gibt grundlegende Eigenschaften wie den Namen und die Beschreibung Ihres Auftrags, die IAM-Rolle, den Auftragstyp, die AWS -Glue-Version, die Sprache, den Worker-Typ, die Anzahl der Worker, das Auftragslesezeichen, die flexible Ausführung, die Anzahl der Außerbetriebnahmen und die Auftragszeitüberschreitung sowie erweiterte Eigenschaften wie Verbindungen, Bibliotheken, Auftragsparameter und Tags. 
+  **Ausführungen** – Nachdem Ihr Auftrag ausgeführt wurde, können Sie auf diese Registerkarte zugreifen, um Ihre vergangenen Auftragsausführungen anzuzeigen. 
+  **Datenqualität** – Die Datenqualität bewertet und überwacht die Qualität Ihrer Datenbestände. Auf dieser Registerkarte erfahren Sie mehr darüber, wie Sie die Datenqualität verwenden und eine Datenqualitätstransformation zu Ihrem Auftrag hinzufügen können. 
+  **Zeitpläne** – Von Ihnen geplante Aufträge werden auf dieser Registerkarte angezeigt. Wenn diesem Auftrag keine Zeitpläne angefügt sind, dann ist diese Registerkarte nicht zugänglich. 
+  **Versionskontrolle** – Sie können Git mit Ihrem Auftrag verwenden, indem Sie Ihren Auftrag für ein Git-Repository konfigurieren. 

### Visuelle ETL-Bedienfelder
<a name="glue-studio-ui-components-panels"></a>

 Wenn Sie im Zeichenbereich arbeiten, stehen Ihnen mehrere Bedienfelder zur Verfügung, die Sie bei der Konfiguration Ihrer Knoten unterstützen oder Ihnen dabei helfen, eine Vorschau Ihrer Daten anzuzeigen und das Ausgabeschema anzuzeigen. 
+  **Eigenschaften** – Das Bedienfeld Eigenschaften wird angezeigt, wenn Sie einen Knoten in Ihrem Zeichenbereich auswählen. 
+  **Datenvorschau** – Das Bedienfeld Datenvorschau bietet eine Vorschau der Datenausgabe, so dass Sie Entscheidungen treffen können, bevor Sie Ihren Auftrag ausführen und Ihre Ausgabe prüfen. 
+  **Ausgabeschema** – Auf der Registerkarte Ausgabeschema können Sie das Schema Ihrer Transformationsknoten anzeigen und bearbeiten. 

 **Größe der Bedienfelder ändern** 

 Sie können die Größe des Eigenschaftenbereichs auf der rechten Seite des Bildschirms und des unteren Bereichs, der die Registerkarten Datenvorschau und Ausgabeschema enthält, ändern, indem Sie auf den Edge des Bereichs klicken und ihn nach links und rechts oder nach oben und unten ziehen. 
+  **Eigenschaftenfenster** – Ändern Sie die Größe des Eigenschaftenfensters, indem Sie auf den Edge des Zeichenbereichs auf der rechten Seite des Bildschirms klicken und ihn ziehen. Ziehen Sie ihn dann nach links, um seine Breite zu vergrößern. Standardmäßig ist das Bedienfeld reduziert und wenn ein Knoten ausgewählt wird, wird das Eigenschaftenfeld in seiner Standardgröße geöffnet. 
+  **Datenvorschau und Bedienfeld Ausgabeschema** – Ändern Sie die Größe des unteren Bedienfelds, indem Sie auf den unteren Edge des Zeichenbereichs am unteren Bildschirmrand klicken und ihn nach oben ziehen, um seine Höhe zu vergrößern. Standardmäßig ist das Bedienfeld reduziert und wenn ein Knoten ausgewählt wird, wird das untere Bedienfeld in seiner Standardgröße geöffnet. 

### Zeichenbereich für Aufträge
<a name="glue-studio-ui-components-canvas"></a>

 Sie können move/reorder Knoten direkt auf der Visual ETL-Arbeitsfläche hinzufügen, entfernen und entfernen. Betrachten Sie es als Ihren Workspace zur Erstellung eines voll funktionsfähigen ETL-Auftrags, der mit einer Datenquelle beginnt und mit einem Datenziel enden kann. 

 Wenn Sie mit Knoten auf dem Zeichenbereich arbeiten, steht Ihnen eine Symbolleiste zur Verfügung, mit der Sie hinein- und herauszoomen, Knoten entfernen, Verbindungen zwischen Knoten herstellen oder bearbeiten, die Auftragsflussausrichtung ändern und eine Aktion rückgängig machen oder wiederholen können. 

![\[Der Screenshot zeigt, dass das Ressourcenfenster geschlossen ist.\]](http://docs.aws.amazon.com/de_de/glue/latest/dg/images/glue-studio-canvas-toolbar.png)


 Die schwebende Symbolleiste ist in der oberen rechten Ecke des Zeichenbereichs verankert und enthält mehrere Images, die Aktionen ausführen: 
+  **Layout-Symbol** – Das erste Symbol in der Symbolleiste ist das Layout-Symbol. In der Standardeinstellung ist die Richtung der visuellen Aufträge von oben nach unten gerichtet. Es ändert die Richtung Ihres visuellen Auftrags, indem es die Knoten horizontal von links nach rechts anordnet. Durch erneutes Klicken auf das Layout-Symbol ändert sich die Richtung wieder von oben nach unten. 
+  **Symbol „Neu zentrieren“** – Das Symbol „Neu zentrieren“ ändert die Zeichenbereichsansicht, indem es sie zentriert. Sie können dies bei großen Aufträgen verwenden, um wieder in die Mittelstellung zu gelangen. 
+  **Symbol „Vergrößern“** – Das Symbol „Vergrößern“ vergrößert die Größe der Knoten im Zeichenbereich. 
+  **Symbol „Verkleinern“** – Das Symbol „Verkleinern“ verringert die Größe der Knoten im Zeichenbereich. 
+  **Papierkorbsymbol** – Mit dem Papierkorbsymbol entfernen Sie einen Knoten aus dem visuellen Auftrag. Sie müssen zuerst einen Knoten auswählen. 
+  **Symbol „Rückgängig“** – Das Rückgängig-Symbol macht die letzte am visuellen Auftrag ausgeführte Aktion rückgängig. 
+  **Symbol „Wiederherstellen“** – Das Wiederherstellen-Symbol wiederholt die letzte Aktion, die für den visuellen Auftrag ausgeführt wurde. 

 **Verwendung der Minikarte** 

![\[Der Screenshot zeigt eine Nahaufnahme der Minikarte.\]](http://docs.aws.amazon.com/de_de/glue/latest/dg/images/glue-studio-canvas-minimap.png)


### Bedienfeld Ressourcen
<a name="glue-studio-ui-components-canvas-resource-panel"></a>

 Der Ressourcenbereich enthält alle für Sie verfügbaren Datenquellen, Transformationsaktionen und Verbindungen. Öffnen Sie den Ressourcenbereich im Zeichenbereich, indem Sie auf das „\$1“-Symbol klicken. Dadurch wird der Ressourcenbereich geöffnet. 

 Klicken Sie zum Schließen den Ressourcenbereich auf das **X** in der oberen rechten Ecke des Ressourcenbereichs. Dadurch wird das Bedienfeld ausgeblendet, bis Sie es erneut öffnen können. 

![\[Der Screenshot zeigt den geöffneten Ressourcenbereich.\]](http://docs.aws.amazon.com/de_de/glue/latest/dg/images/resource-panel-open.png)


#### Beliebte Transformationen und Daten
<a name="glue-studio-ui-components-popular-transforms"></a>

 Im oberen Bereich des Bedienfelds befindet sich eine Sammlung beliebter **Transformationen und Daten**. Diese Knoten werden häufig in AWS Glue verwendet. Wählen Sie eines aus, um es dem Zeichenbereich hinzuzufügen. Sie können die beliebten **Transformationen und Daten** auch ausblenden, indem Sie auf das Dreieck neben der Überschrift **Beliebte Transformationen und Daten** klicken. 

 Unter dem Abschnitt **Beliebte Transformationen und Daten** können Sie nach Transformationen und Datenquellenknoten suchen. Die Ergebnisse werden während der Eingabe angezeigt. Je mehr Buchstaben Sie zu Ihrer Suchanfrage hinzufügen, desto kleiner wird die Ergebnisliste. Die Suchergebnisse werden aus der and/or Beschreibung des Knotennamens übernommen. Wählen Sie den Knoten aus, um ihn Ihrem Zeichenbereich hinzuzufügen. 

#### Transformationen und Daten
<a name="glue-studio-ui-components-transforms-and-data"></a>

 Es gibt zwei Registerkarten, auf denen die Knoten in **Transformationen** und **Daten** unterteilt sind. 

 **Transformationen** – Wenn Sie die Registerkarte **Transformationen** auswählen, können alle verfügbaren Transformationen ausgewählt werden. Wählen Sie eine Transformation aus, um sie dem Zeichenbereich hinzuzufügen. Sie können auch die Option **Transformation hinzufügen** unten in der Liste Transformationen auswählen, um eine neue Seite mit der Dokumentation zum Erstellen [benutzerdefinierter visueller Transformationen](https://docs.aws.amazon.com/glue/latest/ug/custom-visual-transform.html) zu öffnen. Wenn Sie die Schritte befolgen, können Sie eigene Transformationen erstellen. Ihre Transformationen werden dann in der Liste der verfügbaren Transformationen angezeigt. 

 **Daten** – Die Registerkarte Daten enthält alle Knoten für **Quellen** und **Ziele**. Sie können die Quellen und Ziele ausblenden, indem Sie auf das Dreieck neben der Überschrift Quellen oder Ziele klicken. Sie können die Quellen und Ziele wieder einblenden, indem Sie erneut auf das Dreieck klicken. Wählen Sie einen Quell- oder Zielknoten aus, um ihn dem Zeichenbereich hinzuzufügen. Sie können auch **Verbindungen verwalten** auswählen, um eine neue Verbindung hinzuzufügen. Dadurch wird die Seite Konnektoren in der Konsole geöffnet. 

# AWS Glue für Spark und AWS Glue für Ray
<a name="how-it-works-engines"></a>

In AWS Glue Apache Spark (AWS Glue ETL) können PySpark Sie Python-Code schreiben, um Daten in großem Maßstab zu verarbeiten. Spark ist eine vertraute Lösung für dieses Problem, aber Dateningenieure mit einem Python-fokussierten Hintergrund können den Übergang als unintuitiv empfinden. Das DataFrame Spark-Modell ist nicht nahtlos „pythonisch“, was die Scala-Sprache und die Java-Laufzeit widerspiegelt, auf der es aufbaut.

In AWS Glue können Sie Python-Shell-Jobs verwenden, um native Python-Datenintegrationen auszuführen. Diese Jobs werden auf einer einzigen EC2 Amazon-Instance ausgeführt und sind durch die Kapazität dieser Instance begrenzt. Dies schränkt den Datendurchsatz ein, den Sie verarbeiten können, und wird bei Big Data teuer in der Wartung.

AWS Glue for Ray ermöglicht es Ihnen, Python-Workloads zu skalieren, ohne nennenswerte Investitionen in das Erlernen von Spark zu tätigen. Sie können bestimmte Szenarien nutzen, in denen Ray eine bessere Leistung erbringt. Indem wir Ihnen eine Auswahl anbieten, können Sie die Stärken von Spark und Ray nutzen.

AWS Glue ETL und AWS Glue for Ray unterscheiden sich grundlegend, sodass sie unterschiedliche Funktionen unterstützen. Bitte prüfen Sie die Dokumentation, um die unterstützten Features zu bestimmen.

## Was ist AWS Glue für Ray?
<a name="how-it-works-ray"></a>

Ray ist ein Open-Source-Framework für verteilte Berechnungen, mit dem Sie Workloads mit Schwerpunkt auf Python skalieren können. Weitere Informationen zu Ray finden Sie auf der [Website von Ray](https://www.ray.io/). AWS Glue Ray-Jobs und interaktive Sessions ermöglichen es Ihnen, Ray intern zu verwenden AWS Glue.

Sie können AWS Glue for Ray verwenden, um Python-Skripte für Berechnungen zu schreiben, die parallel auf mehreren Computern ausgeführt werden. In Ray-Aufträgen und interaktiven Sitzungen können Sie vertraute Python-Bibliotheken wie Pandas verwenden, um Ihre Workflows einfach zu schreiben und auszuführen. Weitere Informationen zu Ray-Datensätzen finden Sie unter [Ray-Datensätze](https://docs.ray.io/en/latest/data/dataset.html) in der Ray-Dokumentation. Weitere Informationen über Pandas finden Sie auf der [Pandas-Website](https://pandas.pydata.org/).

Wenn Sie AWS Glue for Ray verwenden, können Sie Ihre Pandas-Workflows mit Big Data auf Unternehmensebene ausführen — mit nur wenigen Codezeilen. Sie können einen Ray-Job von der AWS Glue Konsole oder dem SDK aus erstellen. AWS Sie können auch eine AWS Glue interaktive Sitzung öffnen, um Ihren Code in einer serverlosen Ray-Umgebung auszuführen. Visuelle Jobs in AWS Glue Studio werden noch nicht unterstützt.

AWS Glue for Ray-Jobs ermöglichen es Ihnen, ein Skript nach einem Zeitplan oder als Reaktion auf ein Ereignis von Amazon auszuführen EventBridge. Jobs speichern Protokollinformationen und Überwachungsstatistiken CloudWatch , anhand derer Sie den Zustand und die Zuverlässigkeit Ihres Skripts nachvollziehen können. Weitere Informationen zum AWS Glue Jobsystem finden Sie unter[Arbeiten mit Ray Jobs in AWS Glue](ray-jobs-section.md).

Ray automatisiert die Skalierung von Python-Code, indem es die Verarbeitung auf einen Cluster von Computern verteilt, die es je nach Auslastung in Echtzeit neu konfiguriert. Dies kann bei bestimmten Workloads zu einer verbesserten Leistung pro Dollar führen. Bei Ray-Jobs haben wir Auto Scaling nativ in das AWS Glue Jobmodell integriert, sodass Sie diese Funktion voll ausnutzen können. Ray-Jobs werden auf AWS Graviton ausgeführt, was insgesamt zu einem höheren Preis-Leistungs-Verhältnis führt.

Zusätzlich zu den Einsparungen können Sie das native Auto Scaling verwenden, um Ray-Workloads auszuführen, ohne Zeit in die Cluster-Wartung, -Abstimmung und -Verwaltung zu investieren. Sie können vertraute, sofort einsatzbereite Open-Source-Bibliotheken wie Pandas und das AWS SDK für Pandas verwenden. Diese verbessern die Iterationsgeschwindigkeit, während Sie auf AWS Glue für Ray entwickeln. Wenn Sie AWS Glue for Ray verwenden, können Sie schnell kostengünstige Datenintegrationsworkloads entwickeln und ausführen.

[![AWS Videos](http://img.youtube.com/vi/https://www.youtube.com/embed/OJ3ZngYTyNE/0.jpg)](http://www.youtube.com/watch?v=https://www.youtube.com/embed/OJ3ZngYTyNE)


# Umwandeln semistrukturierter Schemas in relationale Schemas mit AWS Glue
<a name="schema-relationalize"></a>

Es ist üblich, semistrukturierte Daten in relationale Tabellen umzuwandeln. Konzeptionell reduzieren Sie ein hierarchisches Schema auf ein relationales Schema. AWS Gluekann diese Konvertierung für Sie durchführen. on-the-fly

Semistrukturierte Daten enthalten in der Regel Markups zur Identifizierung von Entitäten innerhalb der Daten. Sie können verschachtelte Datenstrukturen ohne festes Schema umfassen. Weitere Informationen zu semistrukturierten Daten finden Sie im [Wikipedia-Artikel zu semistrukturierten Daten](https://en.wikipedia.org/wiki/Semi-structured_data). 

Relationale Daten werden durch Tabellen repräsentiert, die aus Zeilen und Spalten bestehen. Die Beziehungen zwischen Tabellen können durch eine Beziehung zwischen Primärschlüssel (PK) und Fremdschlüssel (FK) dargestellt werden. Weitere Informationen finden Sie im [Wikipedia-Artikel zu relationalen Datenbanken](https://en.wikipedia.org/wiki/Relational_database). 

AWS Glue verwendet Crawler, um Schemas für semistrukturierte Daten abzuleiten. Es wandelt die Daten dann mit einem ETL-Auftrag (Extract, Transform and Load) in ein relationales Schema um. Sie können beispielsweise JSON-Daten von Quelldateien aus Amazon Simple Storage Service (Amazon S3) in Amazon Relational Database Service (Amazon RDS)-Tabellen parsen. Wenn Sie verstehen, wie AWS Glue die Unterschiede zwischen Schemas handhabt, können Sie den Prozess der Umwandlung besser nachvollziehen. 

In diesem Diagramm wird gezeigt, wie AWS Glue ein semistrukturiertes Schema in ein relationales Schema umwandelt.

![\[Ablauf, der die Umwandlung eines semistrukturierten in ein relationales Schema zeigt.\]](http://docs.aws.amazon.com/de_de/glue/latest/dg/images/HowItWorks-schemaconversion.png)


Das Diagramm veranschaulicht folgende Vorgänge:
+ Der Einzelwert `A` wird direkt in eine relationale Spalte umgewandelt.
+ Das Wertepaar `B1` und `B2` wird in zwei relationale Spalten umgewandelt.
+ Die Struktur `C`, mit den untergeordneten Elementen `X` und `Y`, wird in zwei relationale Spalten umgewandelt.
+ Array `D[]` wird in eine relationale Spalte mit einem Fremdschlüssel (FK) umgewandelt, der auf eine andere relationale Tabelle verweist. Zusammen mit einem Primärschlüssel (PK) verfügt die zweite relationale Tabelle über Spalten, die den Offset und Wert der Elemente im Array enthalten.

# AWS Systeme vom Typ Glue
<a name="glue-types"></a>

 AWS Glue verwendet Systeme verschiedener Typen, um eine vielseitige Schnittstelle zu Datensystemen bereitzustellen, die Daten auf sehr unterschiedliche Weise speichern. In diesem Dokument werden Systeme und Datenstandards vom Typ AWS Glue unterschieden.

## AWS Typen von Glue-Datenkatalogen
<a name="glue-types-catalog"></a>

Der Datenkatalog ist ein Register von Tabellen und Feldern, die in verschiedenen Datensystemen gespeichert sind, ein Metaspeicher. Wenn AWS Glue-Komponenten wie AWS Glue-Crawler und AWS Glue with Spark-Jobs in den Datenkatalog schreiben, tun sie dies mit einem internen Typsystem zur Nachverfolgung der Feldtypen. Diese Werte werden in der Spalte **Datentyp** des Tabellenschemas in der AWS Glue-Konsole angezeigt. Dieses Typsystem basiert auf dem Typsystem von Apache Hive. Weitere Informationen zum Apache-Hive-Typsystem finden Sie unter [Typen](https://cwiki.apache.org/confluence/display/hive/languagemanual+types) im Apache-Hive-Wiki. Weitere Informationen zu bestimmten Typen und Unterstützung finden Sie in der AWS Glue Console als Teil des Schema Builders anhand von Beispielen.

### Validierung, Kompatibilität und andere Verwendungen
<a name="w2aac11c31b5b5"></a>

Der Datenkatalog validiert keine Typen, die in Typfelder geschrieben wurden. Wenn AWS Glue-Komponenten den Datenkatalog lesen und in ihn schreiben, sind sie miteinander kompatibel. AWS Die Klebstoffkomponenten zielen auch darauf ab, ein hohes Maß an Kompatibilität mit den Hive-Typen zu gewährleisten. AWS Glue-Komponenten garantieren jedoch nicht die Kompatibilität mit allen Hive-Typen. Dies ermöglicht die Interoperabilität mit Tools wie Athena DDL bei der Arbeit mit Tabellen im Datenkatalog.

Da der Datenkatalog keine Typen validiert, können andere Services den Datenkatalog verwenden, um Typen mithilfe von Systemen zu verfolgen, die strikt dem Hive-Typsystem oder jedem anderen System entsprechen. 

## Typen in AWS Glue mit Spark-Skripten
<a name="glue-types-spark"></a>

Wenn ein AWS Glue with Spark-Skript einen Datensatz interpretiert oder transformiert, stellen wir eine speicherinterne Darstellung Ihres Datensatzes bereit`DynamicFrame`, so wie er in Ihrem Skript verwendet wird. Das Ziel von einem `DynamicFrame` ähnelt dem von Spark `DataFrame` – es modelliert Ihren Datensatz so, dass Spark Transformationen für Ihre Daten planen und ausführen kann. Wir garantieren, dass die Typdarstellung von `DynamicFrame` kompatibel mit `DataFrame` ist, indem wir die `toDF`- und `fromDF`-Methoden bereitstellen.

Wenn Typinformationen für einen `DataFrame` abgeleitet oder bereitgestellt werden können, können sie auch für einen `DynamicFrame` abgeleitet oder bereitgestellt werden, sofern nicht anders dokumentiert. Wenn wir optimierte Lese- oder Schreibprogramme für bestimmte Datenformate bereitstellen, können die von Spark bereitgestellten Lese- und Schreibprogramme Ihre Daten lesen oder schreiben, sofern dies mit den dokumentierten Einschränkungen möglich ist. Weitere Informationen über Lese- oder Schreibprogramme finden Sie unter [Mögliche Formate für Eingaben und Ausgaben in AWS Glue für Spark](aws-glue-programming-etl-format.md).

### Der Typ der Wahl
<a name="w2aac11c31b7b7"></a>

`DynamicFrames` stellen einen Mechanismus zur Modellierung von Feldern in einem Datensatz bereit, deren Werte auf der Festplatte zeilenübergreifend inkonsistente Typen haben können. Beispielsweise kann ein Feld eine Zahl enthalten, die in bestimmten Zeilen als Zeichenfolge gespeichert ist, und in anderen eine Ganzzahl. Dieser Mechanismus ist ein In-Memory-Typ, bezeichnet als `Choice`. Wir bieten Transformationen wie die `ResolveChoice` Methode an, um Choice-Spalten in einen konkreten Typ aufzulösen. AWS Glue ETL schreibt den Choice-Typ im normalen Betrieb nicht in den Datenkatalog. Choice-Typen existieren nur im Kontext von DynamicFrame Speichermodellen von Datensätzen. Ein Beispiel für die Verwendung des Choice-Typs finden Sie unter [Codebeispiel: Datenvorbereitung mit ResolveChoice, Lambda und ApplyMapping](aws-glue-programming-python-samples-medicaid.md).

## AWS Typen von Glue Crawler
<a name="glue-types-crawler"></a>

Crawler zielen darauf ab, ein konsistentes, verwendbares Schema für Ihren Datensatz zu erstellen und es dann im Datenkatalog zu speichern, um es in anderen AWS Glue-Komponenten und Athena zu verwenden. Crawler arbeiten mit Typen, wie im vorherigen Abschnitt über den Datenkatalog beschrieben, [AWS Typen von Glue-Datenkatalogen](#glue-types-catalog). Um einen verwendbaren Typ in Szenarien vom Typ „Auswahl“ zu erzeugen, in denen eine Spalte Werte von zwei oder mehr Typen enthält, erstellen Crawler einen `struct`-Typ, der die potenziellen Typen modelliert.