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.
Parallel aus JDBC-Tabellen lesen
Sie können die Eigenschaften Ihrer JDBC-Tabelle so einstellen, dass AWS Glue Daten parallel lesen kann. Wenn Sie bestimmte Eigenschaften festlegen, weisen Sie AWS Glue an, parallele SQL-Abfragen gegen logische Partitionen Ihrer Daten auszuführen. Sie können die Partitionierung steuern, indem Sie ein Hash-Feld oder einen Hash-Ausdruck festlegen. Sie können auch die Anzahl der parallelen Lesezugriffe steuern, die für den Zugriff auf Ihre Daten verwendet werden.
Das parallele Lesen aus JDBC-Tabellen ist eine Optimierungsmethode, die die Leistung verbessern kann. Weitere Informationen darüber, wie Sie feststellen können, wann diese Methode geeignet ist, finden Sie unter Die Menge an gescannten Daten verringern im Leitfaden Bewährte Methoden für die Leistungsoptimierung von AWS Glue für Apache-Spark-Aufträge in der AWS Prescriptive Guidance.
Um paralleles Lesen zu ermöglichen, können Sie Schlüssel-Wert-Paare im Parameterfeld Ihrer Tabellenstruktur setzen. Verwenden Sie eine JSON-Notation, um einen Wert für das Parameterfeld Ihrer Tabelle festzulegen. Weitere Informationen zum Bearbeiten der Eigenschaften einer Tabelle finden Sie unter Tabellendetails anzeigen und verwalten. Sie können auch parallele Lesevorgänge aktivieren, wenn Sie die ETL-Methoden (Extrahieren, Transformieren und Laden) create_dynamic_frame_from_options
und create_dynamic_frame_from_catalog
aufrufen. Weitere Informationen über das Festlegen der Optionen dieser Methoden finden Sie unter from_options und from_catalog.
Sie können diese Methode für JDBC-Tabellen verwenden, d.h. für die meisten Tabellen, deren Grundlage ein JDBC-Datenspeicher ist. Diese Eigenschaften werden beim Lesen von Amazon-Redshift- und Amazon-S3-Tabellen ignoriert.
- hashfield
-
Stellen Sie
hashfield
auf den Namen einer Spalte in der JDBC-Tabelle ein, die zur Aufteilung der Daten in Partitionen verwendet werden soll. Um optimale Ergebnisse zu erzielen, sollte diese Spalte eine gleichmäßige Verteilung der Werte aufweisen, um die Daten zwischen den Partitionen zu verteilen. Diese Spalte kann einen beliebigen Datentyp aufweisen. AWS Glue erzeugt nicht überlappende Abfragen, die parallel laufen, um die durch diese Spalte partitionierten Daten zu lesen. Wenn Ihre Daten beispielsweise gleichmäßig nach Monaten verteilt sind, können Sie die Spaltemonth
verwenden, um die Daten für jeden Monat parallel zu lesen:'hashfield': 'month'
AWS Glue erstellt eine Abfrage, um den Feldwert mit einer Partitionsnummer zu hashen, und führt die Abfrage für alle Partitionen parallel aus. Um Ihre eigene Abfrage zur Partitionierung einer gelesenen Tabelle zu verwenden, geben Sie
hashexpression
anstelle vonhashfield
an. - hashexpression
-
Setzen Sie
hashexpression
auf einen SQL-Ausdruck (entsprechend der Syntax der JDBC-Datenbankmaschine), der eine ganze Zahl zurückgibt. Ein einfacher Ausdruck ist der Name einer beliebigen numerischen Spalte in der Tabelle. AWS Glue erzeugt SQL-Abfragen zum parallelen Lesen der JDBC-Daten unter Verwendung vonhashexpression
in derWHERE
-Klausel zur Partitionierung de Daten.Verwenden Sie beispielsweise die numerische Spalte
customerID
, um Daten zu lesen, die nach Kundennummer partitioniert sind:'hashexpression': 'customerID'
Zur AWS Glue Steuerung der Partitionierung, geben Sie
hashfield
anstelle vonhashexpression
an. - hashpartitions
-
Stellen Sie
hashpartitions
auf die Anzahl der parallelen Lesezugriffe der JDBC-Tabelle ein. Wenn diese Eigenschaft nicht festgelegt ist, wird der Standardwert 7 verwendet.Stellen Sie beispielsweise die Anzahl der parallelen Lesezugriffe auf
5
ein, so dass AWS Glue Ihre Daten mit fünf Abfragen (oder weniger) liest:'hashpartitions': '5'