

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.

# Was ist AWS Glue?
<a name="what-is-glue"></a>

 AWS Glue ist ein Serverless-Datenintegrationsdienst, der es Analytics-Benutzern erleichtert, Daten aus mehreren Quellen zu erkennen, vorzubereiten, zu verschieben und zu integrieren. Sie können es für Analysen, Machine Learning und Anwendungsentwicklung verwenden. Es umfasst auch zusätzliche Produktivitäts- und Datenops-Tools für die Erstellung, Ausführung von Aufträgen und die Implementierung von Geschäftsabläufen. 

 Mit AWS Glue können Sie mehr als 70 verschiedene Datenquellen entdecken und sich mit ihnen verbinden sowie Ihre Daten in einem zentralen Datenkatalog verwalten. Sie können ETL-Pipelines (Extract, Transform, Load) visuell erstellen, ausführen und überwachen, um Daten in Ihre Date Lakes zu laden. Außerdem können Sie mithilfe von Amazon Athena, Amazon EMR und Amazon Redshift Spectrum sofort katalogisierte Daten durchsuchen und abfragen. 

 AWS Glue konsolidiert wichtige Datenintegrationsfunktionen in einem einzigen Service. Dazu gehören Data Discovery, moderne ETL, Bereinigung, Transformation und zentralisierte Katalogisierung. Es ist außerdem Serverless, was bedeutet, dass keine Infrastruktur verwaltet werden muss. Mit flexibler Unterstützung für alle Workloads wie ETL, ELT und Streaming in einem Service, unterstützt AWS GlueBenutzer über verschiedene Workloads und Benutzertypen hinweg. 

 Außerdem macht AWS Glue es einfach, Daten in Ihrer gesamten Architektur zu integrieren. Es lässt sich in AWS Analysedienste und Amazon S3 S3-Datenseen integrieren. AWS Glueverfügt über Integrationsschnittstellen und Tools zur Erstellung von Jobs, die für alle Benutzer, von Entwicklern bis hin zu Geschäftsanwendern, einfach zu bedienen sind und maßgeschneiderte Lösungen für unterschiedliche technische Fähigkeiten bieten. 

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


 Mit der Fähigkeit, bei Bedarf zu skalieren, hilft AWS Glue Ihnen, sich auf hochwertige Aktivitäten zu konzentrieren, die den Wert Ihrer Daten maximieren. Es skaliert für jede Datengröße und unterstützt alle Datentypen und Schemavarianzen. AWS GlueBietet integrierte Funktionen für hohe Verfügbarkeit und Abrechnung, um die Flexibilität zu erhöhen und die Kosten zu optimieren. pay-as-you-go 

Preisinformationen finden Sie unter [AWS Glue Preise](https://aws.amazon.com/glue/pricing).

 **AWS Glue Studio** 

 AWS Glue Studio ist eine grafische Oberfläche, mit der Sie Datenintegrationsaufträge in AWS Glue ganz einfach erstellen, ausführen und überwachen können. Sie können Workflows für die Datentransformation visuell erstellen und nahtlos auf der Apache-Spark-basierten Serverless-ETL-Engine in AWS Glue laufen lassen. 

Mit AWS Glue Studio können Sie Aufträge erstellen und verwalten, die Daten sammeln, transformieren und bereinigen. Sie können auch mit AWS Glue Studio Probleme beheben und Auftragsskripts bearbeiten. 

**Topics**
+ [AWS Glue-Features](#glue-features-summary)
+ [Erfahren Sie mehr über Innovationen in AWS Glue](#innovations-in-glue)
+ [Erste Schritte mit AWS Glue](#getting-started-with-glue)
+ [Zugriff auf AWS Glue](#accessing-aws-glue)
+ [Zugehörige Services](#what-is-glue-related-services)
+ [AWS Glue Ende des Supports für Ray](awsglue-ray-jobs-availability-change.md)

## AWS Glue-Features
<a name="glue-features-summary"></a>

AWS Glue-Features lassen sich in drei Hauptkategorien einteilen: 
+  Entdecken und organisieren von Daten 
+  Transformieren, vorbereiten und bereinigen von Daten für die Analyse 
+  Erstellen und Überwachen von Datenpipelines 

 **Entdecken und organisieren von Daten** 
+  **Vereinheitlichen und durchsuchen Sie mehrere Datenspeicher** — Speichern, indexieren und durchsuchen Sie mehrere Datenquellen und Datenspeicher, indem Sie all Ihre Daten katalogisieren. AWS
+  **Automatische Erkennung von Daten** – Verwendung von AWS Glue-Crawlern, um automatisch Schemainformationen abzuleiten und sie in Ihr AWS Glue Data Catalog zu integrieren. 
+  **Schemas und Berechtigungen verwalten** – Validieren und kontrollieren Sie den Zugriff auf Ihre Datenbanken und Tabellen. 
+  Stellen Sie **eine Connect zu einer Vielzahl von Datenquellen** her — Nutzen Sie mehrere Datenquellen, sowohl lokal als auch lokal AWS, und verwenden Sie AWS Glue Verbindungen, um Ihren Data Lake aufzubauen. 

 **Transformieren, vorbereiten und bereinigen von Daten für Analysen** 
+  **Visuelle Transformation von Daten mit der Canvas-Schnittstelle eines Auftrags** – Definieren Sie Ihren ETL-Prozess im visuellen Auftrags-Editor und generieren Sie automatisch den Code zum Extrahieren, Transformieren und Laden Ihrer Daten. 
+  **Erstellen Sie komplexe ETL-Pipelines mit einfacher Jobplanung** – Rufen Sie AWS Glue-Jobs nach einem Zeitplan, auf Anfrage oder basierend auf einem Ereignis auf. 
+  **Reinigen und transformieren Sie Streaming-Daten während der Übertragung** – Ermöglichen Sie kontinuierlichen Datenverbrauch und bereinigen und transformieren Sie ihn während der Übertragung. Dadurch steht es in Sekundenschnelle für Analysen in Ihrem Zieldatenspeicher zur Verfügung. 
+ **Daten deduplizieren und bereinigen mit integriertem Machine Learning** – Bereinigen und bereiten Sie Ihre Daten mit dem `FindMatches`-Feature für die Analyse vor, ohne Experte für Machine Learning zu werden. Dieses Feature dedupliziert und findet Datensätze, die nicht perfekt zueinander passen. 
+  **Integrierten Jobnotizbücher** – AWS Glue-Job-Notebooks bieten Serverless-Notebooks mit minimalem Setup in AWS Glue, damit Sie schnell loslegen können. 
+  **ETL-Code bearbeiten, debuggen und testen** – Mit AWS Glue-interaktiven Sitzungen können Sie interaktiv Daten erkunden und aufbereiten. Mit der IDE oder dem Notebook Ihrer Wahl können Sie Daten interaktiv erkunden, ausprobieren und verarbeiten. 
+  **Definieren, erkennen und korrigieren sensibler Daten** – Mit der Erkennung sensibler AWS Glue-Daten können Sie sensible Daten in Ihrer Datenpipeline und in Ihrem Data Lake definieren, identifizieren und verarbeiten. 

 **Erstellen und Überwachen von Datenpipelines** 
+  **Automatische Skalierung basierend auf Workload** – Skalieren Sie Ressourcen basierend auf der Arbeitslast dynamisch nach oben und unten. Dadurch werden Arbeitern nur bei Bedarf Jobs zugewiesen. 
+  **Automatisieren von Aufträgen mit ereignisbasierten Auslösern** – Starten Sie Crawler oder AWS Glue-Jobs mit ereignisbasierten Auslösern, und entwerfen Sie eine Kette untergeordneter Jobs und Crawler. 
+  **Ausführen und Überwachen von Aufträgen** – Führen Sie AWS Glue-Aufträge mit einer Engine Ihrer Wahl aus, Spark oder Ray. Überwachen Sie sie mit automatisierten Überwachungstools, Einblicken in die AWS Glue-Auftragsausführung und AWS CloudTrail. Verbessern Sie Ihre Überwachung von Spark-gestützten Aufträgen mit der Apache-Spark-Benutzeroberfläche.
+  **Definieren Sie Workflows für ETL- und Integrationsaktivitäten** – Definieren Sie Workflows für ETL und Integrationsaktivitäten für mehrere Crawler, Jobs und Auslöser. 

## Erfahren Sie mehr über Innovationen in AWS Glue
<a name="innovations-in-glue"></a>

Erfahren Sie mehr über die neuesten Innovationen AWS Glue und erfahren Sie, wie Kunden AWS Glue die Self-Service-Datenaufbereitung in ihrem gesamten Unternehmen nutzen.

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


Erfahren Sie, wie Kunden AWS Glue über das herkömmliche Setup hinaus skalieren und wie sie AWS Glue die Auftragsüberwachung und Leistung konfigurieren.

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


## Erste Schritte mit AWS Glue
<a name="getting-started-with-glue"></a>

 Wir empfehlen Ihnen, dass Sie mit den folgenden Abschnitten beginnen: 
+  [ Übersicht über die Verwendung von AWS Glue](https://docs.aws.amazon.com/glue/latest/dg/start-console-overview.html) 
+  [AWS Glue-Konzepte ](https://docs.aws.amazon.com/glue/latest/dg/components-key-concepts.html) 
+  [ Einrichten von IAM-Berechtigungen für AWS Glue](https://docs.aws.amazon.com/glue/latest/dg/set-up-iam.html) 
+  [ Erste Schritte mit dem AWS Glue Data Catalog](https://docs.aws.amazon.com/glue/latest/dg/start-data-catalog.html) 
+  [Erstellen von Aufträgen in AWS Glue](https://docs.aws.amazon.com/glue/latest/dg/author-job-glue.html) 
+  [ Erste Schritte mit AWS Glue interaktiven Sitzungen ](https://docs.aws.amazon.com/glue/latest/dg/interactive-sessions.html) 
+  [ Orchestrierung in AWS Glue](https://docs.aws.amazon.com/glue/latest/dg/etl-jobs.html) 

## Zugriff auf AWS Glue
<a name="accessing-aws-glue"></a>

 Mit den folgenden Schnittstellen können Sie Ihre AWS Glue-Jobs erstellen, einsehen und verwalten: 
+  **AWS Glue-Konsole** – Bietet Ihnen eine Webschnittstelle zum Erstellen, Anzeigen und Verwalten Ihrer AWS Glue-Jobs. Für den Zugriff auf die Konsole vgl. [https://console.aws.amazon.com/glue](https://console.aws.amazon.com/glue). 
+  **AWS Glue Studio**— Bietet eine grafische Oberfläche, über die Sie Ihre AWS Glue-Jobs visuell erstellen und bearbeiten können. Weitere Informationen finden Sie unter [Erstellen von Visual-ETL-Aufträgen](author-job-glue.md). 
+  **AWS GlueAbschnitt der AWS CLI Referenz** — Enthält AWS CLI Befehle, die Sie mit verwenden könnenAWS Glue. Weitere Informationen finden Sie in der [AWS CLI -Referenz für AWS Glue](https://docs.aws.amazon.com/cli/latest/reference/glue/index.html). 
+  **AWS Glue-API** – Stellt eine vollständige API-Referenz für Entwickler bereit. Weitere Informationen finden Sie unter [AWS Glue-API](https://docs.aws.amazon.com/glue/latest/dg/aws-glue-api.html). 

## Zugehörige Services
<a name="what-is-glue-related-services"></a>

 Benutzer von AWS Glue verwenden auch: 
+  ** [AWS Lake Formation](https://docs.aws.amazon.com/lake-formation/latest/dg/what-is-lake-formation.html) ** – Ein Service, der eine Autorisierungsebene ist, die eine differenzierte Zugriffskontrolle auf Ressourcen in AWS Glue Data Catalog bietet. 
+  ** [AWS Glue DataBrew](https://docs.aws.amazon.com/databrew/latest/dg/what-is.html) ** – Ein Tool zur visuellen Datenvorbereitung, mit dem Sie Daten bereinigen und normalisieren können, ohne Code zu schreiben. 

# AWS Glue Ende des Supports für Ray
<a name="awsglue-ray-jobs-availability-change"></a>

**Wichtig**  
AWS Glue for Ray wird ab dem 30. April 2026 nicht mehr für Neukunden geöffnet sein. Wenn Sie AWS Glue For Ray nutzen möchten, melden Sie sich vor diesem Datum an. Bestandskunden können den Service weiterhin wie gewohnt nutzen. Funktionen, die denen von AWS Glue für Ray ähneln, finden Sie in Amazon EKS. Weitere Informationen finden Sie unter [Ende des Supports AWS Glue für Ray](https://docs.aws.amazon.com/glue/latest/dg/awsglue-ray-jobs-availability-change.html).

Nach reiflicher Überlegung haben wir beschlossen, Ray ab dem 30. April 2026 AWS Glue für Neukunden zu schließen. Wenn Sie AWS Glue For Ray nutzen möchten, melden Sie sich vor diesem Datum an. Bestandskunden können den Service weiterhin wie gewohnt nutzen.

AWS investiert weiterhin in Sicherheits- und Verfügbarkeitsverbesserungen für AWS Glue for Ray. Beachten Sie, dass wir nicht planen, neue Funktionen AWS Glue für Ray einzuführen, mit Ausnahme von Sicherheits- und Verfügbarkeitsverbesserungen.

Als Alternative zu AWS Glue for Ray empfehlen wir die Verwendung von Amazon Elastic Kubernetes Service. Amazon Elastic Kubernetes Service ist ein vollständig verwalteter, zertifizierter Kubernetes-konformer Service, der den Aufbau, die Sicherung, den Betrieb und die Wartung von Kubernetes-Clustern vereinfacht. AWS Es handelt sich um eine hochgradig anpassbare Option, die sich auf den KubeRay Open-Source-Operator für die Bereitstellung und Verwaltung von Ray-Clustern auf Kubernetes stützt. Sie bietet eine verbesserte Ressourcennutzung, ein vereinfachtes Infrastrukturmanagement und volle Unterstützung für Ray-Funktionen.

## Migrieren eines Ray-Jobs zu Amazon Elastic Kubernetes Service
<a name="awsglue-ray-jobs-availability-change-migration"></a>

Dieser Abschnitt enthält Schritte für die Migration von AWS Glue for Ray zu Ray auf Amazon Elastic Kubernetes Service. Diese Schritte sind für zwei Migrationsszenarien hilfreich:
+ **Standardmigration (x86/amd64)**: Für diese Anwendungsfälle verwendet die Migrationsstrategie den OpenSource Ray-Container für grundlegende Implementierungen und führt Skripts direkt auf dem Basiscontainer aus.
+ **ARM64 Migration**: Für diese Anwendungsfälle unterstützt die Migrationsstrategie benutzerdefinierte Container-Builds für spezifische Abhängigkeiten und Architekturanforderungen. ARM64

### Voraussetzungen für die Migration
<a name="awsglue-ray-jobs-availability-change-prerequisites"></a>

Installieren Sie die folgenden CLI-Tools:**aws**,**kubectl**, **eksctl****helm**, Python 3.9\$1. Diese CLI-Tools sind für die Bereitstellung und Verwaltung Ihrer Ray on EKS-Umgebung erforderlich. **eksctl**vereinfacht die Erstellung und Verwaltung von EKS-Clustern. **kubectl**ist die Standard-Kubernetes-CLI für die Bereitstellung und Fehlerbehebung von Workloads in Ihrem Cluster. **helm**wird zur Installation und Verwaltung verwendet KubeRay (der Operator, der Ray auf Kubernetes ausführt). Python 3.9\$1 ist für Ray selbst und für die lokale Ausführung von Job-Übermittlungsskripten erforderlich.

#### eksctl installieren
<a name="awsglue-ray-jobs-availability-change-install-eksctl"></a>

Folgen Sie den Anweisungen unter [Installationsoptionen für Eksctl](https://docs.aws.amazon.com/eks/latest/eksctl/installation.html) oder verwenden Sie die folgenden Anweisungen für die Installation.

Für macOS:

```
brew tap weaveworks/tap
brew install weaveworks/tap/eksctl
```

Für Linux:

```
curl --silent --location "https://github.com/weaveworks/eksctl/releases/latest/download/eksctl_$(uname -s)_amd64.tar.gz" | tar xz -C /tmp

# Move the extracted binary to /usr/local/bin
sudo mv /tmp/eksctl /usr/local/bin

# Test the installation
eksctl version
```

#### kubectl installieren
<a name="awsglue-ray-jobs-availability-change-install-kubectl"></a>

Folgen Sie den Anweisungen unter [Kubectl und eksctl einrichten](https://docs.aws.amazon.com/eks/latest/userguide/install-kubectl.html) oder verwenden Sie die nachstehenden Anweisungen für die Installation.

Für macOS:

```
brew install kubectl
```

Für Linux:

```
curl -LO "https://dl.k8s.io/release/$(curl -L -s https://dl.k8s.io/release/stable.txt)/bin/linux/amd64/kubectl"
chmod +x kubectl
sudo mv kubectl /usr/local/bin/
```

#### Installieren Sie Helm
<a name="awsglue-ray-jobs-availability-change-install-helm"></a>

Folgen Sie den Anweisungen zur [Installation von Helm](https://helm.sh/docs/intro/install/) oder verwenden Sie die folgenden Anweisungen für die Installation.

Für macOS:

```
brew install helm
```

Für Linux:

```
curl https://raw.githubusercontent.com/helm/helm/main/scripts/get-helm-3 | bash
```

### Schritt 1. Erstellen oder wählen Sie ein Docker-Image für Ray
<a name="awsglue-ray-jobs-availability-change-step1"></a>

**Option 1: Verwenden Sie das offizielle Ray-Image (kein Build erforderlich)**

Diese Option verwendet beispielsweise das offizielle Ray Docker-Image auf [Docker Hub](https://hub.docker.com/u/rayproject)`rayproject/ray:2.4.0-py39`, das vom Ray-Projekt verwaltet wird.

**Anmerkung**  
Dieses Image ist nur für AMD64 verfügbar. Verwenden Sie dies, wenn Ihre Abhängigkeiten mit amd64 kompatibel sind und Sie keine ARM-spezifischen Builds benötigen.

**Option 2: Erstellen und veröffentlichen Sie Ihr eigenes arm64 Ray 2.4.0-Image**

Diese Option ist nützlich, wenn Graviton (ARM) -Knoten verwendet werden, da sie mit dem übereinstimmt, was AWS Glue for Ray intern verwendet. Sie können ein benutzerdefiniertes Image erstellen, das an dieselben Abhängigkeitsversionen wie AWS Glue für Ray angeheftet ist, um Kompatibilitätskonflikte zu reduzieren.

Erstellen Sie lokal ein Dockerfile:

```
# Build an ARM64 image
FROM --platform=linux/arm64 python:3.9-slim-bullseye
# Handy tools: wget for KubeRay probes; CA certs; keep image small
RUN apt-get update && apt-get install -y --no-install-recommends \
    wget ca-certificates \
    && rm -rf /var/lib/apt/lists/*

# Keep pip/setuptools modern enough for wheels resolution
RUN python -m pip install -U "pip<24" "setuptools<70" wheel

# ---- Install Ray 2.4.0 (ARM64 / Py3.9) and Glue-like dependencies ----
# 1) Download the exact Ray 2.4.0 wheel for aarch64 (no network at runtime)
RUN python -m pip download --only-binary=:all: --no-deps --dest /tmp/wheels ray==2.4.0

# 2) Core libs used in Glue (pin to Glue-era versions)
#    + the dashboard & jobs API dependencies compatible with Ray 2.4.0.
#    (Pins matter: newer major versions break 2.4.0's dashboard.)
RUN python -m pip install --no-cache-dir \
    /tmp/wheels/ray-2.4.0-*.whl \
    "pyarrow==11.0.0" \
    "pandas==1.5.3" \
    "boto3==1.26.133" \
    "botocore==1.29.133" \
    "numpy==1.24.3" \
    "fsspec==2023.4.0" \
    "protobuf<4" \
    # --- dashboard / jobs server deps ---
    "aiohttp==3.8.5" \
    "aiohttp-cors==0.7.0" \
    "yarl<1.10" "multidict<7.0" "frozenlist<1.4" "aiosignal<1.4" "async_timeout<5" \
    "pydantic<2" \
    "opencensus<0.12" \
    "prometheus_client<0.17" \
    # --- needed if using py_modules ---
    "smart_open[s3]==6.4.0"

# Optional: prove Ray & arch at container start
ENV PYTHONUNBUFFERED=1
WORKDIR /app

# KubeRay overrides the start command; this is just a harmless default
CMD ["python","-c","import ray,platform; print('Ray', ray.__version__, 'on', platform.machine())"]
```

```
# Set environment variables
export AWS_REGION=us-east-1
export AWS_ACCOUNT=$(aws sts get-caller-identity --query Account --output text)
export REPO=ray-2-4-arm64
export IMAGE=${AWS_ACCOUNT}.dkr.ecr.${AWS_REGION}.amazonaws.com/${REPO}:v1

# Create repository and login
aws ecr create-repository --repository-name $REPO >/dev/null 2>&1 || true
aws ecr get-login-password --region $AWS_REGION \
  | docker login --username AWS --password-stdin ${AWS_ACCOUNT}.dkr.ecr.${AWS_REGION}.amazonaws.com

# Enable Buildx (for cross-builds on non-ARM hosts)
docker buildx create --name multi --driver docker-container --use 2>/dev/null || true

# Build & push ARM64 image
docker buildx build \
  --platform linux/arm64 \
  -t "$IMAGE" \
  . --push

# Verify the image architecture remotely
aws ecr batch-get-image \
  --repository-name $REPO \
  --image-ids imageTag=v1 \
  --accepted-media-types application/vnd.docker.distribution.manifest.v2+json \
  | jq -r '.images[0].imageManifest' \
  | jq -r 'fromjson.config.digest'
```

Wenn Sie fertig sind, referenzieren Sie dieses ARM64 Bild in der RayCluster Spezifikation mit. `nodeSelector: { kubernetes.io/arch: arm64 }`

```
spec:
  rayVersion: "2.4.0"
  headGroupSpec:
    template:
      spec:
        containers:
        - name: ray-head
          image: <your ECR image>
```

### Schritt 2. AWS Glue Für die Ray-Job-Konfiguration auf Amazon Elastic Kubernetes Service in Ray konvertieren
<a name="awsglue-ray-jobs-availability-change-step2"></a>

AWS Glue for Ray-Jobs unterstützen eine Reihe von Job-Argumenten, die Worker, Abhängigkeiten, Speicher und Protokollierung konfigurieren. Bei der Migration zu Amazon Elastic Kubernetes Service mit KubeRay müssen diese Argumente in RayCluster Spezifikationsfelder oder Ray Job-Laufzeitumgebungseinstellungen übersetzt werden.

#### Zuordnung von Job-Argumenten
<a name="awsglue-ray-jobs-availability-change-job-argument-mapping"></a>


**Zuordnung von AWS Glue Ray-Argumenten zu Ray auf EKS-Äquivalenten**  

| AWS Glue für Ray-Argument | Was es AWS Glue für Ray bedeutet | Ray auf Amazon Elastic Kubernetes Service Service-Äquivalent | 
| --- | --- | --- | 
| --min-workers | Mindestanzahl an Arbeitskräften, die der Job zuweisen muss. | workerGroupSpecs[].minReplicasin deinem RayCluster | 
| --working-dir | Verteilt eine ZIP-Datei (S3-URI) an alle Knoten. | Verwenden Sie Ray Runtime env:, working\$1dir wenn Sie aus lokalen Dateien senden; py\$1modules damit S3-Zips auf das S3-Artefakt verweisen | 
| --s3-py-modules | Fügt Python wheels/dists aus S3 hinzu. | Verwenden Sie Ray Runtime env: py\$1modules: ["s3://.../xxx.whl", ...] | 
| --pip-install | Installiert zusätzliche PyPI-Pakete für den Job. | Ray-Laufzeitumgebung: pip: ["pkg==ver", ...] (Ray Job CLI --runtime-env-json oder RayJobruntimeEnvYAML). | 
| --object\$1store\$1memory\$1head | % des Speichers für den Plasmaspeicher des Hauptknotens. | headGroupSpec[].rayStartParams.object-store-memoryin deinem RayCluster. Beachten Sie, dass dies in Byte angegeben werden sollte. AWS Glue verwendet Prozent, während Ray Bytes verwendet. | 
| --object\$1store\$1memory\$1worker | % des Speichers für den Plasmaspeicher der Worker-Knoten. | Wie oben, aber in den Werten der einzelnen Worker-Gruppen rayStartParams.object-store-memory (Byte) festgelegt. | 
| --object\$1spilling\$1config | Konfigurieren Sie die Übertragung von Ray-Objekten. | headGroupSpec[].rayStartParams.object-spilling-config | 
| --logging\$1configuration | AWS Glue-verwaltete Protokolle (CloudWatch, S3). | Überprüfen Sie pod stdout/stderr: use. kubectl -n ray logs <pod-name> --follow Überprüfe die Logs im Ray Dashboard (Port-Forward zu:8265). Dort kannst du auch Aufgaben- und Jobprotokolle einsehen. | 

#### Zuordnung der Auftragskonfiguration
<a name="awsglue-ray-jobs-availability-change-job-config-mapping"></a>


**Zuordnung von AWS Glue Ray-Job-Konfigurationen zu Ray auf EKS-Äquivalenten**  

| Konfiguration | Was bedeutet das für Ray AWS Glue  | Ray auf EKS-Äquivalent | 
| --- | --- | --- | 
| Worker type (Worker-Typ) | Legt den Typ des vordefinierten Workers fest, der bei der Ausführung eines Jobs zulässig ist. Die Standardeinstellung ist Z 2X (8 vCPU, 64 GB RAM). | Nodegroup-Instanztyp in EKS (z. B. r7g.2xlarge ≈ 8 vCPU/64 GB für ARM, r7a.2xlarge für x86). | 
| Maximale Anzahl von Mitarbeitern | Die Anzahl der Arbeitskräfte, AWS Glue die Sie diesem Job zuordnen möchten. | Stellen Sie workerGroupSpecs[].maxReplicas die gleiche Anzahl ein, wie Sie in AWS Glue verwendet haben. Dies ist die Obergrenze für Autoscaling. Wird in ähnlicher Weise minReplicas als Untergrenze festgelegt. Sie können mitreplicas: 0, beginnenminReplicas: 0. | 

### Schritt 3. Amazon Elastic Kubernetes Service einrichten
<a name="awsglue-ray-jobs-availability-change-step3"></a>

Sie können entweder einen neuen Amazon Elastic Kubernetes Service Service-Cluster erstellen oder einen vorhandenen Amazon Elastic Kubernetes Service Service-Cluster wiederverwenden. Wenn Sie einen vorhandenen Cluster verwenden, überspringen Sie die Befehle zum Erstellen eines Clusters und wechseln Sie zu Knotengruppe hinzufügen, IRSA, und installieren Sie. KubeRay

#### Erstellen Sie einen Amazon Elastic Kubernetes Service Service-Cluster
<a name="awsglue-ray-jobs-availability-change-create-cluster"></a>

**Anmerkung**  
Wenn Sie bereits über einen Amazon Elastic Kubernetes Service Service-Cluster verfügen, überspringen Sie die Befehle zum Erstellen eines neuen Clusters und fügen Sie einfach eine Knotengruppe hinzu.

```
# Environment Variables
export AWS_REGION=us-east-1
export CLUSTER=ray-eks
export NS=ray # namespace for your Ray jobs (you can reuse another if you like)

# Create a cluster (OIDC is required for IRSA)
eksctl create cluster \
  --name $CLUSTER \
  --region $AWS_REGION \
  --with-oidc \
  --managed
```

#### Fügen Sie eine Knotengruppe hinzu
<a name="awsglue-ray-jobs-availability-change-add-nodegroup"></a>

```
# ARM/Graviton (matches Glue's typical runtime):
eksctl create nodegroup \
  --cluster $CLUSTER \
  --region $AWS_REGION \
  --name arm64-ng \
  --node-type m7g.large \
  --nodes 2 --nodes-min 1 --nodes-max 5 \
  --managed \
  --node-labels "workload=ray"

# x86/amd64 (use if your image is amd64-only):
eksctl create nodegroup \
  --cluster $CLUSTER \
  --region $AWS_REGION \
  --name amd64-ng \
  --node-type m5.large \
  --nodes 2 --nodes-min 1 --nodes-max 5 \
  --managed \
  --node-labels "workload=ray"
```

**Anmerkung**  
Wenn Sie einen vorhandenen Amazon Elastic Kubernetes Service Service-Cluster verwenden, verwenden Sie diesen, um OIDC `--with-oidc` zu aktivieren, wenn Sie eine Knotengruppe hinzufügen.

#### Erstellen Sie die Rolle Namespace \$1 IAM für Service Accounts (IRSA) für S3
<a name="awsglue-ray-jobs-availability-change-irsa"></a>

Ein Kubernetes-Namespace ist eine logische Gruppierung für Ressourcen (Pods, Dienste, Rollen usw.). Sie können einen vorhandenen Namespace erstellen oder wiederverwenden. Sie müssen außerdem eine IAM-Richtlinie für S3 erstellen, die den Zugriff Ihres AWS Glue Jobs widerspiegelt. Verwenden Sie dieselben benutzerdefinierten Berechtigungen, über die Ihre AWS Glue Jobrolle verfügte (normalerweise S3 read/write für bestimmte Buckets). Um Amazon Elastic Kubernetes Service ähnliche Berechtigungen wie dem zu gewähren AWSGlueServiceRole, erstellen Sie ein Service Account (IRSA), das an diese IAM-Richtlinie gebunden ist. Anweisungen zur Einrichtung dieses Dienstkontos finden Sie unter [IAM-Rollen für Dienstkonten](https://docs.aws.amazon.com/eks/latest/eksctl/iamserviceaccounts.html).

```
# Create (or reuse) namespace
kubectl create namespace $NS || true
```

```
{
  "Version": "2012-10-17",		 	 	 
  "Statement": [{
    "Effect": "Allow",
    "Action": ["s3:PutObject", "s3:GetObject", "s3:ListBucket"],
    "Resource": [
      "arn:aws:s3:::YOUR-BUCKET",
      "arn:aws:s3:::YOUR-BUCKET/*"
    ]
  }]
}
```

```
# Create the IAM policy and wire IRSA:
aws iam create-policy \
  --policy-name RayS3Policy \
  --policy-document file://example.json || true

# Create a service account (IRSA) bound to that policy.
eksctl create iamserviceaccount \
  --cluster $CLUSTER \
  --region $AWS_REGION \
  --namespace $NS \
  --name ray-s3-access \
  --attach-policy-arn arn:aws:iam::${AWS_ACCOUNT}:policy/RayS3Policy \
  --approve \
  --override-existing-serviceaccounts
```

#### Installieren Sie den KubeRay Operator (Controller, der Ray auf K8s ausführt)
<a name="awsglue-ray-jobs-availability-change-install-kuberay"></a>

```
helm repo add kuberay https://ray-project.github.io/kuberay-helm/
helm repo update
helm upgrade --install kuberay-operator kuberay/kuberay-operator \
  --namespace kuberay-system \
  --create-namespace

# Validate the operator pod Running
kubectl -n kuberay-system get pods
```

### Schritt 4. Richten Sie einen Ray-Cluster ein
<a name="awsglue-ray-jobs-availability-change-step4"></a>

Erstellen Sie eine YAML-Datei, um einen Ray-Cluster zu definieren. Im Folgenden finden Sie eine Beispielkonfiguration (raycluster.yaml):

```
apiVersion: ray.io/v1
kind: RayCluster
metadata:
  name: glue-like
  namespace: ray
spec:
  rayVersion: "2.4.0"
  headGroupSpec:
    template:
      spec:
        nodeSelector:
          kubernetes.io/arch: amd64
        serviceAccountName: ray-s3-access
        containers:
        - name: ray-head
          image: rayproject/ray:2.4.0-py39
          imagePullPolicy: Always
          resources:
            requests: { cpu: "1", memory: "2Gi" }
            limits:   { cpu: "1", memory: "2Gi" }
  workerGroupSpecs:
  - groupName: workers
    replicas: 0 # start with just a head (like small Glue dev job) and turn number of replicas later
    minReplicas: 0
    maxReplicas: 5
    template:
      spec:
        nodeSelector:
          kubernetes.io/arch: amd64
        serviceAccountName: ray-s3-access
        containers:
        - name: ray-worker
          image: rayproject/ray:2.4.0-py39
          imagePullPolicy: Always
          resources:
            requests: { cpu: "1", memory: "2Gi" }
            limits:   { cpu: "1", memory: "2Gi" }
```

#### Stellen Sie den Ray-Cluster auf dem Amazon Elastic Kubernetes Service Service-Cluster bereit
<a name="awsglue-ray-jobs-availability-change-deploy-cluster"></a>

```
kubectl apply -n $NS -f raycluster.yaml

# Validate that the head pod turns to READY/ RUNNING state
kubectl -n $NS get pods -l ray.io/cluster=glue-like -w
```

Wenn das bereitgestellte Yaml geändert werden muss, löschen Sie zuerst den Cluster und wenden Sie dann das aktualisierte Yaml erneut an:

```
kubectl -n $NS delete raycluster glue-like
kubectl -n $NS apply -f raycluster.yaml
```

#### Zugriff auf das Ray-Dashboard
<a name="awsglue-ray-jobs-availability-change-ray-dashboard"></a>

Sie können auf das Ray-Dashboard zugreifen, indem Sie die Port-Weiterleitung mit kubectl aktivieren:

```
# Get service
SVC=$(kubectl -n $NS get svc -l ray.io/cluster=glue-like,ray.io/node-type=head -o jsonpath='{.items[0].metadata.name}')

# Make the Ray dashboard accessible at http://localhost:8265 on your local machine.
kubectl -n $NS port-forward svc/$SVC 8265:8265
```

### Schritt 5. Ray Job einreichen
<a name="awsglue-ray-jobs-availability-change-step5"></a>

Verwenden Sie die Ray Jobs-CLI, um einen Ray-Job einzureichen. Die CLI-Version kann neuer als der Cluster sein, sie ist abwärtskompatibel. Als Voraussetzung sollten Sie Ihr Jobskript lokal in einer Datei speichern, z. `job.py`

```
python3 -m venv ~/raycli && source ~/raycli/bin/activate
pip install "ray[default]==2.49.2"

# Submit your ray job by supplying all python dependencies that was added to your Glue job
ray job submit --address http://127.0.0.1:8265 --working-dir . \
  --runtime-env-json '{
    "pip": ["boto3==1.28.*","pyarrow==12.*","pandas==2.0.*"]
  }' \
  -- python job.py
```

Der Job kann auf dem Ray-Dashboard überwacht werden.