

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.

# Transformieren von Daten mit von AWS Glue verwalteten Transformationen
<a name="edit-jobs-transforms"></a>

 AWS Glue Studio bietet zwei Arten von Transformationen: 
+  **AWS Glue-native Transformationen** – stehen allen Benutzern zur Verfügung und werden von AWS Glue verwaltet. 
+  **Benutzerdefinierte visuelle Transformationen** – ermöglicht Ihnen das Hochladen Ihrer eigenen Transformationen zur Verwendung in AWS Glue Studio 

## AWS Glue-verwaltete Datentransformationsknoten
<a name="edit-jobs-transforms-glue-managed"></a>

AWS Glue Studio bietet eine Reihe von integrierten Transformationen, die Sie zur Verarbeitung Ihrer Daten verwenden können. Ihre Daten werden in einer Datenstruktur namens `DynamicFrame` von einem Knoten im Auftragsdiagramm zum anderen übergeben (eine Erweiterung für ein Apache Spark SQL `DataFrame`).

Im vorab ausgefüllten Diagramm für einen Job befindet sich zwischen den Datenquellen- und Datenzielknoten der Transformationsknoten **Schema ändern**. Sie können diesen Transformationsknoten so konfigurieren, dass er die Daten ändert, oder zusätzliche Transformationen verwenden. 

Die folgenden integrierten Transformationen gibt es bei AWS Glue Studio:
+ **[ChangeSchema](transforms-configure-applymapping.md)**: Ordnet Dateneigenschaftsschlüssel in der Datenquelle Dateneigenschaftsschlüsseln im Datenziel zu. Sie können Schlüssel umbenennen, die Datentypen für Schlüssel ändern und die Schlüssel auswählen, die aus dem Datensatz gelöscht werden sollen.
+ **[SelectFields](transforms-configure-select-fields.md)**: Wählen Sie die Dateneigenschaftsschlüssel aus, die Sie behalten möchten.
+ **[DropFields](transforms-configure-drop-fields.md)**: Wählen Sie die Dateneigenschaftsschlüssel aus, die Sie löschen möchten.
+ **[RenameField](transforms-configure-rename-field.md)**: Benennt einen einzelnen Dateneigenschaftsschlüssel um.
+ **[Spigot](transforms-configure-spigot.md)**: Schreiben Sie Beispiele der Daten in einen Amazon-S3-Bucket.
+ **[Join](transforms-configure-join.md)**: Führen Sie zwei Datensätze mit einer Vergleichsphrase für die angegebenen Dateneigenschaftsschlüssel zu einem Datensatz zusammen. Sie können innere, äußere, linke, rechte, linke Hälfte und linke Anti-Joins verwenden.
+ **[Vereinigung](transforms-configure-union.md)**: Kombinieren Sie Zeilen aus mehr als einer Datenquelle, die dasselbe Schema haben.
+ **[SplitFields](transforms-configure-split-fields.md)**: Teilt Dateneigenschaftsschlüssel in zwei Teile auf`DynamicFrames`. Die Ausgabe ist eine Sammlung von `DynamicFrames`: Einer mit ausgewählten Dateneigenschaftsschlüsseln und einer mit den übrigen Dateneigenschaftsschlüsseln. 
+ **[SelectFromCollection](transforms-selectfromcollection-overview.md)**: Wählen Sie einen `DynamicFrame` aus einer Sammlung von`DynamicFrames`. Die Ausgabe ist der ausgewählte `DynamicFrame`.
+ **[FillMissingValues](transforms-configure-fmv.md)**: Suchen Sie nach Datensätzen im Datensatz, bei denen Werte fehlen, und fügen Sie ein neues Feld mit einem vorgeschlagenen Wert hinzu, der durch Imputation bestimmt wird
+ **[Filter](transforms-filter.md)**: Teilen Sie ein Datensatz anhand einer Filterbedingung in zwei Datensätze auf.
+  **[Leere Felder löschen](transforms-dropnull-fields.md)**: Entfernt Spalten aus dem Datensatz, wenn alle Werte in der Spalte „Null“ sind. 
+  **[Duplikate löschen](transforms-drop-duplicates.md)**: Entfernt Zeilen aus Ihrer Datenquelle, indem entweder ganze Zeilen abgeglichen oder Schlüssel angegeben werden. 
+ **[SQL](transforms-sql.md)**: Geben Sie SparkSQL-Programmiercode in ein Texteingabefeld ein, um eine SQL-Abfrage zum Transformieren der Daten zu verwenden. Die Ausgabe ist ein einzelner `DynamicFrame`. 
+  **[Aggregierung](transforms-aggregate-fields.md)**: führt eine Berechnung (wie Durchschnitt, Summe, Min, Max) für ausgewählte Felder und Zeilen durch und erstellt ein neues Feld mit den neu berechneten Werten/dem neu berechneten Wert. 
+ **[Abflachen](transforms-flatten.md)**: Extrahiert Felder innerhalb von Strukturen in Felder der obersten Ebene.
+ **[UUID](transforms-uuid.md)**: Fügt für jede Zeile eine Spalte mit einem universell eindeutigen Bezeichner hinzu.
+ **[Identifikator](transforms-identifier.md)**: Fügt für jede Zeile eine Spalte mit einer numerischen ID hinzu.
+ **[Zum Zeitstempel](transforms-to-timestamp.md)**: Konvertiert eine Spalte in den Zeitstempeltyp.
+ **[Zeitstempel formatieren](transforms-format-timestamp.md)**: Konvertiert eine Zeitstempelspalte in eine formatierte Zeichenfolge.
+ **[Bedingte Router-Transformation](transforms-conditional-router.md)**: Wenden Sie mehrere Bedingungen auf eingehende Daten an. Jede Zeile der eingehenden Daten wird anhand einer Gruppenfilterbedingung ausgewertet und zu der entsprechenden Gruppe verarbeitet. 
+  **[Transformation einer Verkettung von Spalten](transforms-concatenate-columns.md)**: Erstellen Sie eine neue Zeichenfolgenspalte unter Verwendung der Werte anderer Spalten mit einem optionalen Abstandszeichen. 
+  **[Transformation einer geteilten Zeichenfolge](transforms-split-string.md)**: Teilen Sie eine Zeichenfolge mithilfe eines regulären Ausdrucks in ein Array von Token auf, um zu definieren, wie die Aufteilung durchgeführt wird. 
+  **[Transformation von Array zu Spalten](transforms-array-to-columns.md)**: Extrahieren Sie einige oder alle Elemente einer Spalte vom Typ Array in neue Spalten. 
+  **[Transformation „Aktuellen Zeitstempel hinzufügen“](transforms-add-current-timestamp.md)**: Markieren Sie die Zeilen mit der Uhrzeit, zu der die Daten verarbeitet wurden. Dies ist für Prüfzwecke oder zum Verfolgen der Latenz in der Datenpipeline nützlich. 
+  **[Transformation „Zeilen zu Spalten pivotieren“](transforms-pivot-rows-to-columns.md)**: Aggregieren Sie eine numerische Spalte, indem Sie eindeutige Werte in ausgewählten Spalten rotieren, die zu neuen Spalten werden. Bei Auswahl mehrerer Spalten werden die Werte verkettet, um die neuen Spalten zu benennen. 
+  **[Transformation „Spalten zu Zeilen entpivotieren“](transforms-unpivot-columns-to-rows.md)**: Konvertieren Sie Spalten in Werte neuer Spalten und erzeugen Sie eine Zeile für jeden eindeutigen Wert. 
+  **[Transformation zur automatischen Balance-Verarbeitung](transforms-autobalance-processing.md)**: Verteilen Sie die Daten besser unter den Mitarbeitern. Dies ist nützlich, wenn die Daten unausgeglichen sind oder aufgrund ihrer Quelle keine ausreichende Parallelverarbeitung möglich ist. 
+  **[Transformation für abgeleitete Spalten](transforms-derived-column.md)**: Definieren Sie eine neue Spalte auf der Grundlage einer mathematischen Formel oder eines SQL-Ausdrucks, in der Sie andere Spalten in den Daten sowie Konstanten und Literale verwenden können. 
+  **[Nachschlage-Transformation](transforms-lookup.md)**: Fügen Sie Spalten aus einer definierten Katalogtabelle hinzu, wenn die Schlüssel mit den definierten Nachschlagespalten in den Daten übereinstimmen. 
+  **[Transformation „Matrix auflösen“ oder „In Zeilen zuordnen“](transforms-explode-array.md)**: Extrahieren Sie Werte aus einer verschachtelten Struktur in einzelne Zeilen, die einfacher zu bearbeiten sind. 
+  **[Transformation für den Datensatzabgleich](transforms-record-matching.md)**: Rufen Sie eine vorhandene Transformation zur Datenklassifizierung durch Machine Learning zum Datensatzabgleich auf. 
+  **[Transformation zum Entfernen von Nullzeilen](transforms-remove-null-rows.md)**: Entfernen Sie Zeilen aus dem Datensatz, deren Spalten alle null oder leer sind. 
+  **[Transformation zum Analysieren von JSON-Spalten](transforms-parse-json-column.md)**: Analysieren Sie eine Zeichenfolgenspalte mit JSON-Daten und konvertieren Sie sie in eine Struktur- oder Array-Spalte, je nachdem, ob es sich bei JSON um ein Objekt oder ein Array handelt. 
+  **[Transformation zum Extrahieren des JSON-Pfads](transforms-extract-json-path.md)**: Extrahieren Sie neue Spalten aus einer JSON-Zeichenfolgenspalte. 
+  **[Zeichenkettenfragmente aus einem regulären Ausdruck extrahieren](transforms-regex-extractor.md)**: Extrahieren Sie Zeichenfolgenfragmente mithilfe eines regulären Ausdrucks und erstellen Sie daraus eine neue Spalte oder mehrere Spalten, wenn Sie Regex-Gruppen verwenden. 
+ **[Custom transform (benutzerdefinierte Transformation)](transforms-custom.md)**: Geben Sie Programmiercode in ein Texteingabefeld ein, um benutzerdefinierte Transformationen zu verwenden. Die Ausgabe ist eine Sammlung von `DynamicFrames`. 

# Verwendung eines Datenvorbereitungsrezepts in AWS Glue Studio
<a name="glue-studio-data-preparation"></a>

 Mit der Transformation **Datenvorbereitungsrezept** können Sie mithilfe einer interaktiven Erstellungsoberfläche im Rasterstil ein Datenvorbereitungsrezept von Grund auf neu erstellen. Sie können damit auch ein vorhandenes AWS Glue DataBrew -Rezept importieren und es anschließend in AWS Glue Studio bearbeiten. 

 Der Knoten **Datenvorbereitungsrezept** ist im Bereich Ressource verfügbar. Sie können den Knoten **Datenvorbereitungsrezept** mit einem anderen Knoten im visuellen Workflow verbinden, unabhängig davon, ob es sich um einen Datenquellenknoten oder einen anderen Transformationsknoten handelt. Nachdem Sie ein AWS Glue DataBrew Rezept und eine Version ausgewählt haben, sind die angewendeten Schritte im Rezept auf der Registerkarte mit den Knoteneigenschaften sichtbar. 

## Voraussetzungen
<a name="glue-studio-databrew-prerequisites"></a>
+  Wenn Sie ein AWS Glue DataBrew Rezept importieren, verfügen Sie über die erforderlichen IAM-Berechtigungen, wie unter beschrieben[Importiere ein AWS Glue DataBrew Rezept in AWS Glue Studio](glue-studio-data-preparation-import-recipe.md). 
+  Eine Datenvorschau-Sitzung muss erstellt werden. 

## Einschränkungen
<a name="glue-studio-databrew-limitations"></a>
+  AWS Glue DataBrew Rezepte werden nur in [kommerziellen DataBrew Regionen](https://docs.aws.amazon.com/general/latest/gr/databrew.html) unterstützt. 
+  Nicht alle AWS Glue DataBrew Rezepte werden von unterstütztAWS Glue. Einige Rezepte können nicht in AWS Glue Studio ausgeführt werden. 
  +  Rezepte mit `UNION`- und `JOIN`-Transformationen werden nicht unterstützt. AWS Glue Studio verfügt jedoch bereits über „Join“- und „Union“-Transformationsknoten, die stattdessen vor oder nach einem Knoten für ein **Datenvorbereitungsrezept** verwendet werden können. 
+  Knoten für ein **Datenvorbereitungsrezept** werden für Aufträge ab AWS Glue-Version 4.0 unterstützt. Diese Version wird automatisch ausgewählt, nachdem dem Auftrag ein Knoten für ein **Datenvorbereitungsrezept** hinzugefügt wurde. 
+  Knoten für ein **Datenvorbereitungsrezept** benötigen Python. Dies wird automatisch festgelegt, wenn der Knoten für ein **Datenvorbereitungsrezept** zum Auftrag hinzugefügt wird. 
+  Wenn Sie dem visuellen Diagramm einen neuen Knoten für ein **Datenvorbereitungsrezept** hinzufügen, wird Ihre Datenvorschau-Sitzung automatisch mit den richtigen Bibliotheken neu gestartet, um den Knoten für ein **Datenvorbereitungsrezept** zu verwenden. 
+  Die folgenden Transformationen werden für den Import oder die Bearbeitung in einem Knoten für ein **Datenvorbereitungsrezept** nicht unterstützt: `GROUP_BY`, `PIVOT`, `UNPIVOT` und `TRANSPOSE`. 

## Weitere Features
<a name="glue-studio-data-preparation-recipe-transform-features"></a>

 Wenn Sie die Transformation **Datenvorbereitungsrezept** ausgewählt haben, können Sie nach der Auswahl von **Rezept verfassen** weitere Aktionen ausführen. 
+  Schritt hinzufügen: Sie können einem Rezept nach Bedarf weitere Schritte hinzufügen, indem Sie auf das Symbol „Schritt hinzufügen“ klicken oder die Symbolleiste im Vorschaufenster verwenden, indem Sie eine Aktion auswählen.   
![\[Der Screenshot zeigt das Symbol „Rezept hinzufügen“.\]](http://docs.aws.amazon.com/de_de/glue/latest/dg/images/add-recipe-icon.png)  
![\[Der Screenshot zeigt das Symbol „Rezept hinzufügen“.\]](http://docs.aws.amazon.com/de_de/glue/latest/dg/images/author-recipe-toolbar.png)
+  Rezept importieren: Wählen Sie **Mehr** und dann **Rezept importieren**, um es in Ihrem AWS Glue Studio -Auftrag zu verwenden.   
![\[Der Screenshot zeigt das Symbol „Mehr“.\]](http://docs.aws.amazon.com/de_de/glue/latest/dg/images/data-preparation-recipe-node-more-icon.png)  
![\[Der Screenshot zeigt das Symbol „Mehr“.\]](http://docs.aws.amazon.com/de_de/glue/latest/dg/images/data-preparation-recipe-node-more-features.png)
+  Als YAML herunterladen — Wählen Sie **Mehr** und dann **Als YAML herunterladen**, um Ihr Rezept herunterzuladen und außerhalb von zu speichern. AWS Glue Studio
+  Als JSON herunterladen — wähle **Mehr** und dann **Als JSON herunterladen**, um dein Rezept herunterzuladen und außerhalb von zu speichern. AWS Glue Studio
+  Rezeptschritte rückgängig machen und wiederholen: Sie können Rezeptschritte im Vorschaufenster rückgängig machen und wiederholen, wenn Sie mit Daten im Raster arbeiten.   
![\[Der Screenshot zeigt das Symbol „Mehr“.\]](http://docs.aws.amazon.com/de_de/glue/latest/dg/images/author-recipe-toolbar-undo-redo.png)

# Erstellen und Ausführen von Rezepten für die Datenvorbereitung in einem visuellen AWS Glue ETL-Job
<a name="glue-studio-data-preparation-recipe-transform-tutorial"></a>

 In diesem Szenario können Sie Rezepte für die Datenvorbereitung erstellen, ohne sie zuerst in erstellen zu müssen DataBrew. Bevor Sie mit dem Verfassen von Rezepten beginnen können, muss: 
+  eine aktive Datenvorschau-Sitzung ausgeführt werden. Wenn die Datenvorschau-Sitzung BEREIT ist, wird **Rezept verfassen** aktiv, und Sie können mit dem Verfassen oder Bearbeiten Ihres Rezepts beginnen.   
![\[Der Screenshot zeigt, dass die Datenvorschau-Sitzung abgeschlossen ist.\]](http://docs.aws.amazon.com/de_de/glue/latest/dg/images/data-preparation-recipe-data-preview-complete.png)
+  Vergewissern Sie sich, dass der Schalter für **Glue-Bibliotheken automatisch importieren** aktiviert ist.   
![\[Der Screenshot zeigt, dass die Option „Glue-Bibliotheken automatisch importieren“ aktiviert ist.\]](http://docs.aws.amazon.com/de_de/glue/latest/dg/images/data-preparation-recipe-automatically-import-glue-libraries.png)

   Sie können dies tun, indem Sie im Datenvorschau-Bereich auf das Zahnradsymbol klicken.   
![\[Der Screenshot zeigt, dass die Option „Glue-Bibliotheken automatisch importieren“ aktiviert ist.\]](http://docs.aws.amazon.com/de_de/glue/latest/dg/images/data-preview-preferences.png)

**So verfassen Sie ein Datenvorbereitungsrezept in AWS Glue Studio:**

1.  Fügen Sie die Transformation **Datenvorbereitungsrezept** Ihrem Auftrags-Canvas hinzu. Ihre Transformation sollte mit einem übergeordneten Datenquellenknoten verbunden sein. Wenn Sie den Knoten **Datenvorbereitungsrezept** hinzufügen, wird der Knoten mit den richtigen Bibliotheken neu gestartet, und Sie werden sehen, dass der Datenrahmen vorbereitet wird.   
![\[Der Screenshot zeigt das Laden des Datenrahmens nach dem Hinzufügen des Datenvorbereitungsrezepts.\]](http://docs.aws.amazon.com/de_de/glue/latest/dg/images/data-preparation-preparing-dataframe.png)

1.  Sobald die Datenvorschausitzung fertig ist, werden die Daten mit allen zuvor angewendeten Schritten am unteren Bildschirmrand angezeigt. 

1.  Wählen Sie **Rezept verfassen** aus. Auf diese Weise können Sie ein neues Rezept in starten AWS Glue Studio.   
![\[Der Screenshot zeigt das Bedienfeld „Transformieren“ mit den Feldern für Name und für übergeordnete Knoten sowie mit der Option „Rezept verfassen“.\]](http://docs.aws.amazon.com/de_de/glue/latest/dg/images/data-preparation-recipe-transform-tab-new.png)

1.  Geben Sie im Bedienfeld **Transformieren** rechts neben dem Auftrags-Canvas einen Namen für Ihr Datenvorbereitungsrezept ein. 

1.  Auf der linken Seite wird der Canvas durch eine Rasteransicht Ihrer Daten ersetzt. Auf der rechten Seite ändert sich das Bedienfeld **Transformieren** und zeigt Ihnen die Rezeptschritte an. Wählen Sie **Schritt hinzufügen** aus, um Ihrem Rezept den ersten Schritt hinzuzufügen.   
![\[Der Screenshot zeigt das Bedienfeld „Transformieren“ nach der Auswahl von „Schritt hinzufügen“. Wenn Sie eine Spalte auswählen, ändern sich die Optionen dynamisch. Sie können wählen, ob Sie die Spalte sortieren, eine Aktion für die Spalte ausführen oder Werte filtern möchten.\]](http://docs.aws.amazon.com/de_de/glue/latest/dg/images/author-recipe-preview-data-transform-panel.png)

1.  Wählen Sie im Bedienfeld **Transformieren** aus, ob Sie die Spalte sortieren, eine Aktion für die Spalte ausführen oder Werte filtern möchten. Wählen Sie beispielsweise **Spalte umbenennen** aus.   
![\[Der Screenshot zeigt das Bedienfeld „Transformieren“ nach der Auswahl von „Schritt hinzufügen“. Wenn Sie eine Spalte auswählen, ändern sich die Optionen dynamisch. Sie können wählen, ob Sie die Spalte sortieren, eine Aktion für die Spalte ausführen oder Werte filtern möchten.\]](http://docs.aws.amazon.com/de_de/glue/latest/dg/images/author-recipe-add-step.png)

1.  Im Bedienfeld „Transformieren“ auf der rechten Seite können Sie mit den Optionen zum Umbenennen einer Spalte die Quellspalte auswählen, die Sie umbenennen möchten, und den neuen Spaltennamen eingeben. Sobald Sie dies getan haben, wählen Sie **Anwenden** aus. 

    Sie können für jeden Schritt eine Vorschau anzeigen, einen Schritt rückgängig machen, die Schritte neu anordnen und eines der Aktionssymbole wie Filtern, Sortieren, Teilen, Zusammenführen und so weiter verwenden. Wenn Sie Aktionen im Datenraster ausführen, werden die Schritte dem Rezept im Bedienfeld „Transformieren“ hinzugefügt.   
![\[Der Screenshot zeigt das Vorschau-Datenraster mit hervorgehobener Symbolleiste. Sie können eine Aktion mit einem der Symbole anwenden. Sie wird dann dem Rezept im Bedienfeld „Transformieren“ auf der rechten Seite hinzugefügt.\]](http://docs.aws.amazon.com/de_de/glue/latest/dg/images/author-recipe-preview-data-grid.png)

    Wenn Sie eine Änderung vornehmen müssen, können Sie dies im Vorschaufenster machen, indem Sie eine Vorschau des Ergebnisses jedes Schritts anzeigen, einen Schritt rückgängig machen und die Schritte neu anordnen. Beispiel: 
   +  Undo/redo Schritt — machen Sie einen Schritt rückgängig, indem Sie das **Rückgängig-Symbol** wählen. Sie können einen Schritt wiederholen, indem Sie auf das Symbol **Wiederholen** klicken.   
![\[Der Screenshot zeigt das Symbol „Mehr“.\]](http://docs.aws.amazon.com/de_de/glue/latest/dg/images/author-recipe-toolbar-undo-redo.png)
   +  Schritt neu anordnen — Wenn Sie einen Schritt neu anordnen, AWS Glue Studio wird jeder Schritt validiert und Sie werden darüber informiert, ob der Schritt ungültig ist. 

1.  Sobald Sie einen Schritt angewendet haben, sehen Sie im Bedienfeld „Transformieren“ alle Schritte in Ihrem Rezept. Sie können alle Schritte löschen, um von vorne zu beginnen, weitere Schritte hinzufügen, indem Sie auf das Symbol „Hinzufügen“ klicken oder **Verfassen von Rezept abgeschlossen** auswählen.   
![\[Der Screenshot zeigt das Bedienfeld „Transformieren“ mit Schritten, die Ihrem Rezept hinzugefügt wurden. Wenn Sie fertig sind, wählen Sie Verfassen von Rezept abgeschlossen aus oder klicken Sie auf das Symbol „Hinzufügen“, um dem Rezept weitere Schritte hinzuzufügen.\]](http://docs.aws.amazon.com/de_de/glue/latest/dg/images/author-recipe-done-authoring-recipe.png)

1.  Wählen Sie oben rechts auf dem Bildschirm **Speichern** aus. Ihre Rezeptschritte werden erst gespeichert, nachdem Sie Ihren Auftrag gespeichert haben. 

# Importiere ein AWS Glue DataBrew Rezept in AWS Glue Studio
<a name="glue-studio-data-preparation-import-recipe"></a>

 In AWS Glue DataBrew besteht ein Rezept aus einer Reihe von Schritten zur Datentransformation. AWS Glue DataBrew Rezepte schreiben vor, wie Daten transformiert werden, die bereits gelesen wurden, und beschreibt nicht, wo und wie Daten gelesen werden sollen und wie und wo Daten geschrieben werden. Dies ist in den Quell- und Zielknoten in AWS Glue Studio konfiguriert. Weitere Informationen zu Rezepten finden Sie unter Rezepte [erstellen und verwenden AWS Glue DataBrew](https://docs.aws.amazon.com/databrew/latest/dg/recipes.html). 

 Um AWS Glue DataBrew Rezepte in zu verwendenAWS Glue Studio, beginnen Sie mit dem Erstellen von Rezepten in AWS Glue DataBrew. Wenn Sie Rezepte haben, die Sie verwenden möchten, können Sie diesen Schritt überspringen. 

## IAM-Berechtigungen für AWS Glue DataBrew
<a name="glue-studio-databrew-permissions"></a>

 Dieses Thema enthält Informationen zum besseren Verständnis der Aktionen und Ressourcen, die Sie als IAM-Administrator in einer AWS Identity and Access Management (IAM-) Richtlinie für die Transformation von Data Preparation Recipe verwenden können. 

 Weitere Informationen zur Sicherheit in finden Sie AWS Glue unter [Access](https://docs.aws.amazon.com/glue/latest/dg/security.html) Management. 

**Anmerkung**  
 In der folgenden Tabelle sind die Berechtigungen aufgeführt, die ein Benutzer zum Importieren eines vorhandenen AWS Glue DataBrew -Rezepts benötigt. 


**Transformationsaktionen für Datenvorbereitungsrezepte**  

| Action | Description | 
| --- | --- | 
| databrew:ListRecipes | Erteilt die Berechtigung zum Abrufen von AWS Glue DataBrew Rezepten. | 
| databrew:ListRecipeVersions | Erteilt die Erlaubnis zum Abrufen von AWS Glue DataBrew Rezeptversionen. | 
| databrew:DescribeRecipe | Erteilt die Berechtigung zum Abrufen der AWS Glue DataBrew Rezeptbeschreibung. | 



 Die Rolle, die Sie für den Zugriff auf diese Funktion verwenden, sollte über eine Richtlinie verfügen, die mehrere AWS Glue DataBrew -Aktionen zulässt. Sie erreichen dies entweder durch Verwendung der `AWSGlueConsoleFullAccess`-Richtlinie, die die erforderlichen Maßnahmen enthält, oder indem Sie die folgende Inline-Richtlinie zu Ihrer Rolle hinzufügen: 

------
#### [ JSON ]

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "databrew:ListRecipes",
        "databrew:ListRecipeVersions",
        "databrew:DescribeRecipe"
      ],
      "Resource": [
        "*"
      ]
    }
  ]
}
```

------



 Um die Datenvorbereitungsrezept-Transformation zu verwenden, müssen Sie die `IAM:PassRole`-Aktion zur Berechtigungsrichtlinie hinzufügen. 


**Zusätzliche erforderliche Berechtigungen**  

| Action | Description | 
| --- | --- | 
| iam:PassRole | Gewährt IAM die Berechtigung, dem Benutzer die Übergabe der genehmigten Rollen zu ermöglichen. | 

Ohne diese Berechtigungen tritt der folgende Fehler auf:

```
"errorCode": "AccessDenied"
"errorMessage": "User: arn:aws:sts::account_id:assumed-role/AWSGlueServiceRole is not 
authorized to perform: iam:PassRole on resource: arn:aws:iam::account_id:role/service-role/AWSGlueServiceRole 
because no identity-based policy allows the iam:PassRole action"
```



## Ein AWS Glue DataBrew Rezept wird importiert
<a name="glue-studio-databrew-import-steps"></a>

**So importieren Sie ein AWS Glue DataBrew Rezept und verwenden es inAWS Glue Studio:**

 Wenn Sie bereits über einen **Datenvorbereitungs-Rezeptknoten** verfügen und die Rezeptschritte direkt darin bearbeiten möchten AWS Glue Studio, müssen Sie die Rezeptschritte in Ihren AWS Glue Studio Job importieren. 

1.  Starten Sie einen AWS Glue-Auftrag in AWS Glue Studio mit einer Datenquelle. 

1.  Fügen Sie den Knoten für das **Datenvorbereitungsrezept** zum Zeichenbereich für Aufträge hinzu.   
![\[Der Screenshot zeigt das Dialogfeld „Knoten hinzufügen“ mit einem Datenvorbereitungsrezept, das zur Auswahl steht.\]](http://docs.aws.amazon.com/de_de/glue/latest/dg/images/glue-add-node-data-preparation-recipe.png)

1.  Geben Sie im Transformationsbereich einen Namen für das Rezept ein. 

1.  Wählen Sie einen oder mehrere übergeordnete Knoten aus, indem Sie die verfügbaren Knoten im Zeichenbereich aus der Drop-down-Liste auswählen. 

1.  Wählen Sie **Rezept verfassen**. Die Option **Rezept verfassen** ist ausgegraut? Sie ist dann erst verfügbar, wenn die übergeordneten Knoten ausgewählt wurden und eine Datenvorschau-Sitzung abgeschlossen wurde.   
![\[Author Data Preparation Recipe form with name field and node parents selection dropdown.\]](http://docs.aws.amazon.com/de_de/glue/latest/dg/images/glue-author-data-preparation-recipe.png)

1.  Der Datenrahmen wird geladen und zeigt Ihnen detaillierte Informationen zu Ihren Quelldaten an. 

    Klicken Sie auf das Symbol für **Weitere Aktionen** und wählen Sie **Rezept importieren**.   
![\[Data preparation interface showing "Build your Recipe" with an "Add step" button.\]](http://docs.aws.amazon.com/de_de/glue/latest/dg/images/glue-dataframe-import-recipe.png)

1.  Schließen Sie die Schritte mit dem Assistenten zum Importieren von Rezepten ab. Suchen Sie in Schritt 1 nach Ihrem Rezept, wählen Sie es aus und klicken Sie auf **Weiter**.   
![\[Import recipe interface showing two recipes, with one selected for import.\]](http://docs.aws.amazon.com/de_de/glue/latest/dg/images/import-recipe-step-1.png)

1.  Wählen Sie in Schritt 2 Ihre Importoptionen aus. Sie können wählen, ob Sie ein neues Rezept an ein bestehendes Rezept anhängen oder ein bestehendes Rezept überschreiben möchten. Wählen Sie **Weiter** aus.   
![\[Import recipe interface showing selected recipe, version, and two imported steps.\]](http://docs.aws.amazon.com/de_de/glue/latest/dg/images/import-recipe-step-2.png)

1.  Bestätigen Sie in Schritt 3 die Rezeptschritte. Sobald Sie Ihr AWS Glue DataBrew Rezept importiert haben, können Sie dieses Rezept direkt in bearbeiten AWS Glue Studio.   
![\[Recipe import interface showing two steps and a validation progress indicator.\]](http://docs.aws.amazon.com/de_de/glue/latest/dg/images/import-recipe-step-3.png)  
![\[Import recipe interface showing validated steps for sorting and formatting data.\]](http://docs.aws.amazon.com/de_de/glue/latest/dg/images/import-recipe-step-3-validated-2.png)

1.  Danach werden die Schritte als Teil Ihres AWS Glue Jobs importiert. Nehmen Sie die erforderlichen Konfigurationsänderungen auf der Registerkarte **Auftragsdetails** vor, wie z. B. die Benennung Ihres Auftrags und die Anpassung der zugewiesenen Kapazität nach Bedarf. Wählen Sie **Speichern**, um Ihren Auftrag und Ihr Rezept zu speichern. 
**Anmerkung**  
 JOIN, UNION, GROUP\$1BY, PIVOT, UNPIVOT, TRANSPOSE werden für den Rezeptimport nicht unterstützt und sind auch nicht im Rezepterstellungsmodus verfügbar. 

1.  Optional können Sie die Erstellung des Auftrags abschließen, indem Sie nach Bedarf weitere Transformationsknoten und Datenzielknoten hinzufügen. 

    Wenn Sie die Reihenfolge der Schritte nach dem Import eines Rezepts ändern AWS Glue , werden diese Schritte überprüft. Wenn Sie beispielsweise eine Spalte umbenannt und anschließend gelöscht haben und den Löschschritt nach oben verschoben haben, wäre der Umbenennungsschritt ungültig. Anschließend können Sie die Schritte bearbeiten, um den Validierungsfehler zu beheben. 

# Migration von AWS Glue DataBrew zu AWS Glue Studio
<a name="databrew-migration-to-glue-studio"></a>

 Wenn Sie Rezepte gespeichert haben AWS Glue DataBrew, verwenden Sie die folgende Checkliste, um Ihre Rezepte nach AWS Glue Studio zu migrieren. 


| Vorhaben | Aktion | 
| --- | --- | 
|  Erlauben Sie Benutzern, AWS Glue DataBrew Rezepte, Rezeptversionen und Rezeptbeschreibungen abzurufen.  |  Fügen Sie einer Richtlinie IAM-Berechtigungen hinzu, die Ihrer Rolle den Zugriff auf die erforderlichen Aktionen ermöglichen. Siehe [IAM-Berechtigungen für AWS Glue DataBrew](glue-studio-data-preparation-import-recipe.md#glue-studio-databrew-permissions).  | 
|  Importiert ein vorhandenes AWS Glue DataBrew Rezept in AWS Glue Studio.  |  Führen Sie die Schritte unter [Ein AWS Glue DataBrew Rezept wird importiert](glue-studio-data-preparation-import-recipe.md#glue-studio-databrew-import-steps) aus.  | 
|  Ein Rezept mit JOIN und UNION importieren  |  Rezepte mit UNION- und JOIN-Transformationen werden nicht unterstützt. Verwenden Sie die Transformationen Join and Union in AWS Glue Studio vor oder nach einem Data Preparation Recipe Node.  | 

# Verwenden von Schema ändern zum Neuzuordnen von Dateneigenschaftsschlüsseln
<a name="transforms-configure-applymapping"></a>

Eine Transformation für *Schema ändern* ordnet die Eigenschaftsschlüssel der Quelldaten den gewünschten Konfigurationen für die Zieldaten zu. In einem Transformationsknoten für Schema ändern können Sie:
+ den Namen mehrerer Dateneigenschaftsschlüssel ändern;
+ den Datentyp der Dateneigenschaftsschlüssel ändern, wenn der neue Datentyp unterstützt wird und zwischen den beiden Datentypen ein Transformationspfad vorhanden ist;
+ eine Teilmenge von Dateneigenschaftsschlüsseln auswählen, indem Sie angeben, welche Dateneigenschaftsschlüssel gelöscht werden sollen.

Sie können dem Auftragsdiagramm bei Bedarf auch zusätzliche Knoten für *Schema ändern* hinzufügen – zum Beispiel, um zusätzliche Datenquellen zu ändern oder nach einer Transformation für *Zusammenführung*. 

## Verwenden von „Schema ändern“ mit Dezimal-Datentyp
<a name="transforms-configure-applymapping-decimal-datatype"></a>

 Wenn Sie die Transformation für **Schema ändern** mit dem Dezimal-Datentyp verwenden, ändert die Transformation für **Schema ändern** die Genauigkeit in den Standardwert (10,2). Um dies zu ändern und die Genauigkeit für Ihren Anwendungsfall festzulegen, können Sie die Transformation für **SQL-Abfrage** verwenden und die Spalten mit einer bestimmten Genauigkeit umwandeln. 

 Wenn Sie beispielsweise eine Eingabespalte mit dem Namen "DecimalCol" vom Typ Dezimal haben und sie einer Ausgabespalte mit dem Namen "OutputDecimalCol" mit einer bestimmten Genauigkeit von (18,6) neu zuordnen möchten, gehen Sie wie folgt vor: 

1.  Fügen Sie nach der Transformation für **Schema ändern** die Transformation für **SQL-Abfrage** hinzu. 

1.  Verwenden Sie in der Transformation für **SQL-Abfrage** eine SQL-Abfrage, um die neu zugeordnete Spalte mit der gewünschten Genauigkeit umzuwandeln. Die SQL-Abfrage würde so aussehen: 

   ```
   SELECT col1, col2, CAST(DecimalCol AS DECIMAL(18,6)) AS OutputDecimalCol
   FROM __THIS__
   ```

    In der obigen SQL-Abfrage: 
   +  „col1“ und „col2“ sind andere Spalten in Ihren Daten, die Sie unverändert durchgehen möchten. 
   +  `DecimalCol` ist der ursprüngliche Spaltenname aus den Eingabedaten. 
   +  `CAST (DecimalCol AS DECIMAL (18,6)) `wandelt den Wert` DecimalCol `in einen Dezimaltyp mit einer Genauigkeit von 18 Ziffern und 6 Dezimalstellen um. 
   +  `AS OutputDecimalCol `benennt die gecastete Spalte in` `um. OutputDecimalCol 

 Mithilfe der Transformation für **SQL-Abfrage** können Sie die von der Transformation für **Schema ändern** Standardgenauigkeit überschreiben und die Dezimalspalten explizit auf die gewünschte Genauigkeit umwandeln. Dieser Ansatz ermöglicht es Ihnen, die Transformation **Schema ändern** für das Umbenennen und Restrukturieren Ihrer Daten zu nutzen und gleichzeitig die Genauigkeitsanforderungen für Dezimalspalten bei der nachfolgenden Transformation **SQL-Abfrage** zu erfüllen. 

## Hinzufügen einer Transfomation „Schema ändern“ zu Ihrem Auftrag
<a name="transforms-configure-applymapping-add-to-job"></a>

**Anmerkung**  
Bei der Transformation für **Schema ändern** wird nicht zwischen Groß- und Kleinschreibung unterschieden.

**So fügen Sie Ihrem Auftragsdiagramm einen Knoten für Schema ändern hinzu**

1. (Optional) Öffnen Sie das Ressourcen-Bedienfeld und wählen Sie **Schema ändern** aus, um Ihrem Auftragsdiagramm bei Bedarf eine neue Transformation hinzuzufügen. 

1. Geben Sie im Bereich Knoteneigenschaften einen Namen für den Knoten im Auftragsdiagramm ein. Falls noch kein übergeordneter Knoten ausgewählt ist, wählen Sie in der Liste **Node parents (Übergeordnete Knoten)** einen Knoten aus, der als Eingabequelle für die Transformation verwendet werden soll.

1. Wählen Sie die Registerkarte **Transformation** im Bedienfeld Knoteneigenschaften.

1. Ändern Sie das Eingabeschema:
   + Um einen Dateneigenschaftsschlüssel umzubenennen, geben Sie den neuen Namen in das Feld **Target key (Zielschlüssel)** ein.
   + Um den Datentyp eines Dateneigenschaftsschlüssels zu ändern, wählen Sie den neuen Datentyp für den Schlüssel aus der Liste **Data type (Datentyp)** aus.
   + Um einen Dateneigenschaftsschlüssel aus dem Zielschema zu entfernen, aktivieren Sie das Kästchen **Drop (Auslassen)** beim jeweiligen Schlüssel.

1. (Optional) Nachdem Sie die Eigenschaften des Transformationsknotens angepasst haben, können Sie mit der Registerkarte **Output schema (Ausgabeschema)** im Bereich mit den Knotendetails das geänderte Schema für die Daten sehen. Wenn Sie diese Registerkarte zum ersten Mal für einen Knoten in Ihrem Auftrag auswählen, werden Sie aufgefordert, eine IAM-Rolle für den Zugriff auf die Daten anzugeben. Wenn Sie keine IAM-Rolle auf der Registerkarte **Job details (Auftragsdetails)** angegeben haben, werden Sie aufgefordert, hier eine IAM-Rolle einzugeben.

1. (Optional) Nachdem Sie die Knoteneigenschaften und Transformationseigenschaften konfiguriert haben, sehen Sie auf der Registerkarte **Data preview (Datenvorschau)** im Bereich mit den Knotendetails eine Vorschau des geänderten Datensatzes. Wenn Sie diese Registerkarte zum ersten Mal für einen Knoten in Ihrem Auftrag auswählen, werden Sie aufgefordert, eine IAM-Rolle für den Zugriff auf die Daten anzugeben. Wenn Sie dieses Feature verwenden, fallen Kosten an. Sobald Sie eine IAM-Rolle bereitstellen, wird dies berechnet.

# Nutzung von Duplikate verwerfen
<a name="transforms-drop-duplicates"></a>

 Die Transformation Duplikate verwerfen entfernt Zeilen aus Ihrer Datenquelle und bietet Ihnen zwei Optionen. Sie können die doppelten Zeilen entfernen, die völlig identisch sind, oder Sie können die Felder auswählen, die übereinstimmen sollen, und nur die Zeilen entfernen, die auf den von Ihnen ausgewählten Feldern basieren. 

 In diesem Datensatz haben Sie zum Beispiel doppelte Zeilen, bei denen alle Werte in einigen Zeilen genau gleich sind wie in einer anderen Zeile, und einige der Werte in den Zeilen sind gleich oder unterschiedlich. 


| Zeile | Name | Email | Age | Status | Hinweis | 
| --- | --- | --- | --- | --- | --- | 
| 1 | Joy | joy@gmail | 33 | NY |  | 
| 2 | Tim | tim@gmail | 45 | OH |  | 
| 3 | Rose | rose@gmail | 23 | NJ |  | 
| 4 | Tim | tim@gmail | 42 | OH |  | 
| 5 | Rose | rose@gmail | 23 | NJ |  | 
| 6 | Tim | tim@gmail | 42 | OH | dies ist eine doppelte Zeile und entspricht in allen Werten vollständig der Zeile Nr. 4 | 
| 7 | Rose | rose@gmail | 23 | NJ | Dies ist eine doppelte Zeile und entspricht in allen Werten vollständig der Zeile Nr. 5 | 

 Wenn Sie sich dafür entscheiden, ganze Zeilen abzugleichen, werden die Zeilen 6 und 7 aus dem Datensatz entfernt. Der Datensatz lautet nun: 


| Zeile | Name | Email | Age | Status | 
| --- | --- | --- | --- | --- | 
| 1 | Joy | joy@gmail | 33 | NY | 
| 2 | Tim | tim@gmail | 45 | OH | 
| 3 | Rose | rose@gmail | 23 | NJ | 
| 4 | Tim | tim@gmail | 42 | OH | 
| 5 | Rose | rose@gmail | 23 | NJ | 

 Wenn Sie Schlüssel angeben möchten, können Sie Zeilen entfernen, die mit „Name“ und „E-Mail“ übereinstimmen. Auf diese Weise können Sie genauer festlegen, was eine „doppelte Zeile“ für Ihren Datensatz ist. Durch Angabe von „Name“ und „E-Mail“ lautet der Datensatz nun: 


| Zeile | Name | Email | Age | Status | 
| --- | --- | --- | --- | --- | 
| 1 | Joy | joy@gmail | 33 | NY | 
| 2 | Tim | tim@gmail | 45 | OH | 
| 3 | Rose | rose@gmail | 23 | NJ | 



 Einige Dinge, die Sie berücksichtigen sollten: 
+  Damit Zeilen als Duplikat erkannt werden, muss bei Werten die Groß- und Kleinschreibung beachtet werden. Alle Werte in Zeilen müssen die gleiche Groß- und Kleinschreibung haben – dies gilt für beide von Ihnen gewählten Optionen („Ganze Zeilen abgleichen“ oder „Schlüssel angeben“). 
+  Alle Werte werden als Zeichenfolgen eingelesen. 
+  Die Transformation **Duplikate verwerfen** verwendet den Spark-Befehl dropDuplicates. 
+  Wenn Sie die Transformation **Duplikate verwerfen** verwenden, wird die erste Zeile beibehalten und die anderen Zeilen werden gelöscht. 
+  Die Transformation **Duplikate verwerfen** ändert das Schema des Datenrahmens nicht. Wenn Sie die Angabe von Schlüsseln auswählen, werden alle Felder in dem resultierenden Datenrahmen beibehalten. 

# Wird verwendet SelectFields , um die meisten Dateneigenschaftsschlüssel zu entfernen
<a name="transforms-configure-select-fields"></a>

Mithilfe der *SelectFields*Transformation können Sie eine Teilmenge von Dateneigenschaftsschlüsseln aus der Datenmenge erstellen. Dabei geben Sie an, welche Dateneigenschaftsschlüssel beibehalten werden sollen. Der Rest wird dann aus dem Datensatz entfernt.

**Anmerkung**  
Bei der *SelectFields*Transformation wird zwischen Groß- und Kleinschreibung unterschieden. Verwenden Sie diese Option, *ApplyMapping*wenn Sie Felder ohne Berücksichtigung der Groß- und Kleinschreibung auswählen möchten.

**Um Ihrem Jobdiagramm einen SelectFields Transformationsknoten hinzuzufügen**

1. (Optional) Öffnen Sie das Bedienfeld „Ressourcen“ und wählen Sie dann aus **SelectFields**, ob Sie Ihrem Auftragsdiagramm bei Bedarf eine neue Transformation hinzufügen möchten. 

1. Geben Sie auf der Registerkarte **Node properties (Knoteneigenschaften)** einen Namen für den Knoten im Auftragsdiagramm ein. Falls noch kein übergeordneter Knoten ausgewählt ist, wählen Sie in der Liste **Node parents (Übergeordnete Knoten)** einen Knoten aus, der als Eingabequelle für die Transformation verwendet werden soll.

1. Wählen Sie die Registerkarte **Transform (Transformation)** im Bereich mit den Knotendetails aus.

1. Wählen Sie unter der Überschrift **SelectFields**die Dateneigenschaftsschlüssel im Datensatz aus, die Sie behalten möchten. Alle nicht ausgewählten Dateneigenschaftsschlüssel werden aus dem Datensatz gelöscht.

   Sie können auch das Kontrollkästchen neben der Spaltenüberschrift **Field (Feld)** aktivieren, um automatisch alle Dateneigenschaftsschlüssel im Datensatz auszuwählen. Anschließend können Sie die Auswahl einzelner Dateneigenschaftsschlüssel aufheben, damit sie aus dem Datensatz entfernt werden.

1. (Optional) Nachdem Sie die Eigenschaften des Transformationsknotens angepasst haben, können Sie mit der Registerkarte **Output schema (Ausgabeschema)** im Bereich mit den Knotendetails das geänderte Schema für die Daten sehen. Wenn Sie diese Registerkarte zum ersten Mal für einen Knoten in Ihrem Auftrag auswählen, werden Sie aufgefordert, eine IAM-Rolle für den Zugriff auf die Daten anzugeben. Wenn Sie keine IAM-Rolle auf der Registerkarte **Job details (Auftragsdetails)** angegeben haben, werden Sie aufgefordert, hier eine IAM-Rolle einzugeben.

1. (Optional) Nachdem Sie die Knoteneigenschaften und Transformationseigenschaften konfiguriert haben, sehen Sie auf der Registerkarte **Data preview (Datenvorschau)** im Bereich mit den Knotendetails eine Vorschau des geänderten Datensatzes. Wenn Sie diese Registerkarte zum ersten Mal für einen Knoten in Ihrem Auftrag auswählen, werden Sie aufgefordert, eine IAM-Rolle für den Zugriff auf die Daten anzugeben. Wenn Sie dieses Feature verwenden, fallen Kosten an. Sobald Sie eine IAM-Rolle bereitstellen, wird dies berechnet.

# Wird verwendet DropFields , um die meisten Dateneigenschaftsschlüssel zu behalten
<a name="transforms-configure-drop-fields"></a>

Mithilfe der *DropFields*Transformation können Sie aus dem Datensatz eine Teilmenge von Dateneigenschaftsschlüsseln erstellen. Dabei geben Sie an, welche Dateneigenschaftsschlüssel aus dem Datensatz gelöscht werden sollen. Die restlichen Schlüssel werden dann beibehalten.

**Anmerkung**  
Bei der *DropFields*Transformation wird zwischen Groß- und Kleinschreibung unterschieden. Verwenden Sie *Schema ändern*, wenn bei der Auswahl von Feldern die Groß- und Kleinschreibung nicht berücksichtigt werden soll.

**Um Ihrem Jobdiagramm einen DropFields Transformationsknoten hinzuzufügen**

1. (Optional) Öffnen Sie das Bedienfeld „Ressourcen“ und wählen **DropFields**Sie dann aus, ob Sie Ihrem Auftragsdiagramm bei Bedarf eine neue Transformation hinzufügen möchten. 

1. Geben Sie auf der Registerkarte **Node properties (Knoteneigenschaften)** einen Namen für den Knoten im Auftragsdiagramm ein. Falls noch kein übergeordneter Knoten ausgewählt ist, wählen Sie in der Liste **Node parents (Übergeordnete Knoten)** einen Knoten aus, der als Eingabequelle für die Transformation verwendet werden soll.

1. Wählen Sie die Registerkarte **Transform (Transformation)** im Bereich mit den Knotendetails aus.

1. Wählen Sie unter der Überschrift **DropFields**die Dateneigenschaftsschlüssel aus, die Sie aus der Datenquelle löschen möchten.

   Sie können auch das Kontrollkästchen neben der Spaltenüberschrift **Field (Feld)** aktivieren, um automatisch alle Dateneigenschaftsschlüssel im Datensatz auszuwählen. Anschließend können Sie die Auswahl einzelner Dateneigenschaftsschlüssel aufheben, damit sie im Datensatz beibehalten werden.

1. (Optional) Nachdem Sie die Eigenschaften des Transformationsknotens angepasst haben, können Sie mit der Registerkarte **Output schema (Ausgabeschema)** im Bereich mit den Knotendetails das geänderte Schema für die Daten sehen. Wenn Sie diese Registerkarte zum ersten Mal für einen Knoten in Ihrem Auftrag auswählen, werden Sie aufgefordert, eine IAM-Rolle für den Zugriff auf die Daten anzugeben. Wenn Sie keine IAM-Rolle auf der Registerkarte **Job details (Auftragsdetails)** angegeben haben, werden Sie aufgefordert, hier eine IAM-Rolle einzugeben.

1. (Optional) Nachdem Sie die Knoteneigenschaften und Transformationseigenschaften konfiguriert haben, sehen Sie auf der Registerkarte **Data preview (Datenvorschau)** im Bereich mit den Knotendetails eine Vorschau des geänderten Datensatzes. Wenn Sie diese Registerkarte zum ersten Mal für einen Knoten in Ihrem Auftrag auswählen, werden Sie aufgefordert, eine IAM-Rolle für den Zugriff auf die Daten anzugeben. Wenn Sie dieses Feature verwenden, fallen Kosten an. Sobald Sie eine IAM-Rolle bereitstellen, wird dies berechnet.

# Umbenennen eines Felds im Datensatz
<a name="transforms-configure-rename-field"></a>

Sie können die *RenameField*Transformation verwenden, um den Namen für einen einzelnen Eigenschaftsschlüssel im Datensatz zu ändern. 

**Anmerkung**  
Bei der *RenameField*Transformation wird zwischen Groß- und Kleinschreibung unterschieden. Verwenden Sie diese *ApplyMapping*Option, wenn Sie eine Transformation benötigen, bei der Groß-/Kleinschreibung nicht berücksichtigt wird.

**Tipp**  
Mit der Transformation für *Schema ändern* können Sie mehrere Dateneigenschaftsschlüssel im Datensatz mit einer einzigen Transformation umbenennen.

**Um Ihrem Jobdiagramm einen RenameField Transformationsknoten hinzuzufügen**

1. (Optional) Öffnen Sie das Bedienfeld „Ressourcen“ und wählen **RenameField**Sie dann aus, ob Sie Ihrem Auftragsdiagramm bei Bedarf eine neue Transformation hinzufügen möchten. 

1. Geben Sie auf der Registerkarte **Node properties (Knoteneigenschaften)** einen Namen für den Knoten im Auftragsdiagramm ein. Falls noch kein übergeordneter Knoten ausgewählt ist, wählen Sie in der Liste **Node parents (Übergeordnete Knoten)** einen Knoten aus, der als Eingabequelle für die Transformation verwendet werden soll.

1. Wählen Sie die Registerkarte **Transform (Transformation)** aus.

1. Wählen Sie unter der Überschrift **Data field (Datenfeld)** einen Eigenschaftsschlüssel aus den Quelldaten aus und geben Sie dann einen neuen Namen in das Feld **New field name (Neuer Feldname)** ein. 

1. (Optional) Nachdem Sie die Eigenschaften des Transformationsknotens angepasst haben, können Sie mit der Registerkarte **Output schema (Ausgabeschema)** im Bereich mit den Knotendetails das geänderte Schema für die Daten sehen. Wenn Sie diese Registerkarte zum ersten Mal für einen Knoten in Ihrem Auftrag auswählen, werden Sie aufgefordert, eine IAM-Rolle für den Zugriff auf die Daten anzugeben. Wenn Sie keine IAM-Rolle auf der Registerkarte **Job details (Auftragsdetails)** angegeben haben, werden Sie aufgefordert, hier eine IAM-Rolle einzugeben.

1. (Optional) Nachdem Sie die Knoteneigenschaften und Transformationseigenschaften konfiguriert haben, sehen Sie auf der Registerkarte **Data preview (Datenvorschau)** im Bereich mit den Knotendetails eine Vorschau des geänderten Datensatzes. Wenn Sie diese Registerkarte zum ersten Mal für einen Knoten in Ihrem Auftrag auswählen, werden Sie aufgefordert, eine IAM-Rolle für den Zugriff auf die Daten anzugeben. Wenn Sie dieses Feature verwenden, fallen Kosten an. Sobald Sie eine IAM-Rolle bereitstellen, wird dies berechnet.

# Erstellen eines Datensatzbeispiels mit Spigot
<a name="transforms-configure-spigot"></a>

Um zu überprüfen, ob die von Ihrem Auftrag durchgeführten Transformationen wie beabsichtigt funktionieren, könnten Sie ein Beispiel der Daten abrufen. Die *Spigot*-Transformation schreibt eine Teilmenge von Akten aus dem Datensatz in eine JSON-Datei in einem Amazon-S3-Bucket. Die Methode zum Datensampling kann entweder eine bestimmte Anzahl von Akten vom Anfang der Datei oder ein Wahrscheinlichkeitsfaktor sein, mit dem Akten ausgewählt werden.

**Dem Auftragsdiagramm einen Spigot-Transformationsknoten hinzufügen**

1. (Optional) Öffnen Sie das Ressourcen-Bedienfeld und wählen Sie **Spigot** aus, um Ihrem Auftragsdiagramm bei Bedarf eine neue Transformation hinzuzufügen. 

1. Geben Sie auf der Registerkarte **Node properties (Knoteneigenschaften)** einen Namen für den Knoten im Auftragsdiagramm ein. Falls noch kein übergeordneter Knoten ausgewählt ist, wählen Sie in der Liste **Node parents (Übergeordnete Knoten)** einen Knoten aus, der als Eingabequelle für die Transformation verwendet werden soll.

1. Wählen Sie die Registerkarte **Transform (Transformation)** im Bereich mit den Knotendetails aus.

1. Geben Sie einen Amazon-S3-Pfad ein oder wählen Sie **Browse S3 (S3 durchsuchen)** aus, um einen Speicherort in Amazon S3 auszuwählen. Dies ist der Speicherort, an dem der Auftrag die JSON-Datei schreibt, die das Datenbeispiel enthält.

1. Geben Sie die Informationen für die Samplingmethode ein. Sie können einen Wert für **Number of records (Anzahl der Akten)** angeben, um ab dem Anfang des Datensatzes zu schreiben, sowie eine **Probability threshold (Wahrscheinlichkeitsschwelle)** für die Auswahl eines bestimmten Datensatzes (als Dezimalwert mit einem Maximalwert von 1). 

   Um beispielsweise die ersten 50 Akten aus dem Datensatz zu schreiben, legen Sie **Number of records (Anzahl der Datensätze)** auf 50 fest und die **Probability threshold (Wahrscheinlichkeitsschwelle)** auf 1 (100 %).

# Schaffen eines Verbunds von Datensätzen
<a name="transforms-configure-join"></a>

Mit *Join (Verbund)* können Sie zwei Datensätze zu einem kombinieren. Hierbei geben Sie die Schlüsselnamen im Schema der einzelnen zu vergleichenden Datensätze an. Die Ausgabe (`DynamicFrame`) enthält Zeilen, in denen die Schlüssel die Bedingung für den Verbund erfüllen. Die Zeilen in den Datensätzen, die diese Bedingung erfüllen, werden in der Ausgabe (`DynamicFrame`) zu einer einzigen Zeile zusammengefasst. Die Ausgabe enthält sämtliche Spalten, die in den Datensätzen vorkommen.

**Dem Auftragsdiagramm einen Join-Transformationsknoten hinzufügen**

1. Wenn nur eine Datenquelle verfügbar ist, müssen Sie dem Auftragsdiagramm einen neuen Datenquellknoten hinzufügen.

1. Wählen Sie einen der Quellknoten für die Zusammenführung aus. Öffnen Sie das Ressourcen-Bedienfeld und wählen Sie **Zusammenführen** aus, um Ihrem Auftragsdiagramm eine neue Transformation hinzuzufügen.

1. Geben Sie auf der Registerkarte **Node properties (Knoteneigenschaften)** einen Namen für den Knoten im Auftragsdiagramm ein.

1. Fügen Sie auf der Registerkarte **Node properties (Knoteneigenschaften)** unter der Überschrift **Node parents (Übergeordnete Knoten)** einen übergeordneten Knoten hinzu, sodass zwei Datensätze als Eingabe bereitstehen. Der übergeordnete Knoten kann ein Datenquellknoten oder ein Transformierungsknoten sein. 
**Anmerkung**  
Ein Verbund kann nur zwei übergeordnete Knoten haben.

1. Wählen Sie die Registerkarte **Transform (Transformation)** aus.

   Wenn Sie eine Meldung sehen, dass Schlüsselnamen in Konflikt stehen, können Sie Folgendes tun:
   + Wählen Sie **Resolve it**, um Ihrem Jobdiagramm automatisch einen *ApplyMapping*Transformationsknoten hinzuzufügen. Der ApplyMapping Knoten fügt allen Schlüsseln im Datensatz, die denselben Namen wie ein Schlüssel im anderen Datensatz haben, ein Präfix hinzu. Mit dem Standardwert **right** werden zum Beispiel alle Schlüssel im rechten Datensatz, die denselben Namen wie ein Schlüssel im linken Datensatz haben, zu `(right)key name` umbenannt.
   + Fügen Sie zuvor im Auftragsdiagramm einen Transformationsknoten manuell hinzu, um die in Konflikt stehenden Schlüssel zu entfernen oder umzubenennen.

1. Wählen Sie den Join-Typ aus der Liste **Join type (Verbundtyp)** aus. 
   + **Inner join**: Gibt eine Zeile mit Spalten aus beiden Datensätze zurück, für jeden Treffer auf Grundlage der Bedingung für den Join. Zeilen, die die Bedingung nicht erfüllen, werden nicht zurückgegeben.
   + **Left join**: Alle Zeilen aus dem linken Datensatz; die Zeilen aus dem rechten Datensatz nur, wenn sie die Bedingung für den Join erfüllen. 
   + **Right join**: Alle Zeilen aus dem rechten Datensatz; die Zeilen aus dem linken Datensatz nur, wenn sie die Bedingung für den Join erfüllen.
   + **Outer join**: Alle Zeilen aus beiden Datensätzen.
   + **Left semi join**: Alle Zeilen aus dem linken Datensatz, die eine Übereinstimmung im rechten Datensatz basierend auf der Join-Bedingung haben. 
   + **Left anti join**: Alle Zeilen im linken Datensatz, die keine Übereinstimmung im rechten Datensatz basierend auf der Join-Bedingung haben. 

1. Wählen Sie auf der Registerkarte **Transform (Transformation)** unter der Überschrift **Join conditions (Join-Bedingungen)** die Option **Add condition (Bedingung hinzufügen)** aus. Wählen Sie einen Eigenschaftsschlüssel aus jedem zu vergleichenden Datensatz aus. Eigenschaftsschlüssel links vom Vergleichsoperator werden als „linker Datensatz“ bezeichnet, Eigenschaftsschlüssel recht davon als „rechter Datensatz“. 

   Für komplexere Join-Bedingungen können Sie zusätzliche passende Schlüssel hinzufügen, indem Sie **Add condition (Bedingung hinzufügen)** öfter als einmal auswählen. Wenn Sie versehentlich eine Bedingung hinzufügen, können Sie sie mit dem Lösch-Symbol (![\[\]](http://docs.aws.amazon.com/de_de/glue/latest/dg/images/delete-icon-black.png)) wieder entfernen.

1. (Optional) Nachdem Sie die Eigenschaften des Transformationsknotens angepasst haben, können Sie mit der Registerkarte **Output schema (Ausgabeschema)** im Bereich mit den Knotendetails das geänderte Schema für die Daten sehen. Wenn Sie diese Registerkarte zum ersten Mal für einen Knoten in Ihrem Auftrag auswählen, werden Sie aufgefordert, eine IAM-Rolle für den Zugriff auf die Daten anzugeben. Wenn Sie keine IAM-Rolle auf der Registerkarte **Job details (Auftragsdetails)** angegeben haben, werden Sie aufgefordert, hier eine IAM-Rolle einzugeben.

1. (Optional) Nachdem Sie die Knoteneigenschaften und Transformationseigenschaften konfiguriert haben, sehen Sie auf der Registerkarte **Data preview (Datenvorschau)** im Bereich mit den Knotendetails eine Vorschau des geänderten Datensatzes. Wenn Sie diese Registerkarte zum ersten Mal für einen Knoten in Ihrem Auftrag auswählen, werden Sie aufgefordert, eine IAM-Rolle für den Zugriff auf die Daten anzugeben. Wenn Sie dieses Feature verwenden, fallen Kosten an. Sobald Sie eine IAM-Rolle bereitstellen, wird dies berechnet.

Ein Beispiel für das Join-Ausgabeschema wäre eine Verknüpfung zwischen zwei Datensätzen mit den folgenden Eigenschaftenschlüsseln:

```
Left: {id, dept, hire_date, salary, employment_status}
Right: {id, first_name, last_name, hire_date, title}
```

Der Join ist so konfiguriert, dass es bei den Schlüsseln `id` und `hire_date` mit dem Vergleichsoperator `=` zu einem Treffer kommt. 

Da beide Datensätze die Schlüssel `id` und `hire_date` enthalten, haben Sie die Option **Resolve it (Problem lösen)** ausgewählt, um den Schlüsseln im rechten Datensatz automatisch das Präfix **right** anzuhängen. 

Die Schlüssel im Ausgabeschema wären:

```
{id, dept, hire_date, salary, employment_status, 
(right)id, first_name, last_name, (right)hire_date, title}
```

# Verwendung von Union zum Kombinieren von Zeilen
<a name="transforms-configure-union"></a>

 Sie verwenden den Union-Transformationsknoten, wenn Sie Zeilen aus mehr als einer Datenquelle kombinieren möchten, die dasselbe Schema haben. 

 Es gibt zwei Arten von Union-Transformationen: 

1. ALL – Wenn ALL angewendet wird, werden durch die resultierende Vereinigung keine doppelten Zeilen entfernt.

1. DISTINCT – Bei der Anwendung von DISTINCT entfernt die resultierende Vereinigung doppelte Zeilen.

 **Vereinigungen im Vergleich zu Zusammenführungen** 

 Sie verwenden Union, um Zeilen zu kombinieren. Sie verwenden Join, um Spalten zu kombinieren. 

**Verwendung der Union-Transformation im Visual-ETL-Zeichenbereich**

1.  Fügen Sie mehr als eine Datenquelle hinzu, um eine Vereinigungstransformation durchzuführen. Um eine Datenquelle hinzuzufügen, öffnen Sie das Bedienfeld Ressourcen und wählen Sie die Datenquelle auf der Registerkarte Quellen aus. Bevor Sie die Union-Transformation verwenden, müssen Sie sicherstellen, dass alle an der Vereinigung beteiligten Datenquellen dasselbe Schema und dieselbe Struktur haben. 

1.  Wenn Sie über mindestens zwei Datenquellen verfügen, die Sie mithilfe der Union-Transformation kombinieren möchten, erstellen Sie die Union-Transformation, indem Sie sie dem Zeichenbereich hinzufügen. Öffnen Sie im Zeichenbereich das Ressourcenfenster und suchen Sie nach „Union“. Sie können auch die Registerkarte Transformationen im Ressourcenfenster auswählen und nach unten scrollen, bis Sie die Union-Transformation finden, und dann **Union** auswählen. 

1. Wählen Sie den Knoten Union im Zeichenbereich des Auftrags aus. Wählen Sie im Fenster Knoteneigenschaften die übergeordneten Knoten aus, die mit der Union-Transformation verbunden werden sollen.

1. AWS Glue prüft die Kompatibilität, um sicherzustellen, dass die Union-Transformation auf alle Datenquellen angewendet werden kann. Wenn das Schema für die Datenquellen identisch ist, ist der Vorgang zulässig. Wenn die Datenquellen nicht dasselbe Schema haben, wird eine ungültige Fehlermeldung angezeigt: „Die Eingabeschemas dieser Verbindung sind nicht identisch.“ Erwägen Sie ApplyMapping die Verwendung, um die Schemas abzugleichen.“ Um dieses Problem zu beheben, wählen Sie „Verwenden **ApplyMapping**“. 

1. Wählen Sie den Union-Typ.

   1. Alle – Standardmäßig ist der Typ „All Union“ ausgewählt. Dies führt zu doppelten Zeilen, sofern in der Datenkombination solche vorhanden sind.

   1. Eindeutig – Wählen Sie „Eindeutig“, wenn doppelte Zeilen aus der resultierenden Datenkombination entfernt werden sollen.

# Wird verwendet SplitFields , um einen Datensatz in zwei Teile aufzuteilen
<a name="transforms-configure-split-fields"></a>

Die *SplitFields*Transformation ermöglicht es Ihnen, einige der Dateneigenschaftsschlüssel im Eingabe-Dataset auszuwählen und sie in einem Datensatz und die nicht ausgewählten Schlüssel in einem separaten Datensatz zusammenzufassen. Als Ausgabe entstehen bei dieser Transformation eine Reihe von `DynamicFrames`.

**Anmerkung**  
Sie müssen eine *SelectFromCollection*Transformation verwenden, um die Sammlung von `DynamicFrames` in eine einzelne zu konvertieren, `DynamicFrame` bevor Sie die Ausgabe an einen Zielort senden können.

Bei der *SplitFields*Transformation wird zwischen Groß- und Kleinschreibung unterschieden. Fügen Sie eine *ApplyMapping*Transformation als übergeordneten Knoten hinzu, wenn Sie Eigenschaftsschlüsselnamen benötigen, bei denen Groß- und Kleinschreibung nicht beachtet werden muss.

**Um Ihrem Jobdiagramm einen SplitFields Transformationsknoten hinzuzufügen**

1. (Optional) Öffnen Sie das Bedienfeld „Ressourcen“ und wählen **SplitFields**Sie dann aus, ob Sie Ihrem Auftragsdiagramm bei Bedarf eine neue Transformation hinzufügen möchten. 

1. Geben Sie auf der Registerkarte **Node properties (Knoteneigenschaften)** einen Namen für den Knoten im Auftragsdiagramm ein. Falls noch kein übergeordneter Knoten ausgewählt ist, wählen Sie in der Liste **Node parents (Übergeordnete Knoten)** einen Knoten aus, der als Eingabequelle für die Transformation verwendet werden soll.

1. Wählen Sie die Registerkarte **Transform (Transformation)** aus.

1. Wählen Sie aus, welche Eigenschaftsschlüssel Sie in den ersten Datensatz aufnehmen möchten. Die Schlüssel, die Sie nicht auswählen, kommen in den zweiten Datensatz.

1. (Optional) Nachdem Sie die Eigenschaften des Transformationsknotens angepasst haben, können Sie mit der Registerkarte **Output schema (Ausgabeschema)** im Bereich mit den Knotendetails das geänderte Schema für die Daten sehen. Wenn Sie diese Registerkarte zum ersten Mal für einen Knoten in Ihrem Auftrag auswählen, werden Sie aufgefordert, eine IAM-Rolle für den Zugriff auf die Daten anzugeben. Wenn Sie keine IAM-Rolle auf der Registerkarte **Job details (Auftragsdetails)** angegeben haben, werden Sie aufgefordert, hier eine IAM-Rolle einzugeben.

1. (Optional) Nachdem Sie die Knoteneigenschaften und Transformationseigenschaften konfiguriert haben, sehen Sie auf der Registerkarte **Data preview (Datenvorschau)** im Bereich mit den Knotendetails eine Vorschau des geänderten Datensatzes. Wenn Sie diese Registerkarte zum ersten Mal für einen Knoten in Ihrem Auftrag auswählen, werden Sie aufgefordert, eine IAM-Rolle für den Zugriff auf die Daten anzugeben. Wenn Sie dieses Feature verwenden, fallen Kosten an. Sobald Sie eine IAM-Rolle bereitstellen, wird dies berechnet.

1. Konfigurieren Sie einen *SelectFromCollection*Transformationsknoten, um die resultierenden Datensätze zu verarbeiten.

# Übersicht über die *SelectFromCollection*-Transformation
<a name="transforms-selectfromcollection-overview"></a>

Bestimmte Transformationen haben mehrere Datasets als Ausgabe anstelle eines einzelnen Datensatzes, zum Beispiel. *SplitFields* Die *SelectFromCollection*Transformation wählt einen Datensatz (`DynamicFrame`) aus einer Sammlung von Datensätzen (ein Array von) aus. `DynamicFrames` Die Ausgabe für die Transformation ist der ausgewählte `DynamicFrame`. 

Diese Transformation ist gefragt, wenn Sie zuvor eine Transformation verwendet haben, bei der Sammlung von `DynamicFrames` entsteht, zum Beispiel:
+ Transformationen für benutzerdefinierten Code
+ *SplitFields*

Wenn Sie Ihrem Auftragsdiagramm nach einer dieser Transformationen keinen *SelectFromCollection*Transformationsknoten hinzufügen, erhalten Sie eine Fehlermeldung für Ihren Job. 

Der übergeordnete Knoten für diese Transformation muss ein Knoten sein, der eine Sammlung von `DynamicFrames`zurückgibt. Wenn Sie einen übergeordneten Knoten für diesen Transformationsknoten auswählen, der einen einzelnen `DynamicFrame` zurückgibt, z. B. eine *Join*-Transformation, gibt der Auftrag einen Fehler zurück. 

Ebenso gibt Ihr Job einen Fehler zurück, wenn Sie einen *SelectFromCollection*Knoten in Ihrem Job-Diagramm als übergeordneten Knoten für eine Transformation verwenden, die eine Single `DynamicFrame` als Eingabe erwartet.

![\[Der Screenshot zeigt das Feld für übergeordnete Knoten auf der Registerkarte „Node properties (Knoteneigenschaften)“ im Bereich mit den Knotendetails. Der ausgewählte übergeordnete Knoten ist SplitFields, die angezeigte Fehlermeldung lautet „Parent node Split Fields outputs a collection, but node Drop Fields does not accept a collection. (Der übergeordnete Knoten „Split Fields“ gibt mehrere aus, der Knoten „Drop Fields“ akzeptiert jedoch nur einzelne Eingaben.)“.\]](http://docs.aws.amazon.com/de_de/glue/latest/dg/images/screenshot-edit-splitfields-wrong-parent.png)


# Wird verwendet SelectFromCollection , um auszuwählen, welcher Datensatz beibehalten werden soll
<a name="transforms-configure-select-collection"></a>

Verwenden Sie die *SelectFromCollection*Transformation, um eine Sammlung von `DynamicFrames` in eine einzelne zu konvertieren`DynamicFrame`.

**Um Ihrem Jobdiagramm einen SelectFromCollection Transformationsknoten hinzuzufügen**

1. (Optional) Öffnen Sie das Bedienfeld „Ressourcen“ und wählen **SelectFromCollection**Sie dann aus, ob Sie Ihrem Auftragsdiagramm bei Bedarf eine neue Transformation hinzufügen möchten. 

1. Geben Sie auf der Registerkarte **Node properties (Knoteneigenschaften)** einen Namen für den Knoten im Auftragsdiagramm ein. Falls noch kein übergeordneter Knoten ausgewählt ist, wählen Sie in der Liste **Node parents (Übergeordnete Knoten)** einen Knoten aus, der als Eingabequelle für die Transformation verwendet werden soll.

1. Wählen Sie die Registerkarte **Transform (Transformation)** aus.

1. Wählen Sie unter der Überschrift **Frame index (Frame-Index)** die Array-Indexnummer aus, die zum `DynamicFrame` gehört, den Sie aus der Sammlung von `DynamicFrames` auswählen möchten.

   Wenn es sich bei dem übergeordneten Knoten für diese Transformation beispielsweise um eine *SplitFields*Transformation handelt, können Sie auf der Registerkarte **Ausgabeschema** dieses Knotens das Schema für jeden Knoten sehen`DynamicFrame`. Wenn Sie möchten, dass der `DynamicFrame` weiterhin mit dem Schema für **Output 2 (Ausgabe 2)** verknüpft ist, wählen Sie für **Frame index (Frame-Index)** den Wert **1**, der der zweite Wert in der Liste ist.

   Nur der von Ihnen gewählte `DynamicFrame` wird in die Ausgabe einbezogen.

1. (Optional) Nachdem Sie die Eigenschaften des Transformationsknotens angepasst haben, können Sie mit der Registerkarte **Output schema (Ausgabeschema)** im Bereich mit den Knotendetails das geänderte Schema für die Daten sehen. Wenn Sie diese Registerkarte zum ersten Mal für einen Knoten in Ihrem Auftrag auswählen, werden Sie aufgefordert, eine IAM-Rolle für den Zugriff auf die Daten anzugeben. Wenn Sie keine IAM-Rolle auf der Registerkarte **Job details (Auftragsdetails)** angegeben haben, werden Sie aufgefordert, hier eine IAM-Rolle einzugeben.

1. (Optional) Nachdem Sie die Knoteneigenschaften und Transformationseigenschaften konfiguriert haben, sehen Sie auf der Registerkarte **Data preview (Datenvorschau)** im Bereich mit den Knotendetails eine Vorschau des geänderten Datensatzes. Wenn Sie diese Registerkarte zum ersten Mal für einen Knoten in Ihrem Auftrag auswählen, werden Sie aufgefordert, eine IAM-Rolle für den Zugriff auf die Daten anzugeben. Wenn Sie dieses Feature verwenden, fallen Kosten an. Sobald Sie eine IAM-Rolle bereitstellen, wird dies berechnet.

# Suchen und Ausfüllen fehlender Werte in einem Datensatz
<a name="transforms-configure-fmv"></a>

Sie können die *FillMissingValues*Transformation verwenden, um Datensätze in der Datenmenge zu finden, in denen Werte fehlen, und ein neues Feld mit einem durch Imputation bestimmten Wert hinzuzufügen. Mit dem Eingabedatensatz wird das Modell zum Machine Learning (ML) trainiert, das den fehlenden Wert bestimmt. Wenn Sie inkrementelle Datensätze verwenden, wird jeder inkrementelle Satz als Trainingsdaten für das ML-Modell verwendet, sodass die Ergebnisse möglicherweise nicht so genau sind.

**Um einen FillMissingValues Transformationsknoten in Ihrem Jobdiagramm zu verwenden**

1. (Optional) Öffnen Sie **FillMissingValues**das Bedienfeld „Ressourcen“ und fügen Sie Ihrem Auftragsdiagramm bei Bedarf eine neue Transformation hinzu.

1. Geben Sie auf der Registerkarte **Node properties (Knoteneigenschaften)** einen Namen für den Knoten im Auftragsdiagramm ein. Falls noch kein übergeordneter Knoten ausgewählt ist, wählen Sie in der Liste **Node parents (Übergeordnete Knoten)** einen Knoten aus, der als Eingabequelle für die Transformation verwendet werden soll. 

1. Wählen Sie die Registerkarte **Transform (Transformation)** aus.

1. Wählen Sie bei **Data field (Datenfeld)** den Namen der Spalte bzw. des Felds aus den Quelldaten aus, die/das auf fehlende Werte hin analysiert werden sollen.

1. (Optional) Geben Sie im Feld **New field name (Neuer Feldname)** einen Namen für das Feld ein, das den einzelnen Akten hinzugefügt wird und den geschätzten Ersatzwert für das analysierte Feld enthält. Wenn das analysierte Feld keinen fehlenden Wert hat, wird der Wert im analysierten Feld in das neue Feld kopiert. 

   Falls Sie keinen Namen für das neue Feld angeben, ist der Standardname der Name der analysierten Spalte plus dem Anhang `_filled`. Wenn Sie z. B. **Age** bei **Data field (Datenfeld)** eingeben und keinen Wert für **New field name (Neuer Feldname)** angeben, erhalten alle Akten ein neues Feld mit dem Namen **Age\$1filled**.

1. (Optional) Nachdem Sie die Eigenschaften des Transformationsknotens angepasst haben, können Sie mit der Registerkarte **Output schema (Ausgabeschema)** im Bereich mit den Knotendetails das geänderte Schema für die Daten sehen. Wenn Sie diese Registerkarte zum ersten Mal für einen Knoten in Ihrem Auftrag auswählen, werden Sie aufgefordert, eine IAM-Rolle für den Zugriff auf die Daten anzugeben. Wenn Sie keine IAM-Rolle auf der Registerkarte **Job details (Auftragsdetails)** angegeben haben, werden Sie aufgefordert, hier eine IAM-Rolle einzugeben.

1. (Optional) Nachdem Sie die Knoteneigenschaften und Transformationseigenschaften konfiguriert haben, sehen Sie auf der Registerkarte **Data preview (Datenvorschau)** im Bereich mit den Knotendetails eine Vorschau des geänderten Datensatzes. Wenn Sie diese Registerkarte zum ersten Mal für einen Knoten in Ihrem Auftrag auswählen, werden Sie aufgefordert, eine IAM-Rolle für den Zugriff auf die Daten anzugeben. Wenn Sie dieses Feature verwenden, fallen Kosten an. Sobald Sie eine IAM-Rolle bereitstellen, wird dies berechnet.

# Filtern von Schlüsseln in einem Datensatz
<a name="transforms-filter"></a>

Erstellen Sie einen neuen Datensatz mithilfe von *Filtern*, durch die Akten aus dem Eingabe-Datensatz basierend auf einem regulären Ausdruck gefiltert werden. Zeilen, die die Filterbedingung nicht erfüllen, kommen nicht in die Ausgabe.
+ Bei String-Datentypen können Sie Zeilen herausfiltern, in denen der Schlüsselwert einer angegebenen Zeichenfolge entspricht.
+ Bei numerischen Datentypen können Sie Zeilen herausfiltern, indem ein angegebener Wert mit dem Schlüsselwert anhand der Vergleichsoperatoren `<`, `>`, `=`, `!=`, `<=` und `>=` verglichen wird.

Wenn Sie mehrere Filterbedingungen angeben, gilt für die Ergebnisse standardmäßig der Operator `AND`, sie können aber auch `OR` anwenden lassen.

Bei der *Filter*-Transformation wird die Groß- und Kleinschreibung berücksichtigt. Fügen Sie eine *ApplyMapping*Transformation als übergeordneten Knoten hinzu, wenn Sie Eigenschaftsschlüsselnamen benötigen, bei denen Groß- und Kleinschreibung nicht beachtet werden muss.

**Dem Auftragsdiagramm einen Filter-Transformationsknoten hinzufügen**

1. (Optional) Öffnen Sie das Ressourcen-Bedienfeld und wählen Sie **Filter** aus, um Ihrem Auftragsdiagramm bei Bedarf eine neue Transformation hinzuzufügen. 

1. Geben Sie auf der Registerkarte **Node properties (Knoteneigenschaften)** einen Namen für den Knoten im Auftragsdiagramm ein. Falls noch kein übergeordneter Knoten ausgewählt ist, wählen Sie in der Liste **Node parents (Übergeordnete Knoten)** einen Knoten aus, der als Eingabequelle für die Transformation verwendet werden soll.

1. Wählen Sie die Registerkarte **Transform (Transformation)** aus.

1. Wählen Sie entweder **Global AND** oder **Global OR** aus. Das bestimmt, was bei mehreren Filterbedingungen geschieht. Alle Bedingungen unterliegen entweder dem Operator `AND` oder `OR`. Wenn Sie nur eine einzelne Filterbedingungen haben, können Sie irgend einen auswählen.

1. Fügen Sie über die Schaltfläche **Add condition (Bedingung hinzufügen)** im Abschnitt **Filter condition (Filterbedingung)** eine Filterbedingung hinzu. 

   Wählen Sie im Feld **Key (Schlüssel)** einen Eigenschaftsschlüsselnamen aus dem Datensatz aus. Wählen Sie im Feld **Operation** den Vergleichsoperator aus. Geben Sie im Feld **Value (Wert)** den Vergleichswert ein. Hier sind einige Beispiele für Filterbedingungen:
   + `year >= 2018`
   + `State matches 'CA*'`

   Wenn Sie nach Strings filtern, stellen Sie sicher, dass der Vergleichswert ein Format für reguläre Ausdrücke hat, das der in den Auftragseigenschaften ausgewählten Skriptsprache entspricht (Python oder Scala).

1. Geben Sie nach Bedarf zusätzliche Filterbedingungen an. 

1. (Optional) Nachdem Sie die Eigenschaften des Transformationsknotens angepasst haben, können Sie mit der Registerkarte **Output schema (Ausgabeschema)** im Bereich mit den Knotendetails das geänderte Schema für die Daten sehen. Wenn Sie diese Registerkarte zum ersten Mal für einen Knoten in Ihrem Auftrag auswählen, werden Sie aufgefordert, eine IAM-Rolle für den Zugriff auf die Daten anzugeben. Wenn Sie keine IAM-Rolle auf der Registerkarte **Job details (Auftragsdetails)** angegeben haben, werden Sie aufgefordert, hier eine IAM-Rolle einzugeben.

1. (Optional) Nachdem Sie die Knoteneigenschaften und Transformationseigenschaften konfiguriert haben, sehen Sie auf der Registerkarte **Data preview (Datenvorschau)** im Bereich mit den Knotendetails eine Vorschau des geänderten Datensatzes. Wenn Sie diese Registerkarte zum ersten Mal für einen Knoten in Ihrem Auftrag auswählen, werden Sie aufgefordert, eine IAM-Rolle für den Zugriff auf die Daten anzugeben. Wenn Sie dieses Feature verwenden, fallen Kosten an. Sobald Sie eine IAM-Rolle bereitstellen, wird dies berechnet.

# Wird verwendet DropNullFields , um Felder mit Nullwerten zu entfernen
<a name="transforms-dropnull-fields"></a>

 Verwenden Sie die *DropNullFields*Transformation, um Felder aus dem Datensatz zu entfernen, wenn alle Werte im Feld „Null“ sind. Standardmäßig erkennt AWS Glue Studio Null-Objekte, aber einige Werte wie leere Strings, Strings, die „null“ sind, -1 Ganzzahlen oder andere Platzhalter wie Nullen werden nicht automatisch als Nullen erkannt. 

**Um das zu verwenden DropNullFields**

1.  Fügt dem Jobdiagramm einen DropNullFields Knoten hinzu. 

1.  Auf der Registerkarte **Knoteneigenschaften** wählen Sie zusätzliche Werte aus, die einen Nullwert darstellen. Sie können wählen, ob Sie keinen oder alle Werte auswählen möchten:   
![\[Der Screenshot zeigt die Registerkarte Transformieren für den DropNullFields Knoten.\]](http://docs.aws.amazon.com/de_de/glue/latest/dg/images/DropNullFields-transform-tab.png)
   +  Leerer String ("" oder '') - Felder, die leere Strings enthalten, werden entfernt 
   +  „null string“ - Felder, die die Zeichenfolge mit dem Wort 'null' enthalten, werden entfernt 
   +  -1 integer - Felder, die eine Ganzzahl von -1 (negativ) enthalten, werden entfernt 

1.  Bei Bedarf können Sie auch benutzerdefinierte Nullwerte angeben. Dies sind Nullwerte, die für Ihren Datensatz eindeutig sein können. Um einen benutzerdefinierten Nullwert hinzuzufügen, wählen Sie **Add new value** (Neuen Wert hinzufügen). 

1.  Geben Sie den benutzerdefinierten Null-Wert ein. Dies kann beispielsweise Null oder ein beliebiger Wert sein, der verwendet wird, um eine Null im Datensatz darzustellen. 

1.  Wählen Sie den Datentyp im Dropdown-Feld aus. Datentypen können entweder String oder Integer sein. 
**Anmerkung**  
 Benutzerdefinierte Nullwerte und ihre Datentypen müssen genau übereinstimmen, damit die Felder als Nullwerte erkannt und die Felder entfernt werden. Teilweise Übereinstimmungen, bei denen nur der benutzerdefinierte Nullwert, nicht aber der Datentyp übereinstimmt, führen nicht dazu, dass die Felder entfernt werden. 

# Verwenden einer SQL-Abfrage zum Transformieren von Daten
<a name="transforms-sql"></a>

Sie können mit einer **SQL**-Transformation Ihre eigene Transformation in Form einer SQL-Abfrage schreiben.

Ein SQL-Transformationsknoten kann mehrere Datensätze als Eingaben enthalten, erzeugt jedoch nur einen einzigen Datensatz als Ausgabe. Enthalten ist ein Textfeld, in das Sie die Apache-SparkSQL-Abfrage eingeben können. Sie können jedem Datensatz, der als Eingabe verwendet wird, Aliase zuweisen, um einfach die SQL-Abfrage zu unterstützen. Weitere Informationen über die SQL-Syntax finden Sie in der [Spark-SQL-Dokumentation](https://spark.apache.org/docs/latest/sql-ref.html).

**Anmerkung**  
Wenn Sie eine Spark-SQL-Transformation mit einer Datenquelle in einer VPC verwenden, fügen Sie der VPC einen AWS Glue-VPC-Endpunkt hinzu, der die Datenquelle enthält. Weitere Informationen zum Konfigurieren von Entwicklungsendpunkten finden Sie unter [Hinzufügen eines Entwicklungsendpunkts](https://docs.aws.amazon.com/glue/latest/dg/add-dev-endpoint.html), [Einrichten Ihrer Umgebung für Entwicklungsendpunkte](https://docs.aws.amazon.com/glue/latest/dg/start-development-endpoint.html) und [Zugreifen auf den Entwicklungsendpunkt](https://docs.aws.amazon.com/glue/latest/dg/dev-endpoint-elastic-ip.html) im *AWS Glue -Entwicklerhandbuch*.

**Einen SQL-Transformationsknoten im Auftragsdiagramm verwenden**

1. (Optional) Fügen Sie dem Auftragsdiagramm bei Bedarf einen Transformationsknoten hinzu. Wählen Sie **SQL Query** als Knotentyp aus.
**Anmerkung**  
 Wenn Sie eine Datenvorschausitzung und einen benutzerdefinierten SQL- oder benutzerdefinierten Codeknoten verwenden, führt die Datenvorschausitzung den SQL- oder Codeblock unverändert für den gesamten Datensatz aus. 

1. Geben Sie auf der Registerkarte **Node properties (Knoteneigenschaften)** einen Namen für den Knoten im Auftragsdiagramm ein. Falls noch kein übergeordneter Knoten ausgewählt ist oder Sie mehrere Eingaben für die SQL-Transformation wünschen, wählen Sie in der Liste **Node parents (Übergeordnete Knoten)** einen Knoten aus, der als Eingabequelle für die Transformation verwendet werden soll. Fügen Sie nach Bedarf zusätzliche übergeordnete Knoten hinzu.

1. Wählen Sie die Registerkarte **Transform (Transformation)** im Bereich mit den Knotendetails aus. 

1. Die Quell-Datensätze für die SQL-Abfrage sind durch die Namen kenntlich gemacht, die Sie im Feld **Name** bei den einzelnen Knoten angeben. Wenn Sie diese Namen nicht verwenden möchten oder wenn die Namen nicht für eine SQL-Abfrage geeignet sind, können Sie jedem Datensatz einzeln einen Namen zuordnen. Die Konsole stellt Standardaliase bereit, z. B. `MyDataSource`.

   Wenn beispielsweise ein übergeordneter Knoten für den SQL-Transformationsknoten `Rename Org PK field` heißt, könnten Sie den Namen `org_table` mit diesem Datensatz assoziieren. Dieser Alias kann dann anstelle des Knotennamens in der SQL-Abfrage verwendet werden. 

1. Im Texteingabefeld unter der Überschrift **Code block (Code-Block)** fügen bzw. geben Sie die SQL-Abfrage ein. Das Textfeld zeigt SQL-Syntaxmarkierung an und macht Vorschläge zu Stichwörtern.

1. Wählen Sie bei ausgewähltem SQL-Transformationsknoten die Option **Output schema (Ausgabeschema)** und dann **Edit (Bearbeiten)** aus. Geben Sie die Spalten und Datentypen an, die die Ausgabefelder der SQL-Abfrage beschreiben.

   Geben Sie das Schema mithilfe der folgenden Aktionen im Abschnitt **Output schema (Ausgabeschema)** auf der Seite an:
   + Um eine Spalte umzubenennen, bewegen Sie den Cursor bei der Spalte in das Textfeld **Key (Schlüssel)** (auch als *field (Field)* oder *property key (Eigenschaftsschlüssel)* bezeichnet) und geben Sie den neuen Namen ein.
   + Um den Datentyp für eine Spalte zu ändern, wählen Sie den neuen Datentypen für die Spalte aus der Dropdown-Liste aus.
   + Um dem Schema eine neue oberste Spalte hinzuzufügen, wählen Sie die Schaltfläche für Überlauf (![\[\]](http://docs.aws.amazon.com/de_de/glue/latest/dg/images/edit-schema-actions-button.png)) und wählen Sie dann **Add root key (Rootschlüssel hinzufügen)** aus. Neue Spalten werden oben im Schema hinzugefügt.
   + Um eine Spalte aus dem Schema zu entfernen, wählen Sie das Symbol zum Löschen (![\[\]](http://docs.aws.amazon.com/de_de/glue/latest/dg/images/delete-icon-black.png)) ganz rechts beim Schlüsselnamen aus. 

1. Wenn Sie die Angabe des Ausgabeschemas abgeschlossen haben, wählen Sie **Apply (Anwenden)** aus, um die Änderungen zu speichern und den Schema-Editor zu verlassen. Wenn Sie Änderungen nicht speichern möchten, wählen Sie **Cancel (Abbrechen)**, um den Schema-Editor zu verlassen.

1. (Optional) Nachdem Sie die Knoteneigenschaften und Transformationseigenschaften konfiguriert haben, sehen Sie auf der Registerkarte **Data preview (Datenvorschau)** im Bereich mit den Knotendetails eine Vorschau des geänderten Datensatzes. Wenn Sie diese Registerkarte zum ersten Mal für einen Knoten in Ihrem Auftrag auswählen, werden Sie aufgefordert, eine IAM-Rolle für den Zugriff auf die Daten anzugeben. Wenn Sie dieses Feature verwenden, fallen Kosten an. Sobald Sie eine IAM-Rolle bereitstellen, wird dies berechnet.

# Verwenden von Aggregate zum Durchführen zusammenfassender Berechnungen für ausgewählte Felder
<a name="transforms-aggregate-fields"></a>

**Verwenden der Aggregate-Transformation**

1.  Fügen Sie den Aggregate-Knoten zum Auftragsdiagramm hinzu. 

1.  Wählen Sie in der Registerkarte **Node properties (Knoteneigenschaften)** die Felder aus, die gruppiert werden sollen, indem Sie das Dropdown-Feld auswählen (optional). Sie können mehrere Felder gleichzeitig auswählen oder nach einem Feldnamen suchen, indem Sie die Suchleiste verwenden. 

    Wenn Felder ausgewählt sind, werden Name und Datentyp angezeigt. Wählen Sie im Feld „X“, um ein Feld zu entfernen.   
![\[Der Screenshot zeigt die Registerkarte „Transformieren“ für den Aggregate-Knoten.\]](http://docs.aws.amazon.com/de_de/glue/latest/dg/images/Aggregate-transform-tab.png)

1.  Klicken Sie auf **Aggregate another column (Weitere Spalte aggregieren)**. Es ist erforderlich, mindestens ein Feld auszuwählen.   
![\[Der Screenshot zeigt die Felder, wenn Sie „Aggregate another column“ (eine andere Spalte aggregieren) wählen.\]](http://docs.aws.amazon.com/de_de/glue/latest/dg/images/Aggregate-fieldtoaggregate.png)

1.  Wählen Sie ein Feld im Dropdown-Menü **Field to aggregate (Zu aggregierendes Feld)**. 

1.  Wählen Sie die Aggregationsfunktion aus, die auf das ausgewählte Feld angewendet werden soll: 
   +  avg - berechnet den Durchschnitt 
   +  countDistinct - berechnet die Anzahl der eindeutigen Nicht-Null-Werte 
   +  count - berechnet die Anzahl der Nicht-Null-Werte 
   +  first - gibt den ersten Wert zurück, der die Kriterien „Gruppieren nach“ erfüllt 
   +  last - gibt den letzten Wert zurück, der die Kriterien „Gruppieren nach“ erfüllt 
   +  kurtosis - berechnet die Schärfe des Peaks einer Frequenzverteilungskurve 
   +  max - gibt den höchsten Wert zurück, der die Kriterien „Gruppieren nach“ erfüllt 
   +  min - gibt den niedrigsten Wert zurück, der die Kriterien „Gruppieren nach“ erfüllt 
   +  Skewness - Maß für die Asymmetrie der Wahrscheinlichkeitsverteilung einer Normalverteilung 
   +  stddev\$1pop - berechnet die Standardabweichung der Bevölkerung und gibt die Quadratwurzel der Populationsvarianz zurück 
   +  sum - Die Summe aller Werte in der Gruppe 
   +  sumDistinct - Die Summe aller unterschiedlichen Werte in der Gruppe 
   +  var\$1samp - die Stichprobenvarianz der Gruppe (ignoriert Nullen) 
   +  var\$1pop - die Bevölkerungsvarianz der Gruppe (ignoriert Nullen) 

# Verschachtelte Strukturen verflachen
<a name="transforms-flatten"></a>

*Verflacht* die Felder verschachtelter Strukturen in den Daten, sodass sie zu Feldern der obersten Ebene werden. Die neuen Felder werden, um sie zu erreichen, anhand des Feldnamens benannt, dem die Namen der Strukturfelder vorangestellt sind, getrennt durch Punkte. 

Zum Beispiel, wenn die Daten ein Feld vom Typ „Struct“ mit dem Namen „phone\$1numbers“ haben, das unter anderem eines vom Typ „Struct“ namens „home\$1phone“ mit zwei Feldern enthält: „Country\$1Code“ und „Number“. Nach dem Abflachen werden diese beiden Felder zu Feldern der obersten Ebene mit den Namen „phone\$1numbers.home\$1phone.country\$1code“ bzw. „phone\$1numbers.home\$1phone.number“.

**Ihrem Auftragsdiagramm einen *Verflachten* Transformationsknoten hinzufügen**

1. Öffnen Sie das Ressourcen-Bedienfeld und wählen Sie die Registerkarte **Transformationen** und dann **Reduzieren** aus, um Ihrem Auftragsdiagramm eine neue Transformation hinzuzufügen. Sie können auch die Suchleiste verwenden, indem Sie „Reduzieren“ eingeben und dann auf den Knoten „Reduzieren“ klicken. Der Knoten, der zum Zeitpunkt des Hinzufügens ausgewählt wurde, ist sein übergeordneter Knoten.  
![\[Der Screenshot zeigt das Ressourcenfenster und die Suchleiste mit dem Wort „Reduzieren“. Das Suchergebnis zeigt die Transformation Reduzieren.\]](http://docs.aws.amazon.com/de_de/glue/latest/dg/images/transform-flatten.png)

1. Geben Sie auf der Registerkarte **Knoteneigenschaften** einen Namen für den Knoten im Auftragsdiagramm ein. Falls noch kein übergeordneter Knoten ausgewählt ist, wählen Sie in der Liste **Node parents (Übergeordnete Knoten)** einen Knoten aus, der als Eingabequelle für die Transformation verwendet werden soll.

1. (Optional) Auf der Registerkarte **Transformieren** können Sie die maximale Verschachtelungsebene einschränken, die verflacht werden soll. Wenn Sie diesen Wert beispielsweise auf 1 setzen, werden nur Strukturen der obersten Ebene verflacht. Wenn Sie das Maximum auf 2 setzen, werden die oberste Ebene und die direkt darunter liegenden Strukturen verflacht.

# Hinzufügen einer UUID-Spalte
<a name="transforms-uuid"></a>

Wenn Sie eine Spalte *UUID* (Universally Unique Identified) hinzufügen, wird jeder Zeile eine eindeutige 36-stellige Zeichenfolge zugewiesen.

**Ihrem Auftragsdiagramm einen *UUID*-Transformationsknoten hinzufügen**

1. Öffnen Sie das Ressourcen-Bedienfeld und wählen Sie **UUID** aus, um Ihrem Auftragsdiagramm eine neue Transformation hinzuzufügen. Der Knoten, der zum Zeitpunkt des Hinzufügens ausgewählt wurde, ist sein übergeordneter Knoten.

1. Geben Sie auf der Registerkarte **Knoteneigenschaften** einen Namen für den Knoten im Auftragsdiagramm ein. Falls noch kein übergeordneter Knoten ausgewählt ist, wählen Sie in der Liste **Node parents (Übergeordnete Knoten)** einen Knoten aus, der als Eingabequelle für die Transformation verwendet werden soll.

1. (Optional) Auf der Registerkarte **Transformieren** können Sie den Namen der neuen Spalte anpassen. Standardmäßig wird sie „uuid“ genannt.

# Hinzufügen einer Identifikationsspalte
<a name="transforms-identifier"></a>

Weisen Sie jeder Zeile im Datensatz einen numerischen *Identifikator* zu.

**Einen *Identifikator*-Transformationsknoten im Auftragsdiagramm hinzufügen**

1. Öffnen Sie das Ressourcen-Bedienfeld und wählen Sie **Kennung** aus, um Ihrem Auftragsdiagramm eine neue Transformation hinzuzufügen. Der Knoten, der zum Zeitpunkt des Hinzufügens ausgewählt wurde, ist sein übergeordneter Knoten.

1. Geben Sie auf der Registerkarte **Knoteneigenschaften** einen Namen für den Knoten im Auftragsdiagramm ein. Falls noch kein übergeordneter Knoten ausgewählt ist, wählen Sie in der Liste **Node parents (Übergeordnete Knoten)** einen Knoten aus, der als Eingabequelle für die Transformation verwendet werden soll.

1. (Optional) Auf der Registerkarte **Transformieren** können Sie den Namen der neuen Spalte anpassen. Standardmäßig wird es „ID“ genannt.

1. (Optional) Wenn der Auftrag Daten inkrementell verarbeitet und speichert, möchten Sie vermeiden, dass dieselben IDs zwischen den Auftragsausführungen wiederverwendet werden.

   Markieren Sie auf der Registerkarte **Transformieren** die **eindeutige** Kontrollkästchen-Option. Es wird den Auftragszeitstempel in den Identifikator aufnehmen, sodass er zwischen mehreren Durchläufen eindeutig ist. Um die größere Zahl zu berücksichtigen, wird die Spalte statt des Typs „long“ eine Dezimalzahl sein.

# Eine Spalte in den Zeitstempeltyp konvertieren
<a name="transforms-to-timestamp"></a>

Sie können die Transformation *Zum Zeitstempel* verwenden, um den Datentyp einer numerischen Spalte oder einer Zeichenkettenspalte in einen Zeitstempel zu ändern, sodass er mit diesem Datentyp gespeichert oder auf andere Transformationen angewendet werden kann, die einen Zeitstempel erfordert.

**Dem Auftragsdiagramm einen *Zum-Zeitstempel*-Transformationsknoten hinzufügen**

1. Öffnen Sie das Ressourcen-Bedienfeld und wählen Sie **Zum Zeitstempel** aus, um Ihrem Auftragsdiagramm eine neue Transformation hinzuzufügen. Der Knoten, der zum Zeitpunkt des Hinzufügens ausgewählt wurde, ist sein übergeordneter Knoten.

1. Geben Sie auf der Registerkarte **Knoteneigenschaften** einen Namen für den Knoten im Auftragsdiagramm ein. Falls noch kein übergeordneter Knoten ausgewählt ist, wählen Sie in der Liste **Node parents (Übergeordnete Knoten)** einen Knoten aus, der als Eingabequelle für die Transformation verwendet werden soll.

1. Geben Sie auf der Registerkarte **Transformieren** den Namen der zu konvertierenden Spalte ein.

1. Definieren Sie auf der Registerkarte **Transformieren**, wie die ausgewählte Spalte analysiert werden soll, indem Sie den Typ auswählen.

   Wenn der Wert eine Zahl ist, kann er in Sekunden (Unix/Python-Zeitstempel), Millisekunden oder Mikrosekunden ausgedrückt werden. Wählen Sie die entsprechende Option.

   Wenn der Wert eine formatierte Zeichenfolge ist, wählen Sie den Typ „iso“. Die Zeichenfolge muss einer der Varianten des ISO-Formats entsprechen, zum Beispiel: „2022-11-02T14:40:59.915Z“.

   Wenn Sie den Typ zu diesem Zeitpunkt noch nicht kennen oder verschiedene Zeilen unterschiedliche Typen verwenden, können Sie „automatische Erkennung“ wählen und das System wird seine beste Vermutung anstellen, mit einem kleinen Leistungsverlust.

1. (Optional) Auf der Registerkarte **Transformieren** können Sie, anstatt die ausgewählte Spalte zu konvertieren, eine neue erstellen und das Original beibehalten, indem Sie einen Namen für die neue Spalte eingeben.

# Konvertieren Sie eine Zeitstempelspalte in eine formatierte Zeichenfolge
<a name="transforms-format-timestamp"></a>

Formatieren Sie eine Zeitstempelspalte in eine Zeichenfolge, die auf einem Muster basiert. Sie können *Zeitstempel formatieren* verwenden, um Datum und Uhrzeit als Zeichenfolge mit dem gewünschten Format abzurufen. Sie können das Format mithilfe der [Spark-Datumssyntax](https://spark.apache.org/docs/latest/sql-ref-datetime-pattern.html) sowie der meisten [Python-Datumscodes](https://docs.python.org/3/library/datetime.html#strftime-and-strptime-format-codes) definieren.

Wenn Sie beispielsweise möchten, dass Ihre Datumszeichenfolge wie „2023-01-01 00:00“ formatiert wird, können Sie ein solches Format mit der Spark-Syntax als „yyyy-MM-dd HH:mm“ oder den entsprechenden Python-Datumscodes als „%Y-%m-%d %H: %M“ definieren

**Ihrem Auftragsdiagramm einen *Zeitstempel-formatieren*-Transformationsknoten hinzufügen**

1. Öffnen Sie das Ressourcen-Bedienfeld und wählen Sie **Zeitstempel formatieren** aus, um Ihrem Auftragsdiagramm eine neue Transformation hinzuzufügen. Der Knoten, der zum Zeitpunkt des Hinzufügens ausgewählt wurde, ist sein übergeordneter Knoten.

1. Geben Sie auf der Registerkarte **Knoteneigenschaften** einen Namen für den Knoten im Auftragsdiagramm ein. Falls noch kein übergeordneter Knoten ausgewählt ist, wählen Sie in der Liste **Node parents (Übergeordnete Knoten)** einen Knoten aus, der als Eingabequelle für die Transformation verwendet werden soll.

1. Geben Sie auf der Registerkarte **Transformieren** den Namen der zu konvertierenden Spalte ein.

1. Geben Sie auf der Registerkarte **Transformieren** das zu verwendende **Zeitstempelformat**-Muster ein, das mithilfe der [Spark-Datumssyntax](https://spark.apache.org/docs/latest/sql-ref-datetime-pattern.html) oder [Python-Datumscodes](https://docs.python.org/3/library/datetime.html#strftime-and-strptime-format-codes) ausgedrückt wird.

1. (Optional) Auf der Registerkarte **Transformieren** können Sie, anstatt die ausgewählte Spalte zu konvertieren, eine neue erstellen und das Original beibehalten, indem Sie einen Namen für die neue Spalte eingeben.

# Erstellen einer bedingten Routertransformation
<a name="transforms-conditional-router"></a>

 Mit der bedingten Router-Transformation können Sie mehrere Bedingungen auf eingehende Daten anwenden. Jede Zeile der eingehenden Daten wird anhand einer Gruppenfilterbedingung ausgewertet und zu der entsprechenden Gruppe verarbeitet. Wenn eine Zeile mehr als eine Gruppenfilterbedingung erfüllt, übergibt die Transformation die Zeile an mehrere Gruppen. Wenn eine Zeile keine Bedingung erfüllt, kann sie entweder gelöscht oder an eine Standardausgabegruppe weitergeleitet werden. 

 Diese Transformation ähnelt der Filtertransformation, ist jedoch nützlich für Benutzer, die dieselben Eingabedaten unter mehreren Bedingungen testen möchten. 

**Um eine bedingte Routertransformation hinzuzufügen:**

1.  Wählen Sie einen Knoten aus, auf dem Sie die bedingte Routertransformation durchführen möchten. Dies kann ein Quellknoten oder eine andere Transformation sein. 

1.  Wählen Sie **Aktion** und verwenden Sie dann die Suchleiste, um „Bedingter Router“ zu suchen und auszuwählen. Eine **bedingte Router**-Transformation wird zusammen mit zwei Ausgabeknoten hinzugefügt. Ein Ausgabeknoten, die „Standardgruppe“, enthält Datensätze, die keine der in den anderen Ausgangsknoten definierten Bedingungen erfüllen. Die Standardgruppe kann nicht bearbeitet werden.   
![\[Die Bildschrimaufnahme zeigt den bedingten Routertransformationsknoten, der mit einem Quellknoten verbunden ist. Ausgangsknoten werden als Verzweigungen vom bedingten Routerknoten dargestellt.\]](http://docs.aws.amazon.com/de_de/glue/latest/dg/images/transform-conditional-router-node.png)

    Sie können weitere Ausgabegruppen hinzufügen, indem Sie **Gruppe hinzufügen** wählen. Für jede Ausgabegruppe können Sie die Gruppe benennen und Filterbedingungen sowie einen logischen Operator hinzufügen.   
![\[Der Screenshot zeigt die Registerkarte für bedingte Router-Transformation mit Optionen zur Benennung der Ausgabegruppe, des logischen Operators und der bedingten Filter.\]](http://docs.aws.amazon.com/de_de/glue/latest/dg/images/transform-conditional-router-tab.png)

1.  Benennen Sie den Namen der Ausgabegruppe um, indem Sie einen neuen Namen für die Gruppe eingeben. AWS Glue Studio benennt Ihre Gruppen automatisch für Sie (zum Beispiel 'output\$1group\$11'). 

1.  Wählen Sie einen logischen Operator (**AND**, **OR**) und fügen Sie eine **Filterbedingung** hinzu, indem Sie den **Schlüssel**, den **Vorgang** und den **Wert** angeben. Logische Operatoren ermöglichen es Ihnen, mehr als eine Filterbedingung zu implementieren und den logischen Operator für jede von Ihnen angegebene Filterbedingung auszuführen. 

    Bei der Angabe des Schlüssels können Sie aus den verfügbaren Schlüsseln in Ihrem Schema wählen. Sie können dann den verfügbaren Vorgang auswählen, der vom Typ des Schlüssels abhängt. Wenn der Schlüsseltyp beispielsweise „Zeichenfolge“ ist, steht als verfügbare Operation „Übereinstimmung“ zur Auswahl.   
![\[Der Screenshot zeigt die Registerkarte „bedingte Router-Transformation“ mit den Filterbedingungsfeldern für Schlüssel, Vorgang und Wert.\]](http://docs.aws.amazon.com/de_de/glue/latest/dg/images/transform-conditional-router-filter-condition.png)

1.  Geben Sie im Feld **Wert** den Wert ein. Wählen Sie **Bedingung hinzufügen** aus, um zusätzliche Bedingungen hinzuzufügen. Um einen Filter entfernen, klicken Sie auf das Papierkorbsymbol. 

# Verwenden der Transformation Spalten verketten zum Anfügen von Spalten
<a name="transforms-concatenate-columns"></a>

 Mit der Verkettungs-Transformation können Sie eine neue Zeichenfolgenspalte erstellen, indem Sie die Werte anderer Spalten mit einem optionalen Abstandszeichen verwenden. Wenn wir beispielsweise eine verkettete Spalte „Datum“ als Verkettung von „Jahr“, „Monat“ und „Tag“ (in dieser Reihenfolge) mit „-“ als Abstandhalter definieren, erhalten wir: 


| Tag | Monat | Jahr | date | 
| --- | --- | --- | --- | 
| 01 | 01 | 2020 | 01.01.2020 | 
| 02 | 01 | 2020 | 2020-01-02 | 
| 03 | 01 | 2020 | 2020-01-03 | 
| 04 | 01 | 2020 | 2020-01-04 | 

**So fügen Sie eine Verkettungs-Transformation hinzu:**

1. Öffnen Sie das Bedienfeld Ressourcen. Wählen Sie dann **Spalten verketten**, um Ihrem Auftragsdiagramm eine neue Transformation hinzuzufügen. Der Knoten, der zum Zeitpunkt des Hinzufügens ausgewählt wurde, ist sein übergeordneter Knoten.

1. Geben Sie auf der Registerkarte **Knoteneigenschaften** einen Namen für den Knoten im Auftragsdiagramm ein. Falls noch kein übergeordneter Knoten ausgewählt ist, wählen Sie in der Liste Node parents (Übergeordnete Knoten) einen Knoten aus, der als Eingabequelle für die Transformation verwendet werden soll.

1. Geben Sie auf der Registerkarte **Transformation** den Namen der Spalte ein, die die verkettete Zeichenfolge sowie die zu verkettenden Spalten enthalten soll. Die Reihenfolge, in der Sie die Spalten im Dropdown-Menü überprüfen, entspricht der verwendeten Reihenfolge.  
![\[Der Screenshot zeigt die Registerkarte Transformation für die Verkettungs-Transformation.\]](http://docs.aws.amazon.com/de_de/glue/latest/dg/images/transforms-concatenate-transform-tab.png)

1. **Abstandshalter – optional** – Geben Sie eine Zeichenfolge ein, die zwischen den verketteten Feldern platziert werden soll. Standardmäßig ist kein Abstandshalter vorhanden.

1. **Nullwert – optional** – Geben Sie eine Zeichenfolge ein, die verwendet werden soll, wenn ein Spaltenwert null ist. Standardmäßig wird in den Fällen, in denen Spalten den Wert „NULL“ oder „NA“ haben, eine leere Zeichenfolge verwendet.

# Verwenden der Transformation einer geteilten Zeichenfolge zum Aufteilen einer Zeichenfolgenspalte
<a name="transforms-split-string"></a>

 Mit der Transformation einer geteilten Zeichenfolge können Sie eine Zeichenfolge in ein Array von Token aufteilen, indem Sie einen regulären Ausdruck verwenden, um zu definieren, wie die Aufteilung durchgeführt wird. Sie können die Spalte dann als Array-Typ beibehalten oder nach dieser Transformation eine **Array-zu-Spalten**-Transformation anwenden, um die Array-Werte in Felder der obersten Ebene zu extrahieren, vorausgesetzt, dass jedes Token eine Bedeutung hat, die wir vorher kennen. Wenn die Reihenfolge der Token irrelevant ist (z. B. bei einer Reihe von Kategorien), können Sie außerdem die **Explode**-Transformation verwenden, um für jeden Wert eine separate Zeile zu generieren. 

 Sie können beispielsweise die Spalte „Kategorien“ mithilfe eines Kommas als Muster teilen, um eine Spalte „categories\$1arr“ hinzuzufügen. 


| product\$1id | categories | categories\$1arr | 
| --- | --- | --- | 
| 1 | sports,winter | [sports, winter] | 
| 2 | garden,tools | [garden, tools] | 
| 3 | videogames | [videogames] | 
| 4 | game,boardgame,social | [game, boardgame, social] | 

**So fügen Sie eine Transformation einer geteilten Zeichenfolge hinzu:**

1. Öffnen Sie das Ressourcen-Bedienfeld und wählen Sie Geteilte Zeichenfolge aus, um Ihrem Auftragsdiagramm eine neue Transformation hinzuzufügen. Der Knoten, der zum Zeitpunkt des Hinzufügens ausgewählt wurde, ist sein übergeordneter Knoten.

1. Geben Sie auf der Registerkarte Knoteneigenschaften einen Namen für den Knoten im Auftragsdiagramm ein. Falls noch kein übergeordneter Knoten ausgewählt ist, wählen Sie in der Liste Node parents (Übergeordnete Knoten) einen Knoten aus, der als Eingabequelle für die Transformation verwendet werden soll.

1. Wählen Sie auf der Registerkarte **Transformieren** die zu teilende Spalte aus und geben Sie das Muster ein, das zum Teilen der Zeichenfolge verwendet werden soll. In den meisten Fällen können Sie einfach die Zeichen eingeben, es sei denn, sie haben als regulärer Ausdruck eine besondere Bedeutung und müssen maskiert werden. Folgende Zeichen müssen maskiert werden: `\.[]{}()<>*+-=!?^$|` durch Einfügen eines umgekehrten Schrägstrichs vor dem Zeichen. Wenn Sie beispielsweise durch einen Punkt („.“) trennen möchten, müssen Sie `\.` eingeben. Ein Komma hat jedoch keine besondere Bedeutung und kann einfach so angegeben werden: `,`.  
![\[Der Screenshot zeigt die Registerkarte „Transformieren“ für die Transformation einer geteilten Zeichenfolge.\]](http://docs.aws.amazon.com/de_de/glue/latest/dg/images/transforms-split-string-transform-tab.png)

1. (Optional) Wenn Sie die ursprüngliche Zeichenfolgenspalte beibehalten möchten, können Sie einen Namen für eine neue Array-Spalte eingeben und so sowohl die ursprüngliche Zeichenfolgenspalte als auch die neue tokenisierte Array-Spalte beibehalten.

# Verwenden Sie die Transformation Array zu Spalten, um die Elemente eines Arrays in Spalten der obersten Ebene zu extrahieren
<a name="transforms-array-to-columns"></a>

 Mit der Transformation Array zu Spalten können Sie einige oder alle Elemente einer Spalte vom Typ „Array“ in neue Spalten extrahieren. Die Transformation füllt die neuen Spalten so weit wie möglich, wenn das Array über genügend Werte zum Extrahieren verfügt. Optional übernimmt es die Elemente an den angegebenen Positionen. 

 Wenn Sie beispielsweise über eine Array-Spalte „Subnetz“ verfügen, die das Ergebnis der Anwendung der Transformation einer geteilten Zeichenfolge auf ein IP-v4-Subnetz ist, können Sie die erste und vierte Position in die neuen Spalten „first\$1octect“ und „forth\$1octect“ extrahieren. Die Ausgabe der Transformation in diesem Beispiel wäre (beachten Sie, dass die letzten beiden Zeilen kürzere Arrays als erwartet haben): 


| Subnetz | first\$1octect | fourth\$1octect | 
| --- | --- | --- | 
| [54, 240, 197, 238] | 54 | 238 | 
| [192, 168, 0, 1] | 192 | 1 | 
| [192, 168] | 192 |  | 
| [] |  |  | 

**So fügen Sie eine Transformation vom Typ Array zu Spalten hinzu:**

1. Öffnen Sie das Ressourcen-Bedienfeld und wählen Sie **Array zu Spalten** aus, um Ihrem Auftragsdiagramm eine neue Transformation hinzuzufügen. Der Knoten, der zum Zeitpunkt des Hinzufügens ausgewählt wurde, ist sein übergeordneter Knoten.

1. Geben Sie auf der Registerkarte **Knoteneigenschaften** einen Namen für den Knoten im Auftragsdiagramm ein. Falls noch kein übergeordneter Knoten ausgewählt ist, wählen Sie in der Liste Node parents (Übergeordnete Knoten) einen Knoten aus, der als Eingabequelle für die Transformation verwendet werden soll.

1. Wählen Sie auf der Registerkarte **Transformation** die zu extrahierende Array-Spalte aus und geben Sie die Liste der neuen Spalten für die extrahierten Token ein.  
![\[Der Screenshot zeigt die Registerkarte Transformation für die Transformation Array zu Spalten.\]](http://docs.aws.amazon.com/de_de/glue/latest/dg/images/transforms-array-to-columns-transform-tab.png)

1. (Optional) Wenn Sie die Array-Token nicht für die Zuweisung zu Spalten verwenden möchten, können Sie die zu verwendenden Indizes angeben, die der Spaltenliste in derselben angegebenen Reihenfolge zugewiesen werden. Wenn die Ausgabespalten beispielsweise „column1, column2, column3“ und die Indizes „4, 1, 3“ sind, wird das vierte Element des Arrays in column1, das erste in columns2 und das dritte in column3 abgelegt (wenn das Array kürzer ist als die Indexnummer, wird ein NULL-Wert festgelegt).

# Verwendung der Transformation zum Hinzufügen aktueller Zeitstempel
<a name="transforms-add-current-timestamp"></a>

 Mit der Transformation **Hinzufügen aktueller Zeitstempel** können Sie die Zeilen mit dem Zeitpunkt markieren, an dem die Daten verarbeitet wurden. Dies ist für Prüfzwecke oder zum Verfolgen der Latenz in der Datenpipeline nützlich. Sie können diese neue Spalte als Zeitstempel-Datentyp oder als formatierte Zeichenfolge hinzufügen. 

**So fügen Sie eine Transformation zum Hinzufügen aktueller Zeitstempel hinzu:**

1. Öffnen Sie das Ressourcen-Bedienfeld und wählen Sie dann **Hinzufügen aktueller Zeitstempel** aus, um Ihrem Auftragsdiagramm eine neue Transformation hinzuzufügen. Der Knoten, der zum Zeitpunkt des Hinzufügens ausgewählt wurde, ist sein übergeordneter Knoten. 

1. Geben Sie auf der Registerkarte **Knoteneigenschaften** einen Namen für den Knoten im Auftragsdiagramm ein. Falls noch kein übergeordneter Knoten ausgewählt ist, wählen Sie in der Liste Node parents (Übergeordnete Knoten) einen Knoten aus, der als Eingabequelle für die Transformation verwendet werden soll.  
![\[Der Screenshot zeigt die Registerkarte Transformation für die Transformation zum Hinzufügen aktueller Zeitstempel.\]](http://docs.aws.amazon.com/de_de/glue/latest/dg/images/transforms-add-current-timestamp-transform-tab.png)

1. (Optional) Geben Sie auf der Registerkarte **Transformieren** einen benutzerdefinierten Namen für die neue Spalte und ein Format ein, wenn die Spalte lieber eine formatierte Datumszeichenfolge sein soll.

# Verwenden der Transformation „Zeilen zu Spalten pivotieren“
<a name="transforms-pivot-rows-to-columns"></a>

 Mit der Transformation **Zeilen zu Spalten pivotieren** können Sie eine numerische Spalte aggregieren, indem Sie eindeutige Werte in ausgewählten Spalten rotieren, die zu neuen Spalten werden (wenn mehrere Spalten ausgewählt sind, werden die Werte verkettet, um die neuen Spalten zu benennen). Auf diese Weise werden Zeilen konsolidiert und gleichzeitig mehr Spalten mit teilweisen Aggregationen für jeden einzelnen Wert vorhanden. Wenn Sie beispielsweise über diesen Datensatz mit Verkäufen nach Monat und Land verfügen (zur einfacheren Veranschaulichung sortiert): 


| Jahr | Monat | country | Betrag | 
| --- | --- | --- | --- | 
| 2020 | . Jan. | uk | 32 | 
| 2020 | . Jan. | de | 42 | 
| 2020 | . Jan. | wir | 64 | 
| 2020 | Februar | uk | 67 | 
| 2020 | Februar | de | 4 | 
| 2020 | Februar | de | 7 | 
| 2020 | Februar | wir | 6 | 
| 2020 | Februar | wir | 12 | 
| 2020 | . Jan. | wir | 90 | 

 Wenn Sie **amount** (Betrag) und **country** (Land) als Aggregationsspalten pivotieren, werden aus der ursprünglichen **country**-Spalte neue Spalten erstellt. In der folgenden Tabelle gibt es neue Spalten für **de**, **uk** und **us** anstelle der Spalte **country** (Land). 


| Jahr | Monat | de | uk | wir | 
| --- | --- | --- | --- | --- | 
| 2020 | . Jan. | 42 | 32 | 64 | 
| 2020 | . Jan. | 11 | 67 | 18 | 
| 2021 | . Jan. |  |  | 90 | 

 Wenn Sie stattdessen sowohl den Monat als auch den Landkreis pivotieren möchten, erhalten Sie eine Spalte für jede Kombination der Werte dieser Spalten: 


| Jahr | Jan\$1de | Jan\$1uk | Jan\$1us | Feb\$1de | Feb\$1uk | Feb\$1us | 
| --- | --- | --- | --- | --- | --- | --- | 
| 2020 | 42 | 32 | 64 | 11 | 67 | 18 | 
| 2021 |  |  | 90 |  |  |  | 

**So fügen Sie eine Transformation vom Typ „Zeilen zu Spalten pivotieren“ hinzu:**

1. Öffnen Sie das Ressourcen-Bedienfeld und wählen Sie **Zeilen zu Spalten pivotieren** aus, um Ihrem Auftrag eine neue Transformation hinzuzufügen. Der Knoten, der zum Zeitpunkt des Hinzufügens ausgewählt wurde, ist sein übergeordneter Knoten.

1. Geben Sie auf der Registerkarte **Knoteneigenschaften** einen Namen für den Knoten im Auftragsdiagramm ein. Falls noch kein übergeordneter Knoten ausgewählt ist, wählen Sie in der Liste Node parents (Übergeordnete Knoten) einen Knoten aus, der als Eingabequelle für die Transformation verwendet werden soll.

1. Wählen Sie auf der Registerkarte **Transformation** die numerische Spalte, die aggregiert werden soll, um die Werte für die neuen Spalten zu erzeugen. Wählen Sie die anzuwendende Aggregationsfunktion und die Spalte(n), deren eindeutige Werte in neue Spalten umgewandelt werden sollen.  
![\[Der Screenshot zeigt die Registerkarte „Transformieren“ für die Transformation „Zeilen zu Spalten pivotieren“.\]](http://docs.aws.amazon.com/de_de/glue/latest/dg/images/transforms-pivot-rows-to-columns-transform-tab.png)

# Verwendung der Transformation „Spalten in Zeilen entpivotieren“
<a name="transforms-unpivot-columns-to-rows"></a>

 Mit der Transformation **Entpivotieren** können Sie Spalten in Werte neuer Spalten umwandeln und für jeden eindeutigen Wert eine Zeile generieren. Es ist das Gegenteil von Pivotieren, beachten Sie jedoch, dass es nicht gleichwertig ist, da es Zeilen mit identischen Werten, die aggregiert wurden, oder Aufteilungskombinationen nicht in die ursprünglichen Spalten trennen kann (das können Sie später mithilfe einer Aufteilungstransformation tun). Angenommen, Sie haben die folgende Tabelle: 


| Jahr | Monat | de | uk | wir | 
| --- | --- | --- | --- | --- | 
| 2020 | . Jan. | 42 | 32 | 64 | 
| 2020 | Februar | 11 | 67 | 18 | 
| 2021 | . Jan. |  |  | 90 | 

 Sie können die Spalten „de“, „uk“ und „us“ in eine Spalte „country“ mit dem Wert „amount“ entpivotieren und erhalten Folgendes (hier zur Veranschaulichung sortiert): 


| Jahr | Monat | country | Betrag | 
| --- | --- | --- | --- | 
| 2020 | . Jan. | uk | 32 | 
| 2020 | . Jan. | de | 42 | 
| 2020 | . Jan. | wir | 64 | 
| 2020 | Februar | uk | 67 | 
| 2020 | Februar | de | 11 | 
| 2020 | Februar | wir | 18 | 
| 2021 | . Jan. | wir | 90 | 

 Beachten Sie, dass die Spalten mit einem NULL-Wert („de“ und „uk of Jan 2021“) standardmäßig nicht generiert werden. Sie können diese Option aktivieren, um Folgendes zu erhalten: 


| Jahr | Monat | country | Betrag | 
| --- | --- | --- | --- | 
| 2020 | . Jan. | uk | 32 | 
| 2020 | . Jan. | de | 42 | 
| 2020 | . Jan. | wir | 64 | 
| 2020 | Februar | uk | 67 | 
| 2020 | Februar | de | 11 | 
| 2020 | Februar | wir | 18 | 
| 2021 | . Jan. | wir | 90 | 
| 2021 | . Jan. | de |  | 
| 2021 | . Jan. | uk |  | 

**So fügen Sie eine Transformation zum Entpivotieren von Spalten in Zeilen hinzu:**

1. Öffnen Sie das Ressourcen-Bedienfeld und wählen Sie **Spalten in Zeilen entpivotieren** aus, um Ihrem Auftragsdiagramm eine neue Transformation hinzuzufügen. Der Knoten, der zum Zeitpunkt des Hinzufügens ausgewählt wurde, ist sein übergeordneter Knoten.

1. Geben Sie auf der Registerkarte **Knoteneigenschaften** einen Namen für den Knoten im Auftragsdiagramm ein. Falls noch kein übergeordneter Knoten ausgewählt ist, wählen Sie in der Liste Node parents (Übergeordnete Knoten) einen Knoten aus, der als Eingabequelle für die Transformation verwendet werden soll.

1. Geben Sie auf der Registerkarte **Transformieren** die neuen Spalten ein, die erstellt werden sollen, um die Namen und Werte der zum Aufheben der Pivotierung ausgewählten Spalten aufzunehmen.  
![\[Der Screenshot zeigt die Registerkarte Transformieren für die Transformation Spalten zu Zeilen entpivotieren.\]](http://docs.aws.amazon.com/de_de/glue/latest/dg/images/transforms-unpivot-columns-to-rows-transform-tab.png)

# Nutzung der Transformation der Autobalance-Verarbeitung zur Optimierung Ihrer Laufzeit
<a name="transforms-autobalance-processing"></a>

 Die Transformation **Autobalance-Verarbeitung** verteilt die Daten zwischen den Workern neu, um die Leistung zu verbessern. Dies hilft in Fällen, in denen die Daten unausgeglichen sind oder aufgrund ihrer Quelle keine ausreichende Parallelverarbeitung möglich ist. Dies ist häufig der Fall, wenn die Quelle GZIP-komprimiert oder JDBC ist. Die Neuverteilung von Daten verursacht geringe Leistungseinbußen, sodass die Optimierung diesen Aufwand möglicherweise nicht immer kompensiert, wenn die Daten bereits gut abgeglichen sind. Darunter verwendet die Transformation die Neupartitionierung von Apache Spark, um Daten nach dem Zufallsprinzip einer Reihe von Partitionen zuzuordnen, die für die Cluster-Kapazität optimal sind. Für fortgeschrittene Benutzer besteht die Möglichkeit, mehrere Partitionen manuell einzugeben. Darüber hinaus kann es zur Optimierung des Schreibens partitionierter Tabellen verwendet werden, indem die Daten basierend auf angegebenen Spalten neu organisiert werden. Dies führt zu konsolidierteren Ausgabedateien. 

****

1. Öffnen Sie das Ressourcen-Bedienfeld und wählen Sie **Autobalance-Verarbeitung** aus, um Ihrem Auftragsdiagramm eine neue Transformation hinzuzufügen. Der Knoten, der zum Zeitpunkt des Hinzufügens ausgewählt wurde, ist sein übergeordneter Knoten.

1. Geben Sie auf der Registerkarte **Knoteneigenschaften** einen Namen für den Knoten im Auftragsdiagramm ein. Falls noch kein übergeordneter Knoten ausgewählt ist, wählen Sie in der Liste Node parents (Übergeordnete Knoten) einen Knoten aus, der als Eingabequelle für die Transformation verwendet werden soll.

1. (Optional) Auf der Registerkarte **Transformation** können Sie eine Reihe von Partitionen eingeben. Im Allgemeinen wird empfohlen, diesen Wert dem System zu überlassen. Sie können jedoch den Multiplikator anpassen oder einen bestimmten Wert eingeben, wenn Sie dies steuern müssen. Wenn Sie die Daten nach Spalten partitioniert speichern möchten, können Sie dieselben Spalten als Neupartitionierungsspalten auswählen. Auf diese Weise wird die Anzahl der Dateien auf jeder Partition minimiert und vermieden, dass viele Dateien pro Partition vorhanden sind, was die Leistung der Tools, die diese Daten abfragen, beeinträchtigen würde.  
![\[Der Screenshot zeigt die Registerkarte Transformation für die Transformation Autobalance-Verarbeitung.\]](http://docs.aws.amazon.com/de_de/glue/latest/dg/images/transforms-autobalance-processing-transform-tab.png)

# Verwendung der Transformation für abgeleitete Spalten zum Kombinieren anderer Spalten
<a name="transforms-derived-column"></a>

 Mit der Transformation für **Abgeleitete Spalten** können Sie eine neue Spalte basierend auf einer mathematischen Formel oder einem SQL-Ausdruck definieren, in der Sie andere Spalten in den Daten sowie Konstanten und Literale verwenden können. Um beispielsweise eine „Prozent“-Spalte aus den Spalten „Erfolg“ und „Zähler“ abzuleiten, können Sie den SQL-Ausdruck eingeben: „Erfolg \$1 100 / Zähler \$1\$1 '%'“. 

 Beispielergebnis: 


| Erfolg | count | percentage | 
| --- | --- | --- | 
| 14 | 100 | 14% | 
| 6 | 20 | 3% | 
| 3 | 40 | 7,5% | 

**So fügen Sie eine Transformation für abgeleitete Spalten hinzu:**

1. Öffnen Sie das Ressourcen-Bedienfeld und wählen Sie **Abgeleitete Spalte** aus, um Ihrem Auftragsdiagramm eine neue Transformation hinzuzufügen. Der Knoten, der zum Zeitpunkt des Hinzufügens ausgewählt wurde, ist sein übergeordneter Knoten.

1. Geben Sie auf der Registerkarte **Knoteneigenschaften** einen Namen für den Knoten im Auftragsdiagramm ein. Falls noch kein übergeordneter Knoten ausgewählt ist, wählen Sie in der Liste Node parents (Übergeordnete Knoten) einen Knoten aus, der als Eingabequelle für die Transformation verwendet werden soll.

1. Geben Sie auf der Registerkarte **Transformation** den Namen der Spalte und den Ausdruck für deren Inhalt ein.  
![\[Der Screenshot zeigt die Registerkarte Transformation für die Transformation für abgeleitete Spalten.\]](http://docs.aws.amazon.com/de_de/glue/latest/dg/images/transforms-dervied-column-transform-tab.png)

# Nutzung der Transformation Nachschlagen zum Hinzufügen übereinstimmender Daten aus einer Katalogtabelle
<a name="transforms-lookup"></a>

 Mit der Transformation **Nachschlagen** können Sie Spalten aus einer definierten Katalogtabelle hinzufügen, wenn die Schlüssel mit den definierten Nachschlagsspalten in den Daten übereinstimmen. Dies entspricht der Durchführung einer Left-Outer-Zusammenführung zwischen den Daten und der Nachschlagetabelle unter Verwendung von Spalten als Bedingungsübereinstimmung. 

**So fügen Sie eine Transformation vom Typ Nachschlagen hinzu:**

1. Öffnen Sie das Ressourcen-Bedienfeld und wählen Sie **Nachschlagen** aus, um Ihrem Auftragsdiagramm eine neue Transformation hinzuzufügen. Der Knoten, der zum Zeitpunkt des Hinzufügens ausgewählt wurde, ist sein übergeordneter Knoten.

1. Geben Sie auf der Registerkarte **Knoteneigenschaften** einen Namen für den Knoten im Auftragsdiagramm ein. Falls noch kein übergeordneter Knoten ausgewählt ist, wählen Sie in der Liste Node parents (Übergeordnete Knoten) einen Knoten aus, der als Eingabequelle für die Transformation verwendet werden soll.

1. Geben Sie auf der Registerkarte **Transformation** den vollständig qualifizierten Katalogtabellennamen ein, der zum Durchführen der Suchvorgänge verwendet werden soll. Wenn Ihre Datenbank beispielsweise „mydb“ und Ihre Tabelle „mytable“ ist, geben Sie „mydb.mytable“ ein. Geben Sie dann die Kriterien ein, um in der Nachschlagetabelle eine Übereinstimmung zu finden, sofern der Nachschlageschlüssel zusammengesetzt ist. Geben Sie die Liste der Schlüsselspalten durch Kommas getrennt ein. Wenn eine oder mehrere der Schlüsselspalten nicht den gleichen Namen haben, müssen Sie die Übereinstimmungszuordnung definieren. 

   Wenn die Datenspalten beispielsweise “user\$1id” und “region” lauten und in der Tabelle Benutzer die entsprechenden Spalten “id” und “region“ heißen, geben Sie in das Feld **Abzugleichende Spalten** ein: ”user\$1id=id, region“. Sie könnten region=region verwenden, dies ist jedoch nicht erforderlich, da beide identisch sind.

1. Geben Sie abschließend die Spalten ein, die aus der in der Nachschlagetabelle übereinstimmenden Zeile übernommen werden sollen, um sie in die Daten zu integrieren. Wenn keine Übereinstimmung gefunden wurde, werden diese Spalten auf NULL gesetzt.
**Anmerkung**  
Unterhalb der Transformation **Nachschlagen** wird aus Effizienzgründen eine linke Zusammenführung verwendet. Wenn die Nachschlagetabelle über einen zusammengesetzten Schlüssel verfügt, stellen Sie sicher, dass die abzugleichenden Spalten so eingerichtet sind, dass sie mit allen Schlüsselspalten übereinstimmen, sodass nur eine Übereinstimmung erfolgen kann. Andernfalls werden mehrere Nachschlagezeilen übereinstimmen, was dazu führt, dass für jede dieser Übereinstimmungen zusätzliche Zeilen hinzugefügt werden.  
![\[Der Screenshot zeigt die Registerkarte Transformation für die Transformation Nachschlagen.\]](http://docs.aws.amazon.com/de_de/glue/latest/dg/images/transforms-lookup-transform-tab.png)

# Verwendung der Transformation „Array auflösen oder in Zeilen zuordnen“
<a name="transforms-explode-array"></a>

 Mit der Transformation **Auflösen** können Sie Werte aus einer verschachtelten Struktur in einzelne Zeilen extrahieren, die leichter zu bearbeiten sind. Im Fall eines Arrays generiert die Transformation eine Zeile für jeden Wert des Arrays und repliziert die Werte für die anderen Spalten in der Zeile. Im Falle einer Zuordnung generiert die Transformation für jeden Eintrag eine Zeile mit dem Schlüssel und dem Wert als Spalten sowie allen anderen Spalten in der Zeile. 

 Wenn wir beispielsweise diesen Datensatz haben, der eine „Kategorie“-Arrayspalte mit mehreren Werten enthält. 


| product\$1id | category | 
| --- | --- | 
| 1 | [sports, winter] | 
| 2 | [garden, tools] | 
| 3 | [videogames] | 
| 4 | [game, boardgame, social] | 
| 5 | [] | 

 Wenn Sie die Spalte „Kategorie“ in eine Spalte mit demselben Namen auflösen, überschreiben Sie die Spalte. Sie können wählen, ob Sie Folgendes NULLs enthalten möchten, um Folgendes zu erhalten (zur Veranschaulichung bestellt): 


| product\$1id | category | 
| --- | --- | 
| 1 | sports | 
| 1 | winter | 
| 2 | garden | 
| 2 | tool | 
| 3 | videogames | 
| 4 | game | 
| 4 | boardgame | 
| 4 | social | 
| 5 |  | 

**So fügen Sie eine Transformation vom Typ „Array auflösen oder in Zeilen zuordnen“ hinzu:**

1. Öffnen Sie das Ressourcen-Bedienfeld und wählen Sie **Array auflösen oder in Zeilen zuordnen** aus, um Ihrem Auftragsdiagramm eine neue Transformation hinzuzufügen. Der Knoten, der zum Zeitpunkt des Hinzufügens ausgewählt wurde, ist sein übergeordneter Knoten.

1. Geben Sie auf der Registerkarte **Knoteneigenschaften** einen Namen für den Knoten im Auftragsdiagramm ein. Falls noch kein übergeordneter Knoten ausgewählt ist, wählen Sie in der Liste Node parents (Übergeordnete Knoten) einen Knoten aus, der als Eingabequelle für die Transformation verwendet werden soll.

1. Wählen Sie auf der Registerkarte **Transformation** die Spalte aus, die Sie auflösen möchten (es muss sich um ein Array oder eine Zuordnung handeln). Geben Sie dann einen Namen für die Spalte für die Elemente des Arrays oder die Namen der Spalten für die Schlüssel und Werte ein, wenn Sie eine Zuordnung auflösen.

1. (Optional) Wenn auf der Registerkarte **Transformation** die aufzulösende Spalte NULL ist oder eine leere Struktur hat, wird sie im aufgelösten Datensatz standardmäßig weggelassen. Wenn Sie die Zeile beibehalten möchten (mit den neuen Spalten als NULL), aktivieren Sie „Einschließen NULLs“.  
![\[Der Screenshot zeigt die Registerkarte Transformation für die Transformation „Array auflösen oder in Zeilen zuordnen“.\]](http://docs.aws.amazon.com/de_de/glue/latest/dg/images/transforms-explode-array-transform-tab.png)

# Verwendung der Transformation Datensatzabgleich zum Aufrufen einer vorhandenen Datenklassifizierungstransformation
<a name="transforms-record-matching"></a>

Diese Transformation ruft eine vorhandene übereinstimmende Machine-Learning-Transformation zur Datenklassifizierung auf.

Die Transformation wertet die aktuellen Daten anhand des trainierten Modells anhand von Bezeichnungen aus. Eine Spalte „match\$1id“ wird hinzugefügt, um jede Zeile einer Gruppe von Elementen zuzuordnen, die basierend auf dem Algorithmustraining als gleichwertig gelten. Weitere Informationen finden Sie unter [Datensatzabgleich mit Lake Formation FindMatches](https://docs.aws.amazon.com/glue/latest/dg/machine-learning.html).

**Anmerkung**  
Die vom Visual-Job AWS Glue verwendete Version von muss mit der Version übereinstimmen, die zur Erstellung der Transformation für den Datensatzabgleich AWS Glue verwendet wurde.

![\[Der Screenshot zeigt eine Datenvorschau für die Transformation.\]](http://docs.aws.amazon.com/de_de/glue/latest/dg/images/recording-matching-transform-1.png)


**So fügen Sie Ihrem Auftragsdiagramm einen Transformationsknoten für den Datensatzabgleich hinzu**

1. Öffnen Sie das Ressourcen-Bedienfeld und wählen Sie **Datensatzabgleich** aus, um Ihrem Auftragsdiagramm eine neue Transformation hinzuzufügen. Der Knoten, der zum Zeitpunkt des Hinzufügens ausgewählt wurde, ist sein übergeordneter Knoten.

1. Im Bereich Knoteneigenschaften können Sie einen Namen für den Knoten im Auftragsdiagramm eingeben. Falls noch kein übergeordneter Knoten ausgewählt ist, wählen Sie in der Liste **Node parents (Übergeordnete Knoten)** einen Knoten aus, der als Eingabequelle für die Transformation verwendet werden soll.

1. Geben Sie auf der Registerkarte **Transformation** die ID ein, die Sie auf der Seite **Machine-Learning-Transformationen** finden:  
![\[Der Screenshot zeigt die ID auf der Seite Machine-Learning-Transformationen.\]](http://docs.aws.amazon.com/de_de/glue/latest/dg/images/recording-matching-transform-2.png)

1. (Optional) Auf der Registerkarte **Transformation** können Sie die Option zum Hinzufügen von Konfidenzwerten aktivieren. Auf Kosten zusätzlicher Rechenleistung schätzt das Modell eine Konfidenzbewertung für jede übereinstimmende Übereinstimmung in einer zusätzlichen Spalte.

# Nullzeilen entfernen
<a name="transforms-remove-null-rows"></a>

Diese Transformation entfernt aus dem Datensatz Zeilen, deren Spalten alle Null sind. Darüber hinaus können Sie dieses Kriterium auf leere Felder erweitern, um Zeilen beizubehalten, in denen mindestens eine Spalte nicht leer ist.

**So fügen Sie Ihrem Auftragsdiagramm einen Transformationsknoten Nullzeilen entfernen hinzu**

1. Öffnen Sie das Ressourcen-Bedienfeld und wählen Sie **Nullzeilen entfernen** aus, um Ihrem Auftragsdiagramm eine neue Transformation hinzuzufügen. Der Knoten, der zum Zeitpunkt des Hinzufügens ausgewählt wurde, ist sein übergeordneter Knoten.

1. Im Bereich Knoteneigenschaften können Sie einen Namen für den Knoten im Auftragsdiagramm eingeben. Falls noch kein übergeordneter Knoten ausgewählt ist, wählen Sie in der Liste **Node parents (Übergeordnete Knoten)** einen Knoten aus, der als Eingabequelle für die Transformation verwendet werden soll.

1. (Optional) Aktivieren Sie auf der Registerkarte **Transformieren** die Option **Erweitert**, wenn Sie möchten, dass Zeilen nicht nur nicht null, sondern auch nicht leer sind. Auf diese Weise werden leere Zeichenfolgen, Arrays oder Karten für diese Transformation als Nullen betrachtet.

# Parsen einer Zeichenfolgenspalte mit JSON-Daten
<a name="transforms-parse-json-column"></a>

Diese Transformation analysiert eine Zeichenfolgenspalte mit JSON-Daten und konvertiert sie in eine Struktur- oder Array-Spalte, je nachdem, ob es sich bei JSON um ein Objekt oder ein Array handelt. Optional können Sie sowohl die analysierte als auch die ursprüngliche Spalte beibehalten.

Das JSON-Schema kann mit optionaler Stichprobenauswahl bereitgestellt oder abgeleitet werden (im Fall von JSON-Objekten).

**So fügen Sie Ihrem Auftragsdiagramm einen Knoten zum Parsen von JSON-Spalten hinzu**

1. Öffnen Sie das Ressourcen-Bedienfeld und wählen Sie **JSON-Spalte parsen** aus, um Ihrem Auftragsdiagramm eine neue Transformation hinzuzufügen. Der Knoten, der zum Zeitpunkt des Hinzufügens ausgewählt wurde, ist sein übergeordneter Knoten.

1. Im Bereich Knoteneigenschaften können Sie einen Namen für den Knoten im Auftragsdiagramm eingeben. Falls noch kein übergeordneter Knoten ausgewählt ist, wählen Sie in der Liste **Node parents (Übergeordnete Knoten)** einen Knoten aus, der als Eingabequelle für die Transformation verwendet werden soll.

1. Wählen Sie auf der Registerkarte **Transformation** die Spalte aus, die die JSON-Zeichenfolge enthält.

1. (Optional) Geben Sie auf der Registerkarte **Transformation** das Schema ein, dem die JSON-Daten folgen, und verwenden Sie dazu die SQL-Syntax, zum Beispiel: „field1 STRING, field2 INT“ im Fall eines Objekts oder „ARRAY<STRING>“ im Fall eines Arrays.

   Im Falle eines Arrays ist das Schema erforderlich, im Falle eines Objekts jedoch, wenn das Schema nicht angegeben ist, wird es anhand der Daten abgeleitet. Um die Auswirkungen der Ableitung des Schemas zu verringern (insbesondere bei einem großen Datensatz), können Sie das doppelte Lesen der gesamten Daten vermeiden, indem Sie ein **Verhältnis der Stichproben eingeben, die zum Ableiten des Schemas** verwendet werden sollen. Wenn der Wert kleiner als 1 ist, wird das entsprechende Verhältnis der Zufallsstichproben zur Ableitung des Schemas verwendet. Wenn die Daten zuverlässig sind und das Objekt zwischen den Zeilen konsistent ist, können Sie ein kleines Verhältnis wie 0,1 verwenden, um die Leistung zu verbessern.

1. (Optional) Auf der Registerkarte **Transformation** können Sie einen neuen Spaltennamen eingeben, wenn Sie sowohl die ursprüngliche Zeichenfolge-Spalte als auch die geparste Spalte beibehalten möchten.

# Extrahieren eines JSON-Pfads
<a name="transforms-extract-json-path"></a>

Diese Transformation extrahiert neue Spalten aus einer JSON-Zeichenfolgenspalte. Diese Transformation ist nützlich, wenn Sie nur wenige Datenelemente benötigen und nicht den gesamten JSON-Inhalt in das Tabellenschema importieren möchten.

**So fügen Sie Ihrem Auftragsdiagramm einen Knoten für die Transformation vom Typ JSON-Pfad extrahieren hinzu**

1. Öffnen Sie das Ressourcen-Bedienfeld und wählen Sie **JSON-Pfad extrahieren** aus, um Ihrem Auftragsdiagramm eine neue Transformation hinzuzufügen. Der Knoten, der zum Zeitpunkt des Hinzufügens ausgewählt wurde, ist sein übergeordneter Knoten.

1. Im Bereich Knoteneigenschaften können Sie einen Namen für den Knoten im Auftragsdiagramm eingeben. Falls noch kein übergeordneter Knoten ausgewählt ist, wählen Sie in der Liste **Node parents (Übergeordnete Knoten)** einen Knoten aus, der als Eingabequelle für die Transformation verwendet werden soll.

1. Wählen Sie auf der Registerkarte **Transformation** die Spalte aus, die die JSON-Zeichenfolge enthält. Geben Sie einen oder mehrere durch Kommas getrennte JSON-Pfadausdrücke ein, die jeweils darauf verweisen, wie ein Wert aus dem JSON-Array oder -Objekt extrahiert wird. Wenn die JSON-Spalte beispielsweise Objekte mit den Eigenschaften „prop\$11“ und „prop2“ enthält, können Sie beide extrahieren und dabei ihre Namen „prop\$11, prop\$12“ angeben.

   Wenn das JSON-Feld Sonderzeichen enthält, können Sie beispielsweise zum Extrahieren der Eigenschaft aus diesem JSON `{"a. a": 1}` den Pfad `$['a. a']` verwenden. Die Ausnahme bildet das Komma, da es der Trennung von Pfaden vorbehalten ist. Geben Sie anschließend für jeden Pfad die entsprechenden Spaltennamen ein, getrennt durch Kommas.

1. (Optional) Auf der Registerkarte **Transformation** können Sie aktivieren, dass die JSON-Spalte nach der Extraktion gelöscht wird. Dies ist sinnvoll, wenn Sie den Rest der JSON-Daten nicht mehr benötigen, nachdem Sie die benötigten Teile extrahiert haben.

# Extrahieren von Zeichenfolgenfragmenten mithilfe eines regulären Ausdrucks
<a name="transforms-regex-extractor"></a>

Diese Transformation extrahiert Zeichenfolgenfragmente mithilfe eines regulären Ausdrucks und erstellt daraus eine neue Spalte oder mehrere Spalten bei Verwendung von Regex-Gruppen.

**So fügen Sie Ihrem Auftrag einen Knoten zum Transformieren des Regex-Extraktors hinzu**

1. Öffnen Sie das Ressourcen-Bedienfeld und wählen Sie **Regex-Extraktor** aus, um Ihrem Auftragsdiagramm eine neue Transformation hinzuzufügen. Der Knoten, der zum Zeitpunkt des Hinzufügens ausgewählt wurde, ist sein übergeordneter Knoten.

1. Im Bereich Knoteneigenschaften können Sie einen Namen für den Knoten im Auftragsdiagramm eingeben. Falls noch kein übergeordneter Knoten ausgewählt ist, wählen Sie in der Liste **Node parents (Übergeordnete Knoten)** einen Knoten aus, der als Eingabequelle für die Transformation verwendet werden soll.

1. Geben Sie auf der Registerkarte **Transformieren** den regulären Ausdruck und die Spalte ein, auf die er angewendet werden soll. Geben Sie dann den Namen der neuen Spalte ein, in der die passende Zeichenfolge gespeichert werden soll. Die neue Spalte ist nur dann null, wenn die Quellspalte null ist. Wenn der Regex nicht übereinstimmt, ist die Spalte leer.

   Wenn der Regex Gruppen verwendet, muss ein entsprechender durch Komma getrennter Spaltenname vorhanden sein. Sie können Gruppen jedoch überspringen, indem Sie den Spaltennamen leer lassen.

   Wenn Sie beispielsweise eine Spalte „purchase\$1date“ mit einer Zeichenfolge haben, die sowohl lange als auch kurze ISO-Datumsformate verwendet, dann möchten Sie Jahr, Monat, Tag und Stunde extrahieren, sofern verfügbar. Beachten Sie, dass die Stundengruppe optional ist. Andernfalls wären in den Zeilen, in denen sie nicht verfügbar ist, alle extrahierten Gruppen leere Zeichenfolgen (da der Regex nicht übereinstimmt). In diesem Fall möchten wir nicht, dass die Gruppe die Zeit optional macht, sondern die innere. Deshalb lassen wir den Namen leer und er wird nicht extrahiert (diese Gruppe würde das T-Zeichen enthalten).  
![\[Der Screenshot zeigt die Konfiguration eines regulären Ausdrucks für den Regex-Extraktor.\]](http://docs.aws.amazon.com/de_de/glue/latest/dg/images/regex-extractor-1.png)

   Ergebnis der Datenvorschau:  
![\[Der Screenshot zeigt die Konfiguration einer Datenvorschau für den Regex-Extraktor.\]](http://docs.aws.amazon.com/de_de/glue/latest/dg/images/regex-extractor-2.png)

# Erstellen einer benutzerdefinierten Transformation
<a name="transforms-custom"></a>

Wenn Sie kompliziertere Transformationen für Ihre Daten durchführen müssen oder dem Datensatz Dateneigenschaftsschlüssel hinzufügen möchten, können Sie eine Transformation für **benutzerdefinierten Code (Custom code)** im Auftragsdiagramm hinzufügen. Mit dem Knoten „Custom code“ können Sie ein Skript eingeben, das die Transformation durchführt. 

Wenn Sie benutzerdefinierten Code verwenden, müssen Sie die Änderungen, die durch den benutzerdefinierten Code an der Ausgabe vorgenommen werden, mit einem Schema-Editor angeben. Beim Bearbeiten des Schemas können Sie:
+ Dateneigenschaftsschlüssel hinzufügen oder entfernen;
+ den Datentyp von Dateneigenschaftsschlüsseln ändern;
+ den Namen von Dateneigenschaftsschlüsseln ändern;
+ einen verschachtelten Eigenschaftsschlüssel umstrukturieren.

Sie müssen eine *SelectFromCollection*Transformation verwenden, um eine einzelne `DynamicFrame` aus dem Ergebnis Ihres benutzerdefinierten Transformationsknotens auszuwählen, bevor Sie die Ausgabe an einen Zielort senden können. 

Mit den folgenden Aufgaben können Sie dem Auftragsdiagramm einen benutzerdefinierten Transformationsknoten hinzufügen.

## Hinzufügen eines Transformationsknotens mit benutzerdefiniertem Code zum Auftragsdiagramm
<a name="transforms-custom-addnode"></a>

**Dem Auftragsdiagramm einen benutzerdefinierten Transformationsknoten hinzufügen**

1. (Optional) Öffnen Sie das Bedienfeld Ressourcen und wählen Sie **Benutzerdefinierte Transformation** aus, um Ihrem Auftragsdiagramm eine benutzerdefinierte Transformation hinzuzufügen. 

1. Geben Sie auf der Registerkarte **Node properties (Knoteneigenschaften)** einen Namen für den Knoten im Auftragsdiagramm ein. Falls noch kein übergeordneter Knoten ausgewählt ist oder Sie mehrere Eingaben für die benutzerdefinierte Transformation wünschen, wählen Sie in der Liste **Node parents (Übergeordnete Knoten)** einen Knoten aus, der als Eingabequelle für die Transformation verwendet werden soll.

## Eingabe von Code für den benutzerdefinierten Transformationsknoten
<a name="transforms-custom-addcode"></a>

Sie können Code in ein Eingabefeld eingeben oder einfügen. Der Auftrag verwendet diesen Code für die Datentransformation. Sie können einen Codeausschnitt entweder in Python oder Scala bereitstellen. Der Code sollte einen oder mehrere `DynamicFrames` als Eingabe nehmen und mehrere `DynamicFrames` zurückgeben. 

**Das Skript für einen benutzerdefinierten Transformationsknoten eingeben**

1. Wenn der benutzerdefinierte Transformationsknoten im Auftragsdiagramm ausgewählt ist, wählen Sie die Registerkarte **Transform (Transformation)** aus. 

1. Im Texteingabefeld unter der Überschrift **Code block (Code-Block)** fügen bzw. geben Sie den Code für die Transformation ein. Der Code, den Sie verwenden, muss zur Sprache passen, die auf der Registerkarte **Job details (Auftragsdetails)** für den Auftrag angegeben ist.

   Wenn sich AWS Glue Studio auf die Eingabeknoten in Ihrem Code bezieht, benennt es die von den Auftragsdiagrammknoten zurückgegebenen `DynamicFrames` in der Reihenfolge der Erstellung. Verwenden Sie eines der folgenden Benennungsmethoden in Ihrem Code:
   + Klassische Codegenerierung — Verwenden Sie Funktionsnamen, um auf die Knoten in Ihrem Job-Diagramm zu verweisen.
     + Datenquellknoten: `DataSource0`, `DataSource1`, `DataSource2` usw.
     + Transformationsknoten: `Transform0`, `Transform1`, `Transform2` usw.
   + Neue Codegenerierung — Verwenden Sie den Namen, der auf der Registerkarte **Node properties (Knoteneigenschaften)** angegeben ist, angehängt mit '`_node1`','`_node2`', usw. Zum Beispiel: `S3bucket_node1`, `ApplyMapping_node2`, `S3bucket_node2`, `MyCustomNodeName_node1`.

   Weitere Informationen zum neuen Codegenerator finden Sie unter [Generierung des Skript-Code](job-editor-features.md#code-gen).

Die folgenden Beispiele zeigen das Format des Codes, der in das Codefeld eingegeben werden soll:

------
#### [ Python ]

Im folgenden Beispiel wird der erste erhaltene `DynamicFrame` zu einem `DataFrame` konvertiert, um die native Filtermethode anzuwenden (wobei nur Akten mit mehr als 1000 Stimmen beibehalten werden), und anschließend zurück zu einem `DynamicFrame` konvertiert und zurückgegeben.

```
def FilterHighVoteCounts (glueContext, dfc) -> DynamicFrameCollection:
    df = dfc.select(list(dfc.keys())[0]).toDF()
    df_filtered = df.filter(df["vote_count"] > 1000)
    dyf_filtered = DynamicFrame.fromDF(df_filtered, glueContext, "filter_votes")
    return(DynamicFrameCollection({"CustomTransform0": dyf_filtered}, glueContext))
```

------
#### [ Scala ]

Im folgenden Beispiel wird der erste erhaltene `DynamicFrame` zu einem `DataFrame` konvertiert, um die native Filtermethode anzuwenden (wobei nur Akten mit mehr als 1000 Stimmen beibehalten werden), und anschließend zurück zu einem `DynamicFrame` konvertiert und zurückgegeben.

```
object FilterHighVoteCounts {
  def execute(glueContext : GlueContext, input : Seq[DynamicFrame]) : Seq[DynamicFrame] = {
    val frame = input(0).toDF()
    val filtered = DynamicFrame(frame.filter(frame("vote_count") > 1000), glueContext)
    Seq(filtered)
  }
}
```

------

## Bearbeiten des Schemas in einem benutzerdefinierten Transformationsknoten
<a name="transforms-custom-editschema"></a>

Wenn Sie einen benutzerdefinierten Transformationsknoten verwenden, kann AWS Glue Studio die von der Transformation erstellten Ausgabeschemata nicht automatisch ableiten. Sie verwenden den Schema-Editor, um die Schemaänderungen zu beschreiben, die vom benutzerdefinierten Transformationscode eingeführt werden.

Ein benutzerdefinierter Code-Knoten kann eine beliebige Anzahl von übergeordneten Knoten haben, die jeweils einen `DynamicFrame` als Eingabe für Ihren benutzerdefinierten Code bereitstellen. Ein benutzerdefinierter Code-Knoten gibt eine Sammlung von `DynamicFrames` zurück. Jeder `DynamicFrame`, der als Eingabe verwendet wird, besitzt ein zugehöriges Schema. Sie müssen ein Schema hinzufügen, das jeden einzelnen `DynamicFrame` beschreibt, der vom benutzerdefinierten Code-Knoten zurückgegeben wird. 

**Anmerkung**  
 Wenn Sie Ihr eigenes Schema für eine benutzerdefinierte Transformation festlegen, erbt AWS Glue Studio keine Schemas von früheren Knoten. Um das Schema zu aktualisieren, wählen Sie den Knoten „Benutzerdefinierte Transformation“ aus und wählen Sie dann die Registerkarte „Datenvorschau“. Sobald die Vorschau generiert wurde, wählen Sie „Vorschau-Schema verwenden“. Das Schema wird dann mithilfe der Vorschaudaten durch das Schema ersetzt. 

**Die Ausgabeschemata für einen benutzerdefinierten Transformationsknoten bearbeiten**

1. Wenn der benutzerdefinierte Transformationsknoten im Auftragsdiagramm ausgewählt ist, wählen Sie im Bereich mit den Knotendetails die Registerkarte **Output schema (Ausgabeschema)** aus. 

1. Wählen Sie **Edit (Bearbeiten)** aus, um Änderungen am Schema vorzunehmen. 

   Wenn Sie verschachtelte Dateneigenschaftsschlüssel haben, z. B. ein Array oder ein Objekt, können Sie mit dem Symbol für **Expand-Rows (Zeilen ausklappen)** (![\[\]](http://docs.aws.amazon.com/de_de/glue/latest/dg/images/expand-rows-icon.png)) oben rechts in den Schemafenstern die Liste der untergeordneten Dateneigenschaftsschlüssel ausklappen. Nachdem Sie dieses Symbol ausgewählt haben, ändert es sich zu **Collapse-Rows (Zeilen zuklappen)** (![\[\]](http://docs.aws.amazon.com/de_de/glue/latest/dg/images/collapse-rows-icon.png)), mit dem Sie die Liste der untergeordneten Eigenschaftsschlüssel zuklappen können.

1. Ändern Sie das Schema mithilfe der folgenden Aktionen im Abschnitt rechts auf der Seite:
   + Um einen Eigenschaftenschlüssel umzubenennen, bewegen Sie den Cursor in das Textfeld **Key (Schlüssel)** des jeweiligen Eigenschaftenschlüssels und geben Sie dann den neuen Namen ein.
   + Um den Datentyp eines Eigenschaftsschlüssels zu ändern, wählen Sie den neuen Datentyp für den Eigenschaftsschlüssel aus der Liste aus.
   + Um dem Schema einen neuen obersten Eigenschaftsschlüssel hinzuzufügen, wählen Sie das Symbol für **Overflow (Überlauf)** (![\[\]](http://docs.aws.amazon.com/de_de/glue/latest/dg/images/edit-schema-actions-button.png)) links von der Schaltfläche **Cancel (Abbrechen)** aus und dann **Add root key (Rootschlüssel hinzufügen)**.
   + Um dem Schema einen untergeordneten Eigenschaftsschlüssel hinzuzufügen, wählen Sie das Symbol für **Add-Key (Schlüssel hinzufügen)** (![\[\]](http://docs.aws.amazon.com/de_de/glue/latest/dg/images/filter-add-icon.png)) aus, das mit dem übergeordneten Schlüssel verknüpft ist. Geben Sie einen Namen für den untergeordneten Schlüssel ein und wählen Sie den Datentyp aus.
   + Um einen Eigenschaftsschlüssel aus dem Schema zu entfernen, wählen Sie das Symbol zum **Löschen (Remove)** (![\[\]](http://docs.aws.amazon.com/de_de/glue/latest/dg/images/delete-icon-black.png)) ganz rechts neben dem Schlüsselnamen aus. 

1. Wenn Ihr benutzerdefinierter Transformationscode mehrere `DynamicFrames` verwendet, können Sie zusätzliche Ausgabeschemata hinzufügen. 
   + Um ein neues leeres Schema hinzuzufügen, wählen Sie das Symbol für **Overflow (Überfluss)** (![\[\]](http://docs.aws.amazon.com/de_de/glue/latest/dg/images/edit-schema-actions-button.png)) und anschließend **Add output schema (Ausgabeschema hinzufügen)** aus.
   + Um ein vorhandenes Schema in ein neues Ausgabeschema zu kopieren, stellen Sie sicher, dass das zu kopierende Schema in der Schemaauswahl angezeigt wird. Wählen Sie das Symbol für **Overflow (Überfluss)** (![\[\]](http://docs.aws.amazon.com/de_de/glue/latest/dg/images/edit-schema-actions-button.png)) und anschließend **Duplicate (Duplizieren)** aus.

   Um ein Ausgabeschema zu löschen, stellen Sie sicher, dass das zu löschende Schema in der Schemaauswahl angezeigt wird. Wählen Sie das Symbol für **Overflow (Überfluss)** (![\[\]](http://docs.aws.amazon.com/de_de/glue/latest/dg/images/edit-schema-actions-button.png)) und anschließend **Delete (Löschen)** aus.

1. Fügen Sie dem neuen Schema neue Root-Schlüssel hinzu oder bearbeiten Sie die duplizierten Schlüssel. 

1. Wenn Sie die Ausgabeschemata modifizieren, wählen Sie die Schaltfläche **Apply (Anwenden)** aus, um die Änderungen zu speichern und den Schema-Editor zu verlassen.

   Wenn Sie Änderungen nicht speichern möchten, wählen Sie die Schaltfläche **Cancel (Abbrechen)** aus.

## Konfigurieren der benutzerdefinierten Transformationsausgabe
<a name="transforms-custom-output"></a>

Eine benutzerdefinierte Code-Transformation gibt eine Sammlung von `DynamicFrames` zurück, auch wenn es nur einen `DynamicFrame` in der Ergebnismenge gibt. 

**Die Ausgabe von einem benutzerdefinierten Transformationsknoten verarbeiten**

1. Fügen Sie einen *SelectFromCollection*Transformationsknoten hinzu, dessen übergeordneter Knoten der benutzerdefinierte Transformationsknoten ist. Aktualisieren Sie diese Transformation, um anzugeben, welchen Datensatz Sie verwenden möchten. Weitere Informationen finden Sie unter [Wird verwendet SelectFromCollection , um auszuwählen, welcher Datensatz beibehalten werden soll](transforms-configure-select-collection.md).

1. Fügen Sie dem Auftragsdiagramm zusätzliche *SelectFromCollection*Transformationen hinzu, wenn Sie zusätzliche Transformationen verwenden möchten, die vom benutzerdefinierten Transformationsknoten `DynamicFrames` erzeugt wurden. 

   So könnten Sie etwa einen benutzerdefinierten Transformationsknoten hinzufügen, der einen Flug-Datensatz in mehrere Datensätze aufteilt aber einige der identifizierenden Eigenschaftsschlüssel in den einzelnen Ausgabeschemata dupliziert, z. B. Flugdatum oder Flugnummer. Sie fügen für jedes Ausgabeschema einen *SelectFromCollection*Transformationsknoten hinzu, wobei der benutzerdefinierte Transformationsknoten der übergeordnete Knoten ist.

1. (Optional) Anschließend können Sie jeden *SelectFromCollection*Transformationsknoten als Eingabe für andere Knoten im Job oder als übergeordnetes Element für einen Datenzielknoten verwenden.