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 eines PySpark Jobs in einer konfigurierten Tabelle mithilfe einer PySpark Analysevorlage
Dieses Verfahren zeigt, wie Sie eine PySpark Analysevorlage in der AWS Clean Rooms Konsole verwenden, um konfigurierte Tabellen mit der benutzerdefinierten Analyseregel zu analysieren.
So führen Sie mithilfe einer PySpark Analysevorlage einen PySpark Job für eine konfigurierte Tabelle aus
Melden Sie sich bei der an AWS-Managementkonsole und öffnen Sie die AWS Clean Rooms Konsole unter https://console.aws.amazon.com/cleanrooms
-
Wählen Sie im linken Navigationsbereich Collaborations aus.
-
Wählen Sie die Kollaboration aus, für die der Status Ihrer Mitgliederfähigkeiten den Status Jobs ausführen lautet.
-
Sehen Sie sich auf der Registerkarte Analyse im Abschnitt Tabellen die Tabellen und den zugehörigen Analyseregeltyp an (benutzerdefinierte Analyseregel).
Anmerkung
Wenn Sie die erwarteten Tabellen nicht in der Liste sehen, kann das folgende Gründe haben:
-
Die Tabellen wurden nicht verknüpft.
-
Für die Tabellen ist keine Analyseregel konfiguriert.
-
-
Wählen Sie im Abschnitt Analyse für den Analysemodus die Option Analysevorlagen ausführen aus.
-
Wählen Sie die PySpark Analysevorlage aus der Dropdownliste Analysevorlage aus.
Die Parameter aus der PySpark Analysevorlage werden automatisch in die Definition übernommen.
-
Wenn für die Analysevorlage Parameter definiert sind, geben Sie unter Parameter Werte für die Parameter ein:
-
Sehen Sie sich für jeden Parameter den Parameternamen und den Standardwert an (falls konfiguriert).
-
Geben Sie für jeden Parameter, den Sie überschreiben möchten, einen Wert ein.
Anmerkung
Wenn Sie keinen Wert angeben, aber ein Standardwert vorhanden ist, wird der Standardwert verwendet.
Wichtig
Parameterwerte können bis zu 1.000 Zeichen lang sein und unterstützen die UTF-8 Kodierung. Alle Parameterwerte werden als Zeichenketten behandelt und über das Kontextobjekt an Ihr Benutzerskript übergeben.
Stellen Sie sicher, dass Ihr Benutzerskript Parameterwerte validiert und sicher verarbeitet. Weitere Hinweise zur sicheren Handhabung von Parametern finden Sie unterArbeiten mit Parametern in PySpark Analysevorlagen.
-
-
Geben Sie den unterstützten Worker-Typ und die Anzahl der Worker an.
Ermitteln Sie anhand der folgenden Tabelle den Typ und die Anzahl der Mitarbeiter, die Sie für Ihren Anwendungsfall benötigen.
Worker type (Worker-Typ) vCPU Speicher (GB) Speicher (GB) Number of workers (Anzahl der Worker) Gesamtzahl der Verarbeitungseinheiten für Reinräume (CRPU) CR.1X (Standard) 4 30 100 4 8 128 256 CR.4X 16 120 400 4 32 32 256 Anmerkung
Verschiedene Arten von Arbeitnehmern und deren Anzahl sind mit Kosten verbunden. Weitere Informationen zu den Preisen finden Sie unter AWS Clean Rooms Preisgestaltung
. -
Geben Sie die unterstützten Spark-Eigenschaften an.
-
Wählen Sie Spark-Eigenschaften hinzufügen aus.
-
Wählen Sie im Dialogfeld „Spark-Eigenschaften“ einen Eigenschaftsnamen aus der Dropdownliste aus und geben Sie einen Wert ein.
Die folgenden Tabellen enthalten eine Definition für jede Eigenschaft.
Weitere Informationen zu Spark-Eigenschaften finden Sie unter Spark-Eigenschaften
in der Apache Spark-Dokumentation. Anmerkung
Sie können maximal 50 Spark-Eigenschaften konfigurieren. Jeder Eigenschaftswert kann bis zu 500 Zeichen lang sein.
Eigenschaftenname Description Standardwert spark.task.maxFailures
Steuert, wie oft eine Aufgabe hintereinander fehlschlagen kann, bevor der Job fehlschlägt. Erfordert einen Wert größer oder gleich 1. Die Anzahl der zulässigen Wiederholungen entspricht diesem Wert minus 1. Die Anzahl der Fehler wird zurückgesetzt, wenn ein Versuch erfolgreich ist. Fehler bei verschiedenen Aufgaben summieren sich nicht bis zu diesem Limit.
4
spark.sql.files.max PartitionBytes
Legt die maximale Anzahl von Byte fest, die beim Lesen aus dateibasierten Quellen wie Parquet, JSON und ORC in eine einzelne Partition gepackt werden sollen.
128 MB
spark.hadoop.fs.s3.max versucht es erneut
Legt die maximale Anzahl von Wiederholungsversuchen für Amazon S3 S3-Dateioperationen fest.
(Keine)
spark.network.timeout
Legt das Standard-Timeout für alle Netzwerkinteraktionen fest. Setzt die folgenden Timeout-Einstellungen außer Kraft, wenn sie nicht konfiguriert sind:
-
spark.storage.block ManagerHeartbeatTimeoutMs
-
spark.shuffle.io.ConnectionTimeout
-
spark.rpc.AskTimeout
-
spark.rpc.LookupTimeout
120 s
spark.rdd.com/presse
Gibt an, ob serialisierte RDD-Partitionen mit spark.io.compression.codec komprimiert werden sollen. Gilt für StorageLevel.MEMORY _ONLY_SER in Java und Scala oder StorageLevel.MEMORY _ONLY in Python. Reduziert den Speicherplatz, erfordert jedoch zusätzliche CPU-Verarbeitungszeit.
false
spark.shuffle.spill.com/press
Gibt an, ob Shuffle-Spill-Daten mit spark.io.compression.codec komprimiert werden sollen.
true
spark.shuffle.com/press
Gibt an, ob Map-Ausgabedateien komprimiert werden sollen. Bei der Komprimierung wird spark.io.compression.codec verwendet.
true
spark.shuffle.service.index.cache.size
Legt die Cache-Größenbeschränkung in Byte fest, sofern nicht anders angegeben.
100 m
spark.shuffle.io.max versucht es erneut
Legt die maximale Anzahl von Wiederholungen für Abrufe fest, die aufgrund von Ausnahmen fehlschlagen. IO-related
3
spark.shuffle.io.RetryWait
Legt die Wartezeit zwischen Wiederholungsversuchen von Abrufen fest. Die maximale Verzögerung, die durch einen erneuten Versuch verursacht wird, beträgt standardmäßig 15 Sekunden, berechnet als MaxRetries * RetryWait.
5s
spark.shuffle.io.ConnectionTimeout
Legt fest, dass das Timeout für hergestellte Verbindungen zwischen Shuffle-Servern und Clients als inaktiv markiert und geschlossen wird, wenn noch offene Abrufanforderungen, aber kein Verkehr auf dem Kanal vorhanden sind.
(Wert von spark.network.timeout)
spark.driver.max ResultSize
Legt die Gesamtgrößenbeschränkung der serialisierten Ergebnisse aller Partitionen für jede Spark-Aktion in Byte fest. Sollte mindestens 1 MB oder 0 für unbegrenzt sein.
1 g
spark.memory.fraction
Legt den Bruchteil von (Heap-Speicherplatz — 300 MB) fest, der für Ausführung und Speicherung verwendet wird. Je niedriger dieser Wert ist, desto häufiger kommt es zu Datenverlusten und zum Löschen zwischengespeicherter Daten. Es wird empfohlen, diesen Wert auf dem Standardwert zu belassen.
0.6
spark.scheduler.mode
Legt den Zeitplanungsmodus zwischen Jobs fest, die an denselben Server weitergeleitet werden. SparkContext Kann auf FAIR gesetzt werden, um Fair Sharing zu verwenden, anstatt Jobs nacheinander in die Warteschlange zu stellen. Unterstützte Werte: FAIR, FIFO.
FIFO
spark.sql.adaptive.advisory PartitionSizeInBytes
Legt die Zielgröße in Byte für Shuffle-Partitionen während der adaptiven Optimierung fest, wenn spark.sql.adaptive.enabled den Wert true hat. Steuert die Partitionsgröße beim Zusammenführen kleiner Partitionen oder beim Teilen schiefer Partitionen.
(Wert von spark.sql.adaptive.shuffle.target) PostShuffleInputSize
spark.sql.adaptive.auto BroadcastJoinThreshold
Legt die maximale Tabellengröße in Byte für die Übertragung an Worker-Knoten bei Joins fest. Gilt nur im adaptiven Framework. Verwendet denselben Standardwert wie BroadcastJoinThreshold spark.sql.auto. Auf -1 setzen, um die Übertragung zu deaktivieren.
(Keine)
spark.sql.adaptive.coalesce Partitions.enabled
Gibt an, ob zusammenhängende Shuffle-Partitionen, die auf spark.sql.adaptive.advisory basieren, zusammengeführt werden sollen, um die Aufgabengröße zu optimieren. PartitionSizeInBytes Erfordert, dass spark.sql.adaptive.enabled den Wert true hat.
true
spark.sql.adaptive.coalesce Partitions.initialPartitionNum
Definiert die anfängliche Anzahl von Shuffle-Partitionen vor dem Zusammenführen. Erfordert, dass sowohl spark.sql.adaptive.enabled als auch spark.sql.adaptive.coalesce den Wert true haben. Partitions.enabled Der Standardwert ist der Wert von spark.sql.shuffle.partitions.
(Keine)
spark.sql.adaptive.coalesce Partitions.minPartitionSize
Legt die Mindestgröße für zusammengeführte Shuffle-Partitionen fest, um zu verhindern, dass Partitionen während der adaptiven Optimierung zu klein werden.
1 MB
spark.sql.adaptive.coalesce Partitions.parallelismFirst
Gibt an, ob die Partitionsgrößen beim Zusammenführen von Partitionen auf der Grundlage der Cluster-Parallelität und nicht auf der Grundlage von spark.sql.adaptive.advisory berechnet werden sollen. PartitionSizeInBytes Generiert kleinere Partitionsgrößen als die konfigurierte Zielgröße, um die Parallelität zu maximieren. Wir empfehlen, diesen Wert bei stark frequentierten Clustern auf „False“ zu setzen, um die Ressourcennutzung zu verbessern und übermäßig kleine Aufgaben zu vermeiden.
true
spark.sql.adaptive.enabled
Gibt an, ob die adaptive Abfrageausführung aktiviert werden soll, um Abfragepläne während der Abfrageausführung auf der Grundlage genauer Laufzeitstatistiken erneut zu optimieren.
true
spark.sql.adaptive.force OptimizeSkewedJoin
Gibt an, ob die Aktivierung OptimizeSkewedJoin erzwungen werden soll, auch wenn dadurch zusätzlicher Shuffle eingeführt wird.
false
spark.sql.adaptive.local ShuffleReader.enabled
Gibt an, ob lokale Shuffle-Reader verwendet werden sollen, wenn die Shuffle-Partitionierung nicht erforderlich ist, z. B. nach der Konvertierung von Sort-Merge-Joins in Broadcast-Hash-Joins. Erfordert, dass spark.sql.adaptive.enabled den Wert true hat.
true
spark.sql.adaptive.max ShuffledHashJoinLocalMapThreshold
Legt die maximale Partitionsgröße in Byte für die Erstellung lokaler Hash-Maps fest. Priorisiert gemischte Hash-Joins gegenüber Sort-Merge-Joins, wenn:
-
Dieser Wert entspricht oder übersteigt spark.sql.adaptive.advisory PartitionSizeInBytes
-
Alle Partitionsgrößen liegen innerhalb dieses Grenzwerts
Setzt die Einstellung spark.sql.join.prefer SortMergeJoin außer Kraft.
0 Byte
spark.sql.adaptive.optimize SkewsInRebalancePartitions.enabled
Gibt an, ob schiefe Shuffle-Partitionen optimiert werden sollen, indem sie auf der Grundlage von spark.sql.adaptive.advisory in kleinere Partitionen aufgeteilt werden. PartitionSizeInBytes Erfordert, dass spark.sql.adaptive.enabled den Wert true hat.
true
spark.sql.adaptive.rebalance PartitionsSmallPartitionFactor
Definiert den Größenschwellenwert für das Zusammenführen von Partitionen beim Teilen. Partitionen, die kleiner sind als dieser Faktor multipliziert mit PartitionSizeInBytes spark.sql.adaptive.advisory, werden zusammengeführt.
0.2
spark.sql.adaptive.skew Join.enabled
Gibt an, ob Datenverzerrungen in gemischten Verknüpfungen behandelt werden sollen, indem schiefe Partitionen aufgeteilt und optional repliziert werden. Gilt für Sort-Merge- und Shuffled-Hash-Joins. Erfordert, dass spark.sql.adaptive.enabled wahr ist.
true
spark.sql.adaptive.skew Join.skewedPartitionFactor
Bestimmt den Größenfaktor, der den Partitionsversatz bestimmt. Eine Partition ist schief, wenn ihre Größe beide Werte überschreitet:
-
Dieser Faktor wird mit der mittleren Partitionsgröße multipliziert
-
Der Wert von spark.sql.adaptive.skew Join.skewedPartitionThresholdInBytes
5
spark.sql.adaptive.skew Join.skewedPartitionThresholdInBytes
Legt den Größenschwellenwert in Byte zur Identifizierung schiefer Partitionen fest. Eine Partition ist schief, wenn ihre Größe beide Werte überschreitet:
-
Dieser Schwellenwert
-
Die mittlere Partitionsgröße multipliziert mit spark.sql.adaptive.skew Join.skewedPartitionFactor
Wir empfehlen, diesen Wert größer als spark.sql.adaptive.advisory festzulegen. PartitionSizeInBytes
256 MB
spark.sql.BroadcastTimeout
Steuert den Timeout-Zeitraum in Sekunden für die Broadcast-Operationen bei Broadcast-Joins.
300 Sekunden
spark.sql.cbo.enabled
Gibt an, ob die kostenbasierte Optimierung (CBO) für die Schätzung von Planstatistiken aktiviert werden soll.
false
spark.sql.cbo.join Reorder.dp.star.filter
Gibt an, ob bei der kostenbasierten Join-Aufzählung Heuristiken des Star-Join-Filters angewendet werden sollen.
false
spark.sql.cbo.join Reorder.dp.threshold
Legt die maximale Anzahl verbundener Knoten fest, die im dynamischen Programmieralgorithmus zulässig sind.
12
spark.sql.cbo.join Reorder.enabled
Gibt an, ob die Neuordnung von Verknüpfungen bei der kostenbasierten Optimierung (CBO) aktiviert werden soll.
false
spark.sql.cbo.plan Stats.enabled
Gibt an, ob bei der Generierung logischer Pläne Zeilenanzahl und Spaltenstatistiken aus dem Katalog abgerufen werden sollen.
false
spark.sql.cbo.star SchemaDetection
Gibt an, ob die Neuordnung von Verknüpfungen auf der Grundlage der Star-Schemaerkennung aktiviert werden soll.
false
spark.sql.files.max PartitionNum
Legt die maximale Zielanzahl von geteilten Dateipartitionen für dateibasierte Quellen (Parquet, JSON und ORC) fest. Skaliert Partitionen neu, wenn die anfängliche Anzahl diesen Wert überschreitet. Dies ist ein empfohlenes Ziel, kein garantiertes Limit.
(Keine)
spark.sql.files.max RecordsPerFile
Legt die maximale Anzahl von Datensätzen fest, die in eine einzelne Datei geschrieben werden können. Wenn der Wert auf Null oder einen negativen Wert gesetzt ist, gilt kein Limit.
0
spark.sql.files.min PartitionNum
Legt die angestrebte Mindestanzahl von geteilten Dateipartitionen für dateibasierte Quellen (Parquet, JSON und ORC) fest. Die Standardeinstellung ist spark.sql.leaf. NodeDefaultParallelism Dies ist ein empfohlenes Ziel, kein garantiertes Limit.
(Keine)
spark.sql.in MemoryColumnarStorage.batchSize
Steuert die Batchgröße für das spaltenförmige Caching. Eine Erhöhung der Größe verbessert die Speichernutzung und Komprimierung, erhöht jedoch das Risiko von Fehlern aufgrund unzureichender Speicherkapazität.
10000
spark.sql.in MemoryColumnarStorage.compressed
Gibt an, ob Kompressionscodecs für Spalten auf der Grundlage von Datenstatistiken automatisch ausgewählt werden sollen.
true
spark.sql.in MemoryColumnarStorage.enableVectorizedReader
Gibt an, ob vektorisiertes Lesen für das spaltenorientierte Zwischenspeichern aktiviert werden soll.
true
spark.sql.legacy.allow HashOnMapType
Gibt an, ob Hash-Operationen für Map-Datenstrukturen zulässig sind. Diese Legacy-Einstellung gewährleistet die Kompatibilität mit der Map-Typ-Behandlung älterer Spark-Versionen.
(Keine)
spark.sql.legacy.allow NegativeScaleOfDecimal
Gibt an, ob negative Skalenwerte in Dezimaltypdefinitionen zulässig sind. Diese ältere Einstellung gewährleistet die Kompatibilität mit älteren Spark-Versionen, die negative Dezimalskalen unterstützten.
(Keine)
spark.sql.legacy.cast ComplexTypesToString.enabled
Gibt an, ob das veraltete Verhalten für die Umwandlung komplexer Typen in Zeichenketten aktiviert werden soll. Behält die Kompatibilität mit den Typkonvertierungsregeln älterer Spark-Versionen bei.
(Keine)
spark.sql.legacy.char VarcharAsString
Gibt an, ob die Typen CHAR und VARCHAR als STRING-Typen behandelt werden sollen. Diese Legacy-Einstellung bietet Kompatibilität mit der Verarbeitung von String-Typen in älteren Spark-Versionen.
(Keine)
spark.sql.legacy.create EmptyCollectionUsingStringType
Gibt an, ob leere Sammlungen mithilfe von Elementen vom Typ Zeichenfolge erstellt werden sollen. Diese Legacy-Einstellung gewährleistet die Kompatibilität mit dem Verhalten älterer Spark-Versionen bei der Initialisierung von Sammlungen.
(Keine)
spark.sql.legacy.exponent LiteralAsDecimal.enabled
Gibt an, ob exponentielle Literale als Dezimaltypen interpretiert werden sollen. Diese Legacy-Einstellung gewährleistet die Kompatibilität mit der numerischen Literalverarbeitung älterer Spark-Versionen.
(Keine)
spark.sql.legacy.json.allow EmptyString.enabled
Gibt an, ob leere Zeichenketten bei der JSON-Verarbeitung zulässig sind. Diese Legacy-Einstellung gewährleistet die Kompatibilität mit dem JSON-Parsing-Verhalten älterer Spark-Versionen.
(Keine)
spark.sql.legacy.parquet.int96 RebaseModelRead
Gibt an, ob beim Lesen von Parquet-Dateien der alte INT96-Timestamp-Rebase-Modus verwendet werden soll. Diese Legacy-Einstellung gewährleistet die Kompatibilität mit der Zeitstempelverarbeitung älterer Spark-Versionen.
(Keine)
spark.sql.legacy.time ParserPolicy
Steuert das Verhalten bei der Zeitanalyse aus Gründen der Abwärtskompatibilität. Diese ältere Einstellung bestimmt, wie Zeitstempel und Datumsangaben anhand von Zeichenketten analysiert werden.
(Keine)
spark.sql.legacy.type Coercion.datetimeToString.enabled
Gibt an, ob das Zwangsverhalten älterer Typen bei der Konvertierung von Datetime-Werten in Zeichenketten aktiviert werden soll. Behält die Kompatibilität mit den Datetime-Konvertierungsregeln älterer Spark-Versionen bei.
(Keine)
spark.sql.max SinglePartitionBytes
Legt die maximale Partitionsgröße in Byte fest. Der Planer führt Shuffle-Operationen für größere Partitionen ein, um die Parallelität zu verbessern.
128 m
spark.sql.MetadatacacheTTL Sekunden
Steuert die Time-to-Live (TTL) für Metadaten-Caches. Gilt für Metadaten von Partitionsdateien und Sitzungskatalog-Caches. Erfordert:
-
Ein positiver Wert größer als Null
-
spark.sql.CatalogImplementation ist auf Hive gesetzt
-
PartitionFileCacheSize spark.sql.hive.filesource größer als Null
-
spark.sql.hive.manage auf true gesetzt FilesourcePartitions
-1000 ms
spark.sql.optimizer.collapse ProjectAlwaysInline
Gibt an, ob benachbarte Projektionen und Inline-Ausdrücke ausgeblendet werden sollen, auch wenn dies zu Duplizierungen führt.
false
spark.sql.optimizer.dynamic PartitionPruning.enabled
Gibt an, ob Prädikate für Partitionsspalten generiert werden sollen, die als Join-Schlüssel verwendet werden.
true
spark.sql.optimizer.enable CsvExpressionOptimization
Gibt an, ob CSV-Ausdrücke im SQL-Optimizer optimiert werden sollen, indem unnötige Spalten aus from_csv-Vorgängen entfernt werden.
true
spark.sql.optimizer.enable JsonExpressionOptimization
Gibt an, ob JSON-Ausdrücke im SQL-Optimizer wie folgt optimiert werden sollen:
-
Löschen unnötiger Spalten aus from_json-Vorgängen
-
Vereinfachung der Kombinationen from_json und to_json
-
Optimierung von named_struct-Operationen
true
spark.sql.Optimizer.ExcludedRules
Definiert zu deaktivierende Optimizer-Regeln, identifiziert durch kommagetrennte Regelnamen. Einige Regeln können nicht deaktiviert werden, da sie aus Gründen der Richtigkeit erforderlich sind. Der Optimizer protokolliert, welche Regeln erfolgreich deaktiviert wurden.
(Keine)
spark.sql.optimizer.runtime.bloom Filter.applicationSideScanSizeThreshold
Legt die minimale aggregierte Scangröße in Byte fest, die erforderlich ist, um einen Bloom-Filter auf der Anwendungsseite einzufügen.
10 GB
spark.sql.optimizer.runtime.bloom Filter.creationSideThreshold
Definiert den maximalen Größenschwellenwert für das Einfügen eines Bloom-Filters auf der Erstellungsseite.
10 MB
spark.sql.optimizer.runtime.bloom Filter.enabled
Gibt an, ob ein Bloom-Filter eingefügt werden soll, um Shuffle-Daten zu reduzieren, wenn eine Seite eines Shuffle-Joins ein selektives Prädikat hat.
true
spark.sql.optimizer.runtime.bloom Filter.expectedNumItems
Definiert die Standardanzahl erwarteter Elemente im Runtime-Bloom-Filter.
1000000
spark.sql.optimizer.runtime.bloom Filter.maxNumBits
Legt die maximale Anzahl von Bits fest, die im Runtime-Bloom-Filter zulässig sind.
67108864
spark.sql.optimizer.runtime.bloom Filter.maxNumItems
Legt die maximale Anzahl erwarteter Elemente fest, die im Runtime-Bloom-Filter zulässig sind.
4000000
spark.sql.optimizer.runtime.bloom Filter.numBits
Definiert die Standardanzahl von Bits, die im Runtime-Bloom-Filter verwendet werden.
8388608
spark.sql.optimizer.runtime.rowlevel OperationGroupFilter.enabled
Gibt an, ob die Laufzeitgruppenfilterung für Operationen auf Zeilenebene aktiviert werden soll. Ermöglicht Datenquellen:
-
Löschen ganzer Datengruppen (wie Dateien oder Partitionen) mithilfe von Datenquellenfiltern
-
Führen Sie Laufzeitabfragen aus, um übereinstimmende Datensätze zu identifizieren
-
Verwerfen Sie unnötige Gruppen, um teure Neuschreibungen zu vermeiden
Einschränkungen:
-
Nicht alle Ausdrücke können in Datenquellenfilter konvertiert werden
-
Einige Ausdrücke erfordern eine Spark-Auswertung (z. B. Unterabfragen)
true
spark.sql.optimizer.runtime Filter.number.threshold
Legt die Gesamtzahl der injizierten Laufzeitfilter (ohne DPP) fest. Dies dient dazu, Treiber-OOMs mit zu vielen Bloom-Filtern zu verhindern.
10
spark.sql.optimizer.runtime Filter.semiJoinReduction.enabled
Gibt an, ob ein Semi-Join eingefügt werden soll, um Shuffle-Daten zu reduzieren, wenn eine Seite eines Shuffle-Joins ein selektives Prädikat hat.
false
spark.sql.parquet.AggregatePushDown
Gibt an, ob Aggregate zur Optimierung nach Parquet übertragen werden sollen. Unterstützt:
-
MIN und MAX für die Typen Boolean, Integer, Float und Date
-
COUNT für alle Datentypen
Löst eine Ausnahme aus, wenn Statistiken in einer Fußzeile einer Parquet-Datei fehlen.
false
spark.sql.parquet.columnar ReaderBatchSize
Steuert die Anzahl der Zeilen in jedem vektorisierten Parquet-Reader-Stapel. Wählen Sie einen Wert, der den Leistungsaufwand und die Speichernutzung in Einklang bringt, um Fehler bei unzureichendem Arbeitsspeicher zu vermeiden.
4096
spark.sql.parquet.enable VectorizedReader
Gibt an, ob die vektorisierte Parquet-Decodierung aktiviert werden soll.
true
spark.sql.shuffle.partitions
Legt die Standardanzahl von Partitionen für das Mischen von Daten bei Verknüpfungen oder Aggregationen fest. Kann zwischen Neustarts strukturierter Streaming-Abfragen von derselben Checkpoint-Position aus nicht geändert werden.
200
spark.sql.shuffled HashJoinFactor
Definiert den Multiplikationsfaktor, der verwendet wird, um die Eignung für einen Shuffle-Hash-Join zu bestimmen. Ein Shuffle-Hash-Join wird ausgewählt, wenn die Datengröße der kleinen Seite multipliziert mit diesem Faktor kleiner als die Datengröße der großen Seite ist.
3
spark.sql.sources.parallel PartitionDiscovery.threshold
Legt die maximale Anzahl von Pfaden für die treiberseitige Dateiauflistung mit dateibasierten Quellen (Parquet, JSON und ORC) fest. Wenn sie bei der Partitionserkennung überschritten werden, werden Dateien mithilfe eines separaten verteilten Spark-Jobs aufgelistet.
32
spark.sql.statistics.histogram.enabled
Gibt an, ob bei der Berechnung der Spaltenstatistiken Histogramme mit gleicher Höhe generiert werden sollen, um die Schätzgenauigkeit zu verbessern. Erfordert einen zusätzlichen Tabellenscan, der über den für einfache Spaltenstatistiken erforderlichen hinausgeht.
false
spark.dynamic Allocation.executorIdleTimeout
Legt fest, wie lange ein Executor inaktiv sein muss, bevor er entfernt wird, wenn die dynamische Zuweisung aktiviert ist.
60er
spark.dynamisch Allocation.schedulerBacklogTimeout
Legt fest, wie lange ausstehende Aufgaben zurückgestellt werden müssen, bevor neue Executoren angefordert werden, wenn die dynamische Zuweisung aktiviert ist.
1s
spark.dynamisch Allocation.sustainedSchedulerBacklogTimeout
Wie spark.dynamicAllocation.schedulerBacklogTimeout, wird aber nur für nachfolgende Executor-Anfragen verwendet.
(Wert von spark.dynamic) Allocation.schedulerBacklogTimeout
spark.scheduler.min RegisteredResourcesRatio
Legt das Mindestverhältnis registrierter Ressourcen (registrierte Ressourcen zu erwarteten Gesamtressourcen) fest, auf das gewartet werden soll, bevor die Planung beginnt. Wird als Double zwischen 0,0 und 1,0 angegeben. Unabhängig davon, ob das Mindestverhältnis der Ressourcen erreicht wurde, wird die maximale Wartezeit bis zum Beginn der Planung von RegisteredResourcesWaitingTime spark.scheduler.max gesteuert.
0.8
spark.scheduler.max RegisteredResourcesWaitingTime
Legt die maximale Wartezeit für die Registrierung von Ressourcen fest, bevor die Planung beginnt.
30s
spark.sql.hive.metastore PartitionPruningFallbackOnException
Gibt an, ob auf das Abrufen aller Partitionen aus dem Hive-Metastore zurückgegriffen und Partitionsbereinigungen auf der Spark-Client-Seite durchgeführt werden sollen, wenn ein Zugriff aus dem Metastore erfolgt. MetaException
false
Eigenschaftenname Description Standardwert spark.sql.auto BroadcastJoinThreshold
Legt die maximale Tabellengröße in Byte für die Übertragung an Worker-Knoten bei Joins fest. Auf -1 setzen, um die Übertragung zu deaktivieren.
10 MB
spark.io.compression.codec
Legt den Codec fest, der zum Komprimieren interner Daten wie RDD-Partitionen, Ereignisprotokolle, Broadcast-Variablen und Shuffle-Ausgaben verwendet wird. Unterstützte Werte: lz4, snappy, zstd, gzip.
lz4
spark.sql.session.TimeZone
Definiert die Sitzungszeitzone für die Verarbeitung von Zeitstempeln in Zeichenfolgenliteralen und die Konvertierung von Java-Objekten. Akzeptiert:
-
Region-based IDs im area/city Format (z. B. America/Los _Angeles)
-
Zonenversätze im HH:mm:ss Format (+/-) HH, (+/-) HH:mm oder (+/-) (z. B. -08 oder + 01:00)
-
UTC oder Z als Aliase für + 00:00
(Wert der lokalen Zeitzone)
spark.cleanrooms.executor.memory OverheadFactor
Legt den Anteil des gesamten Executor-Speichers fest, der verwendet wird, um die Aufteilung zwischen spark.executor.memory und spark.executor.MemoryOverhead zu bestimmen. Wird als Double zwischen 0,0 und weniger als 1,0 angegeben.
0.1
spark.cleanrooms.driver.memory OverheadFactor
Legt den Anteil des gesamten Treiberspeichers fest, der verwendet wird, um die Aufteilung zwischen spark.driver.memory und spark.driver.MemoryOverhead zu bestimmen. Wird als Double zwischen 0,0 und weniger als 1,0 angegeben.
0.1
spark.memory.storageFraction
Legt die Größe des Speichers fest, der gegen eine Löschung immun ist, ausgedrückt als Bruchteil der Größe der Region, die durch spark.memory.fraction reserviert wurde. Je höher dieser Wert ist, desto weniger Arbeitsspeicher steht möglicherweise zur Ausführung zur Verfügung und Aufgaben können häufiger auf die Festplatte übertragen werden. Es wird empfohlen, diesen Wert auf dem Standardwert zu belassen.
0.5
spark.rpc.AskTimeout
Legt fest, wie lange ein RPC-Abfragevorgang vor einem Timeout warten soll.
(Wert von spark.network.timeout)
spark.executor.HeartbeatInterval
Legt das Intervall zwischen den Heartbeats der einzelnen Executoren für den Treiber fest. Heartbeats informieren den Treiber darüber, dass der Executor noch aktiv ist, und aktualisieren ihn mit Metriken für laufende Aufgaben. spark.executor.HeartbeatInterval sollte deutlich kürzer sein als spark.network.timeout.
10s
spark.stage.max ConsecutiveAttempts
Legt die Anzahl der aufeinanderfolgenden Versuche fest, die zulässig sind, bevor eine Phase abgebrochen wird.
4
spark.task.cpus
Legt die Anzahl der Kerne fest, die jeder Aufgabe zugewiesen werden sollen.
1
spark.shuffle.file.buffer
Legt die Größe des In-Memory-Puffers für jeden Shuffle-Dateiausgabestrom in KiB fest, sofern nicht anders angegeben. Diese Puffer reduzieren die Anzahl von Festplattensuchen und Systemaufrufen, die bei der Erstellung zwischengeschalteter Shuffle-Dateien ausgeführt werden.
32 000
spark.reducer.max SizeInFlight
Legt die maximale Größe der Map-Ausgaben fest, die gleichzeitig von jeder Reduce-Aufgabe abgerufen werden sollen, in MiB, sofern nicht anders angegeben. Da für jede Ausgabe ein Puffer erforderlich ist, um sie zu empfangen, entspricht dies einem festen Speicheraufwand pro Reduce-Task. Halten Sie ihn also klein, sofern Sie nicht über eine große Speichermenge verfügen.
48 m
-
-
(Optional) Wählen Sie unter Compute Payer das Collaboration-Mitglied aus, das die Rechenkosten für den Job bezahlt.
Anmerkung
Wenn es in der Kollaboration nur einen Kandidaten für die Auftragsdatenverarbeitung gibt, wird standardmäßig dieser Zahler verwendet.
-
Klicken Sie auf Ausführen.
Anmerkung
Sie können den Job nicht ausführen, wenn das Mitglied, das Ergebnisse erhalten kann, die Einstellungen für die Auftragsergebnisse nicht konfiguriert hat.
-
Passen Sie die Parameter weiter an und führen Sie Ihren Job erneut aus, oder klicken Sie auf die Schaltfläche +, um einen neuen Job auf einer neuen Registerkarte zu starten.