Erstellen eines ML-Eingabekanals in AWS Clean Rooms ML - AWS Clean Rooms

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.

Erstellen eines ML-Eingabekanals in AWS Clean Rooms ML

Voraussetzungen:

  • Und AWS-Konto mit Zugriff auf AWS Clean Rooms

  • Eine Zusammenarbeit, AWS Clean Rooms in der Sie den ML-Eingangskanal erstellen möchten

  • Berechtigungen zum Abfragen von Daten und zum Erstellen von ML-Eingabekanälen in der Kollaboration.

  • (Optional) Ein vorhandener Modellalgorithmus, der dem ML-Eingabekanal zugeordnet werden soll, oder Berechtigungen zum Erstellen eines neuen

  • (Optional) Tabellen mit Analyseregeln, die für das angegebene Modell ausgeführt werden können.

  • (Optional) Eine vorhandene SQL-Abfrage- oder Analysevorlage, die für die Generierung des Datensatzes verwendet werden soll

  • (Optional) Eine vorhandene Servicerolle mit entsprechenden Berechtigungen oder Berechtigungen zum Erstellen einer neuen Servicerolle

  • (Optional) Ein benutzerdefinierter AWS KMS Schlüssel, wenn Sie Ihren eigenen Verschlüsselungsschlüssel verwenden möchten

  • Entsprechende Berechtigungen zum Erstellen und Verwalten von ML-Modellen in der Zusammenarbeit

Ein ML-Eingabekanal ist ein Datensatz, der anhand einer bestimmten Datenabfrage erstellt wird. Mitglieder mit der Fähigkeit, Daten abzufragen, können ihre Daten für Training und Inferenz vorbereiten, indem sie einen ML-Eingabekanal erstellen. Durch die Erstellung eines ML-Eingangskanals können diese Daten in verschiedenen Trainingsmodellen innerhalb derselben Zusammenarbeit verwendet werden. Sie sollten separate ML-Eingangskanäle für Training und Inferenz erstellen.

Um einen ML-Eingabekanal zu erstellen, müssen Sie die SQL-Abfrage angeben, die zur Abfrage der Eingabedaten verwendet wird, und den ML-Eingabekanal erstellen. Die Ergebnisse dieser Abfrage werden niemals an ein Mitglied weitergegeben und bleiben innerhalb der Grenzen von Clean Rooms ML. Die Referenz Amazon Resource Name (ARN) wird in den nächsten Schritten verwendet, um ein Modell zu trainieren oder Inferenz auszuführen.

Console
Um einen ML-Eingangskanal (Konsole) zu erstellen
  1. Melden Sie sich bei https://console.aws.amazon.com/cleanrooms an AWS-Managementkonsole und öffnen Sie die AWS Clean Rooms Konsole.

  2. Wählen Sie im linken Navigationsbereich Collaborations aus.

  3. Wählen Sie auf der Seite Collaborations die Kollaboration aus, für die Sie einen ML-Eingabekanal erstellen möchten.

  4. Wählen Sie nach dem Öffnen der Kollaboration die Registerkarte ML-Modelle aus.

  5. Wählen Sie unter Benutzerdefinierte ML-Modelle im Abschnitt ML-Eingangskanäle die Option ML-Eingangskanal erstellen aus.

  6. Gehen Sie auf der Seite „ML-Eingangskanal erstellen“ für Details zum ML-Eingangskanal wie folgt vor:

    1. Geben Sie unter Name einen eindeutigen Namen für Ihren Kanal ein.

    2. (Optional) Geben Sie unter Beschreibung eine Beschreibung Ihres Kanals ein.

    3. Wählen Sie unter Assoziierter Modellalgorithmus den zu verwendenden Algorithmus aus.

      Wählen Sie Modellalgorithmus zuordnen aus, um einen neuen Modellalgorithmus hinzuzufügen.

  7. Wählen Sie für Datensatz eine Methode zum Generieren des Trainingsdatensatzes aus:

    • Wählen Sie SQL-Abfrage, um die Ergebnisse einer SQL-Abfrage als Trainingsdatensatz zu verwenden.

      Wenn Sie SQL-Abfrage gewählt haben, geben Sie Ihre Abfrage in das SQL-Abfragefeld ein.

      (Optional) Um eine Abfrage zu importieren, die Sie kürzlich verwendet haben, wählen Sie Aus letzten Abfragen importieren aus.

    • Wählen Sie Analysevorlage aus, um die Ergebnisse einer Analysevorlage als Trainingsdatensatz zu verwenden.

      Warnung

      Die Generierung synthetischer Daten schützt vor dem Ableiten einzelner Attribute, unabhängig davon, ob bestimmte Personen im ursprünglichen Datensatz vorhanden sind oder Lernattribute dieser Personen vorhanden sind. Es verhindert jedoch nicht, dass wörtliche Werte aus dem ursprünglichen Datensatz, einschließlich persönlich identifizierbarer Informationen (PII), im synthetischen Datensatz erscheinen.

      Wir empfehlen, Werte im Eingabedatensatz zu vermeiden, die nur einer betroffenen Person zugeordnet sind, da diese eine betroffene Person neu identifizieren können. Wenn beispielsweise nur ein Benutzer in einer Postleitzahl wohnt, würde das Vorhandensein dieser Postleitzahl im synthetischen Datensatz bestätigen, dass sich der Benutzer im ursprünglichen Datensatz befand. Techniken wie das Kürzen hochgenauer Werte oder das Ersetzen ungewöhnlicher Kataloge durch andere können verwendet werden, um dieses Risiko zu minimieren. Diese Transformationen können Teil der Abfrage sein, die zur Erstellung des ML-Eingabekanals verwendet wird.

    1. Wenn keine Tabellen verknüpft sind, wählen Sie Tabelle zuordnen aus, um Tabellen mit einer Analyseregel hinzuzufügen, die für das angegebene Modell ausgeführt werden kann.

    2. Wählen Sie den Worker-Typ aus, der bei der Erstellung dieses Datenkanals verwendet werden soll. Der Standard-Worker-Typ ist CR.1X. Geben Sie die Anzahl der zu verwendenden Worker an. Die Standardnummer der Arbeiter ist 16. So geben Sie Spark-Eigenschaften an:

      1. Erweitern Sie Spark-Eigenschaften.

      2. Wählen Sie Spark-Eigenschaften hinzufügen.

      3. Wählen Sie im Dialogfeld „Spark-Eigenschaften“ einen Eigenschaftsnamen aus der Dropdownliste aus und geben Sie einen Wert ein.

      Die folgende Tabelle enthält eine Definition für jede Eigenschaft.

      Weitere Informationen zu Spark-Eigenschaften finden Sie unter Spark-Eigenschaften in der Apache Spark-Dokumentation.

      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 Fehlschläge wird zurückgesetzt, wenn ein Versuch erfolgreich ist. Fehler bei verschiedenen Aufgaben summieren sich nicht bis zu diesem Limit.

      4

      spark.sql.files. maxPartitionBytes

      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.

      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. blockManagerHeartbeatTimeoutMs

      • 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 .MEMORY_ONLY in Python. StorageLevel 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.sql.adaptive. advisoryPartitionSizeInBytes

      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. targetPostShuffleInputSize)

      spark.sql.adaptiv. autoBroadcastJoinSchwellenwert

      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 spark.sql. autoBroadcastJoinSchwellenwert. Auf -1 setzen, um die Übertragung zu deaktivieren.

      (Keine)

      spark.sql.adaptive.CoalescePartitions.Enabled

      Gibt an, ob zusammenhängende Shuffle-Partitionen, die auf spark.sql.adaptive basieren, zusammengeführt werden sollen. advisoryPartitionSizeInBytes um die Aufgabengröße zu optimieren. Erfordert, dass spark.sql.adaptive.enabled den Wert true hat.

      TRUE

      spark.sql.adaptive.CoalescePartitions. 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.CoalescePartitions.Enabled den Wert true haben. Der Standardwert ist der Wert von spark.sql.shuffle.partitions.

      (Keine)

      spark.sql.adaptive.CoalescePartitions. 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.CoalescePartitions.ParallelismFirst

      Gibt an, ob Partitionsgrößen auf der Grundlage der Cluster-Parallelität und nicht auf der Grundlage von spark.sql.adaptive berechnet werden sollen. advisoryPartitionSizeInBytes während der Zusammenführung von Partitionen. 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. forceOptimizeSkewedBeitreten

      Gibt an, ob die Aktivierung erzwungen werden soll, OptimizeSkewedJoin auch wenn dadurch zusätzlicher Shuffle eingeführt wird.

      FALSE

      spark.sql.adaptive. localShuffleReader. aktiviert

      Gibt an, ob lokale Shuffle-Reader verwendet werden sollen, wenn eine 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. maxShuffledHashJoinLocalMapThreshold

      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. advisoryPartitionSizeInBytes

      • Alle Partitionsgrößen liegen innerhalb dieser Grenze

      Überschreibt spark.sql.join. preferSortMergeJoin-Einstellung.

      0 Byte

      spark.sql.adaptiv. optimizeSkewsInRebalancePartitions. aktiviert

      Gibt an, ob schiefe Shuffle-Partitionen optimiert werden sollen, indem sie auf der Grundlage von spark.sql.adaptive in kleinere Partitionen aufgeteilt werden. advisoryPartitionSizeInBytes. Erfordert, dass spark.sql.adaptive.enabled wahr ist.

      TRUE

      spark.sql.adaptive. rebalancePartitionsSmallPartitionFactor

      Definiert den Größenschwellenwert für das Zusammenführen von Partitionen beim Teilen. Partitionen, die kleiner sind als dieser Faktor multipliziert mit spark.sql.adaptive. advisoryPartitionSizeInBytes werden zusammengeführt.

      0.2

      spark.sql.Adaptive.SkewJoin.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.SkewJoin. skewedPartitionFactor

      Bestimmt den Größenfaktor, der die Partitionsneigung 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.SkewJoin. skewedPartitionThresholdInBytes

      5

      spark.sql.Adaptive.SkewJoin. 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.SkewJoin. skewedPartitionFactor

      Wir empfehlen, diesen Wert größer als spark.sql.adaptive festzulegen. advisoryPartitionSizeInBytes.

      256 MB

      spark.sql. autoBroadcastJoinSchwellenwert

      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.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.JoinReorder.DP.Star.Filter

      Gibt an, ob bei der kostenbasierten Join-Aufzählung Heuristiken des Star-Join-Filters angewendet werden sollen.

      FALSE

      spark.sql.CBO.JoinReorder.DP.Threshold

      Legt die maximale Anzahl verbundener Knoten fest, die im dynamischen Programmieralgorithmus zulässig sind.

      12

      spark.sql.CBO.JoinReorder.Enabled

      Gibt an, ob die Neuanordnung von Verknüpfungen bei der kostenbasierten Optimierung (CBO) aktiviert werden soll.

      FALSE

      spark.sql.CBO.PlanStats.Enabled

      Gibt an, ob bei der Generierung logischer Pläne Zeilenanzahl und Spaltenstatistiken aus dem Katalog abgerufen werden sollen.

      FALSE

      spark.sql.cbo. starSchemaDetection

      Gibt an, ob die Neuanordnung von Verknüpfungen auf der Grundlage der Star-Schemaerkennung aktiviert werden soll.

      FALSE

      spark.sql.files. maxPartitionNum

      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. maxRecordsPerDatei

      Legt die maximale Anzahl von Datensätzen fest, die in eine einzelne Datei geschrieben werden sollen. Wenn der Wert auf Null oder einen negativen Wert gesetzt ist, gilt kein Limit.

      0

      spark.sql.files. minPartitionNum

      Legt die Mindestanzahl von geteilten Dateipartitionen für dateibasierte Quellen (Parquet, JSON und ORC) fest. Die Standardeinstellung ist spark.sql. leafNodeDefaultParallelität. Dies ist ein empfohlenes Ziel, kein garantiertes Limit.

      (Keine)

      spark.sql. inMemoryColumnarSpeicher. Batchgröße

      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 Fehlerrisiko out-of-memory.

      10000

      spark.sql. inMemoryColumnarSpeicher. Komprimiert

      Gibt an, ob auf der Grundlage von Datenstatistiken automatisch Komprimierungscodecs für Spalten ausgewählt werden sollen.

      TRUE

      spark.sql. inMemoryColumnarAufbewahrung. enableVectorizedReader

      Gibt an, ob vektorisiertes Lesen für das spaltenförmige Caching aktiviert werden soll.

      TRUE

      spark.sql.legacy. allowHashOnMapType

      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.

      spark.sql.legacy. allowNegativeScaleOfDecimal

      Gibt an, ob negative Skalenwerte in Dezimaltypdefinitionen zulässig sind. Diese Legacy-Einstellung gewährleistet die Kompatibilität mit älteren Spark-Versionen, die negative Dezimalskalen unterstützten.

      spark.sql.legacy. castComplexTypesToString. aktiviert

      Gibt an, ob veraltetes Verhalten für die Umwandlung komplexer Typen in Zeichenketten aktiviert werden soll. Behält die Kompatibilität mit den Typkonvertierungsregeln älterer Spark-Versionen bei.

      spark.sql.legacy. charVarcharAsZeichenfolge

      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.

      spark.sql.legacy. createEmptyCollectionUsingStringType

      Gibt an, ob leere Sammlungen mithilfe von Zeichenkettenelementen erstellt werden sollen. Diese Legacy-Einstellung gewährleistet die Kompatibilität mit dem Verhalten älterer Spark-Versionen bei der Initialisierung von Sammlungen.

      spark.sql.legacy. exponentLiteralAsDezimal. Aktiviert

      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.

      spark.sql.legacy.json. allowEmptyString. aktiviert

      Gibt an, ob leere Zeichenfolgen bei der JSON-Verarbeitung zulässig sind. Diese Legacy-Einstellung gewährleistet die Kompatibilität mit dem JSON-Parsing-Verhalten älterer Spark-Versionen.

      spark.sql.legacy.parquet.int96 RebaseModelRead

      Gibt an, ob beim Lesen von Parquet-Dateien der alte Timestamp-Rebase-Modus verwendet werden soll. INT96 Diese Legacy-Einstellung gewährleistet die Kompatibilität mit der Zeitstempelverarbeitung älterer Spark-Versionen.

      spark.sql.legacy. timeParserPolicy

      Steuert das Zeitanalyseverhalten aus Gründen der Abwärtskompatibilität. Diese ältere Einstellung bestimmt, wie Zeitstempel und Datumsangaben anhand von Zeichenketten analysiert werden.

      spark.sql.Legacy.TypeCoercion. datetimeToString. aktiviert

      Gibt an, ob bei der Konvertierung von Datetime-Werten in Zeichenfolgen das Zwangsverhalten älterer Typen aktiviert werden soll. Behält die Kompatibilität mit den Datetime-Konvertierungsregeln älterer Spark-Versionen bei.

      spark.sql. maxSinglePartitionByte

      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.Metadatencache TTLSeconds

      Steuert die (TTL) für time-to-live Metadaten-Caches. Gilt für Partitionsdatei-Metadaten und Sitzungskatalog-Caches. Erfordert:

      • Ein positiver Wert größer als Null

      • spark.sql.CatalogImplementation ist auf Hive gesetzt

      • spark.sql.hive. filesourcePartitionFileCacheSize größer als Null

      • spark.sql.hive. manageFilesourcePartitions auf true gesetzt

      -1000 ms

      spark.sql.optimizer. collapseProjectAlwaysInline

      Gibt an, ob benachbarte Projektionen und Inline-Ausdrücke ausgeblendet werden sollen, auch wenn dies zu Duplikaten führt.

      FALSE

      spark.sql.optimizer. dynamicPartitionPruning. aktiviert

      Gibt an, ob Prädikate für Partitionsspalten generiert werden sollen, die als Join-Schlüssel verwendet werden.

      TRUE

      spark.sql.optimizer. enableCsvExpressionOptimierung

      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. enableJsonExpressionOptimierung

      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.BloomFilter. 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.BloomFilter. creationSideThreshold

      Definiert den maximalen Größenschwellenwert für die Injektion eines Bloom-Filters auf der Erstellungsseite.

      10 MB

      spark.sql.Optimizer.Runtime.BloomFilter.Enabled

      Gibt an, ob ein Bloom-Filter eingefügt werden soll, um Shuffle-Daten zu reduzieren, wenn eine Seite einer Shuffle-Verknüpfung über ein selektives Prädikat verfügt.

      TRUE

      spark.sql.optimizer.runtime.BloomFilter. expectedNumItems

      Definiert die Standardanzahl erwarteter Elemente im Runtime-Bloom-Filter.

      1000000

      spark.sql.optimizer.runtime.BloomFilter. maxNumBits

      Legt die maximale Anzahl von Bits fest, die im Runtime-Bloom-Filter zulässig sind.

      67108864

      spark.sql.optimizer.runtime.BloomFilter. maxNumItems

      Legt die maximale Anzahl erwarteter Elemente fest, die im Runtime-Bloom-Filter zulässig sind.

      4000000

      spark.sql.optimizer.runtime.BloomFilter.Number.Threshold

      Schränkt die maximale Anzahl von Nicht-DPP-Laufzeitfiltern pro Abfrage ein, um Fehler im Treiber zu verhindern. out-of-memory

      10

      spark.sql.optimizer.runtime.BloomFilter.NumBits

      Definiert die Standardanzahl von Bits, die im Runtime-Bloom-Filter verwendet werden.

      8388608

      spark.sql.optimizer.runtime. rowlevelOperationGroupFilter. Aktiviert

      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.RuntimeFilter. semiJoinReduction. aktiviert

      Gibt an, ob ein Semi-Join eingefügt werden soll, um die Anzahl der Shuffle-Daten zu reduzieren, wenn eine Seite einer Shuffle-Verknüpfung über ein selektives Prädikat verfügt.

      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. columnarReaderBatchGröße

      Steuert die Anzahl der Zeilen in jedem Stapel von vektorisierten Parquet-Readern. Wählen Sie einen Wert, der Leistungsaufwand und Speichernutzung ausbalanciert, um Fehler zu vermeiden out-of-memory.

      4096

      spark.sql.session.TimeZone

      Definiert die Sitzungszeitzone für die Verarbeitung von Zeitstempeln in Zeichenfolgenliteralen und die Konvertierung von Java-Objekten. Akzeptiert:

      • Regionsbasiertes IDs area/city Format (z. B. America/Los_Angeles)

      • Zonenversätze im Format (+/-) HH, (+/-) HH:mm oder (+/-) HH:mm:SS (z. B. -08 oder + 01:00)

      • UTC oder Z als Aliase für + 00:00

      (Wert der lokalen Zeitzone)

      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. shuffledHashJoinFaktor

      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. parallelPartitionDiscovery. Schwellenwert

      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

    3. Geben Sie für Datenspeicherung in Tagen die Anzahl der Tage ein, für die die Daten aufbewahrt werden sollen.

    4. Wählen Sie als Ergebnisformat entweder CSV oder Parquet als Datenformat, das der ML-Eingangskanal verwenden soll.

  8. Wählen Sie für Dienstzugriff den Namen der vorhandenen Servicerolle aus, der für den Zugriff auf diese Tabelle verwendet werden soll, oder wählen Sie Neue Servicerolle erstellen und verwenden aus.

  9. Wählen Sie für Verschlüsselung die Option Geheimnis mit einem benutzerdefinierten KMS-Schlüssel verschlüsseln aus, um Ihren eigenen KMS-Schlüssel und zugehörige Informationen anzugeben. Andernfalls verwaltet Clean Rooms ML die Verschlüsselung.

  10. Wählen Sie „ML-Eingangskanal erstellen“.

    Die Erstellung des ML-Eingangskanals dauert einige Minuten. Auf der Registerkarte ML-Modelle finden Sie eine Liste der ML-Eingangskanäle.

Anmerkung

Nachdem der ML-Eingangskanal erstellt wurde, können Sie ihn nicht mehr bearbeiten.

API

Um einen ML-Eingangskanal (API) zu erstellen

Führen Sie den folgenden Code mit Ihren spezifischen Parametern aus:

import boto3 acr_client = boto3.client('cleanroomsml') acr_client.create_ml_input_channel( name="ml_input_channel_name", membershipIdentifier='membership_id', configuredModelAlgorithmAssociations=[configured_model_algorithm_association_arn], retentionInDays=1, inputChannel={ "dataSource": { "protectedQueryInputParameters": { "sqlParameters": { "queryString": "select * from table", "computeConfiguration": { "worker": { "type": "CR.1X", "number": 16, "properties": { "spark": { "spark configuration key": "spark configuration value", } } } }, "resultFormat": "PARQUET" } } }, "roleArn": "arn:aws:iam::111122223333:role/role_name" } ) channel_arn = resp['ML Input Channel ARN']