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.
Ausführen von Spark-ETL-Aufträgen mit verkürzten Startzeiten
AWS Glue Versionen 2.0 und höher bieten eine aktualisierte Infrastruktur zum Ausführen von Apache-Spark-ETL-Aufträgen (Extrahieren, Transformieren und Laden) in AWS Glue mit reduzierten Startzeiten. Mit den verkürzten Wartezeiten können Dateningenieure produktiver arbeiten und ihre Interaktivität mit AWS Glue verbessern. Die geringere Varianz der Auftragsstartzeiten kann Ihnen dabei helfen, Ihre SLAs zu erfüllen oder zu übertreffen, um Daten für Analysen zur Verfügung zu stellen.
Um diese Funktion mit Ihren AWS Glue-ETL-Aufträgen zu verwenden, wählen Sie bei der Auftragserstellung 2.0
oder höher für Glue version
aus.
Neue unterstützte Funktionen
In diesem Abschnitt werden neue Funktionen beschrieben, die von AWS Glue Version 2.0 und höher unterstützt werden.
Support für die Angabe zusätzlicher Python-Module auf Auftragsebene
Mit AWS Glue Version 2.0 und höher können Sie auch zusätzliche Python-Module oder verschiedene Versionen auf Auftragsebene bereitstellen. Sie können die Option „--additional-python-modules
“ mit verschiedenen kommagetrennten Python-Modulen verwenden, um ein neues Modul hinzuzufügen oder die Version eines vorhandenen Moduls zu ändern.
Verwenden Sie zum Aktualisieren oder Hinzufügen eines neuen scikit-learn
-Moduls den folgenden Schlüssel/Wert: "--additional-python-modules", "scikit-learn==0.21.3"
.
Auch innerhalb der Option --additional-python-modules
können Sie einen Amazon-S3-Pfad zu einem Python-Wheel-Modul angeben. Zum Beispiel:
--additional-python-modules s3://aws-glue-native-spark/tests/j4.2/ephem-3.7.7.1-cp37-cp37m-linux_x86_64.whl,s3://aws-glue-native-spark/tests/j4.2/fbprophet-0.6-py3-none-any.whl,scikit-learn==0.21.3
AWS Glue verwendet den Python Package Installer (pip3), um die zusätzlichen Module zu installieren. Sie können zusätzliche Optionen übergeben, die durch python-modules-installer-option
an pip3 für die Installation der Module weitergegeben werden. Alle Inkompatibilitäten oder Einschränkungen von pip3 gelten.
Python-Module, die bereits in AWS Glue Version 2.0 bereitgestellt werden
AWS Glue Version 2.0 unterstützt die folgenden Python-Module ohne Vorinstallation:
setuptools 45.2.0
subprocess32 3.5.4
ptvsd 4.3.2
pydevd 1.9.0
PyMySQL 0.9.3
docutils 0.15.2
jmespath 0.9.4
six 1.14.0
python_dateutil 2.8.1
urllib3 1.25.8
botocore: 1.15.4
s3transfer 0.3.3
boto3 1.12.4
certifi 2019.11.28
chardet 3.0.4
idna 2.9
requests 2.23.0
pyparsing 2.4.6
enum34 1.1.9
pytz 2019.3
numpy 1.18.1
cycler 0.10.0
kiwisolver 1.1.0
scipy 1.4.1
pandas 1.0.1
pyarrow 0.16.0
matplotlib 3.1.3
pyhocon 0.3.54
mpmath 1.1.0
sympy 1.5.1
patsy 0.5.1
statsmodels 0.11.1
fsspec 0.6.2
s3fs 0.4.0
Cython 0.29.15
joblib 0.14.1
pmdarima 1.5.3
scikit-learn 0.22.1
tbats 1.0.9
Protokollierungsverhalten
AWS Glue Version 2.0 und höher unterstützt ein anderes Standardprotokollierungsverhalten. Zu den Unterschieden gehören:
Die Protokollierung erfolgt in Echtzeit.
Es gibt separate Streams für Treiber und Executors.
Für jeden Treiber und Executor gibt es zwei Streams, den Ausgabestream und den Fehlerstream.
Treiber- und Executor Streams
Treiberstreams werden durch die Auftragsausführung-ID identifiziert. Executor-Streams werden durch den Auftrag identifiziert <run id
>_<executor task id
>. Zum Beispiel:
"logStreamName": "jr_8255308b426fff1b4e09e00e0bd5612b1b4ec848d7884cebe61ed33a31789..._g-f65f617bd31d54bd94482af755b6cdf464542..."
Ausgabe- und Fehler-Streams
Der Ausgabestream hat die Standardausgabe (stdout) aus Ihrem Code. Der Fehlerstream hat Protokollierungsmeldungen aus Ihrem Code/Ihrer Bibliothek.
Protokollstreams:
Treiberprotokoll-Streams haben <
jr
>, wobei <jr
> die Auftragsausführungs-ID ist.Executor-Protokoll-Streams haben <
jr
>_<g
>, wobei <g
> die Auftrags-ID für den Executor ist. Sie können die Executor-Aufgaben-ID im Treiberfehlerprotokoll nachschlagen.
Die standardmäßigen Protokollgruppen für AWS GlueVersion 2.0 lauten wie folgt:
/aws-glue/jobs/logs/output
für Ausgabe/aws-glue/jobs/logs/error
für Fehler
Wenn eine Sicherheitskonfiguration bereitgestellt wird, ändern sich die Namen der Protokollgruppe in:
/aws-glue/jobs/<
security configuration
>-role/<Role Name
>/output/aws-glue/jobs/<
security configuration
>-role/<Role Name
>/error
Auf der Konsole befindet sich der Link Logs (Protokolle). Er verweist auf die Ausgabeprotokollgruppe und der Link Error (Fehler) verweist auf die Fehlerprotokollgruppe. Wenn die kontinuierliche Protokollierung aktiviert ist, verweist der Link Logs (Protokolle) auf die fortlaufende Protokollgruppe, und der Link Output (Ausgabe) verweist auf die Ausgabeprotokollgruppe.
Protokollierungsregeln
Anmerkung
Der Standardname der Protokollgruppe für die kontinuierliche Protokollierung lautet /aws-glue/jobs/logs-v2
.
In AWS Glue Version 2.0 und höher zeigt die fortlaufende Protokollierung das gleiche Verhalten wie in AWS Glue Version 1.0:
Standard-Protokollgruppe:
/aws-glue/jobs/logs-v2
Treiberprotokollstream: <
jr
>-TreiberExecutor-Protokollstream: <
jr
>-<executor ID
>Der Name der Protokollgruppe kann durch die Einstellung
--continuous-log-logGroupName
geändert werden.Der Name des Protokollstreams kann durch die Einstellung
--continous-log-logStreamPrefix
als Präfix festgelegt werden.
Nicht unterstützte Funktionen
Die folgenden AWS Glue-Funktionen werden nicht unterstützt:
Entwicklungsendpunkte
AWS Glue Version 2.0 und höher läuft nicht auf Apache YARN, daher gelten die YARN-Einstellungen nicht
AWS Glue Version 2.0 und höher verfügt über kein Hadoop Distributed File System (HDFS)
AWS Glue Version 2.0 und höher verwendet keine dynamische Zuweisung, daher sind die ExecutorAllocationManager-Metriken nicht verfügbar
Für Aufträge von AWS Glue Version 2.0 und höher geben Sie die Anzahl der Worker und den Worker-Typ an. Sie geben jedoch keinen
maxCapacity
an.-
Bei AWS Glue Version 2.0 und höher ist die Unterstützung von
s3n
nicht vorkonfiguriert. Wir empfehlen die Verwendung vons3
oders3a
. Wenn Aufträges3n
aus beliebigen Grund verwenden, können Sie das folgende zusätzliche Argument weitergeben:--conf spark.hadoop.fs.s3n.impl=com.amazon.ws.emr.hadoop.fs.EmrFileSystem