View a markdown version of this page

Creazione di un canale di input ML in AWS Clean Rooms ML - AWS Clean Rooms

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Creazione di un canale di input ML in AWS Clean Rooms ML

Prerequisiti:

  • E con accesso a Account AWS AWS Clean Rooms

  • Una collaborazione impostata in AWS Clean Rooms cui si desidera creare il canale di ingresso ML

  • Autorizzazioni per interrogare i dati e creare canali di input ML nell'ambito della collaborazione.

  • (Facoltativo) Un algoritmo di modello esistente da associare al canale di ingresso ML o autorizzazioni per crearne uno nuovo

  • (Facoltativo) Tabelle con regole di analisi che possono essere eseguite per il modello specificato.

  • (Facoltativo) Un modello di query o analisi SQL esistente da utilizzare per generare il set di dati

  • (Facoltativo) Un ruolo di servizio esistente con le autorizzazioni appropriate o le autorizzazioni per creare un nuovo ruolo di servizio

  • (Facoltativo) Una AWS KMS chiave personalizzata se desideri utilizzare la tua chiave di crittografia

  • Autorizzazioni appropriate per creare e gestire modelli ML nell'ambito della collaborazione

Un canale di input ML è un set di dati creato da una specifica query di dati. I membri con la possibilità di interrogare i dati possono prepararli per l'addestramento e l'inferenza creando un canale di input ML. La creazione di un canale di input ML consente di utilizzare i dati in diversi modelli di formazione nell'ambito della stessa collaborazione. È necessario creare canali di input ML separati per l'addestramento e l'inferenza.

Per creare un canale di input ML, è necessario specificare la query SQL utilizzata per interrogare i dati di input e creare il canale di input ML. I risultati di questa query non vengono mai condivisi con nessun membro e rimangono entro i limiti di Clean Rooms ML. Il riferimento Amazon Resource Name (ARN) viene utilizzato nei passaggi successivi per addestrare un modello o eseguire l'inferenza.

Console
Per creare un canale di ingresso ML (console)
  1. Accedi Console di gestione AWS e apri la AWS Clean Rooms console all'indirizzo https://console.aws.amazon.com/cleanrooms.

  2. Nel riquadro di navigazione a sinistra, scegli Collaborazioni.

  3. Nella pagina Collaborazioni, scegli la collaborazione in cui desideri creare un canale di input ML.

  4. Dopo l'apertura della collaborazione, scegli la scheda Modelli ML.

  5. In Modelli ML personalizzati, nella sezione Canali di ingresso ML, scegli Crea canale di ingresso ML.

  6. Nella pagina Crea canale di ingresso ML, per i dettagli del canale di ingresso ML, effettuate le seguenti operazioni:

    1. In Nome, inserisci un nome univoco per il tuo canale.

    2. (Facoltativo) Per Descrizione, inserisci una descrizione del tuo canale.

    3. Per Algoritmo del modello associato, seleziona l'algoritmo da utilizzare.

      Scegliete Associa algoritmo al modello per aggiungerne uno nuovo.

  7. Per Dataset, scegli un metodo per generare il set di dati di addestramento:

    • Scegli una query SQL per utilizzare i risultati di una query SQL come set di dati di addestramento.

      Se hai scelto la query SQL, inserisci la tua query nel campo Query SQL.

      (Facoltativo) Per importare una query che hai usato di recente, scegli Importa da interrogazioni recenti.

    • Scegli Modello di analisi per utilizzare i risultati di un modello di analisi come set di dati di addestramento.

      avvertimento

      La generazione di dati sintetici impedisce di dedurre attributi individuali, indipendentemente dalla presenza di individui specifici nel set di dati originale o dalla presenza di attributi di apprendimento di tali individui. Tuttavia, non impedisce la visualizzazione di valori letterali del set di dati originale, comprese le informazioni di identificazione personale (PII) nel set di dati sintetici.

      Si consiglia di evitare nel set di dati di input valori associati a un solo interessato perché potrebbero identificare nuovamente un interessato. Ad esempio, se un solo utente vive in un codice postale, la presenza di quel codice postale nel set di dati sintetici confermerebbe che l'utente si trovava nel set di dati originale. Tecniche come il troncamento di valori ad alta precisione o la sostituzione di cataloghi non comuni con altri possono essere utilizzate per mitigare questo rischio. Queste trasformazioni possono far parte dell'interrogazione utilizzata per creare il canale di ingresso ML.

    1. Se non è associata alcuna tabella, scegliete Associa tabella per aggiungere tabelle con una regola di analisi che può essere eseguita per il modello specificato.

    2. Scegliete il tipo di lavoratore da utilizzare per creare questo canale di dati. Il tipo di lavoratore predefinito è CR.1X. Specificare il numero di lavoratori da utilizzare. Il numero di lavoratore predefinito è 16. Per specificare le proprietà di Spark:

      1. Espandi le proprietà di Spark.

      2. Scegli Aggiungi proprietà Spark.

      3. Nella finestra di dialogo delle proprietà di Spark, scegli il nome di una proprietà dall'elenco a discesa e inserisci un valore.

      Le tabelle seguenti forniscono una definizione per ogni proprietà.

      Per ulteriori informazioni sulle proprietà di Spark, consulta Spark Properties nella documentazione di Apache Spark.

      Nota

      Puoi configurare un massimo di 50 proprietà Spark. Il valore di ogni proprietà può contenere fino a 500 caratteri.

      Nome proprietà Description Valore predefinito

      spark.task.maxFailures

      Controlla quante volte consecutive un'attività può fallire prima che il processo abbia esito negativo. Richiede un valore maggiore o uguale a 1. Il numero di tentativi consentiti è uguale a questo valore meno 1. Il conteggio degli errori si azzera se un tentativo ha esito positivo. Gli errori nelle diverse attività non si accumulano al raggiungimento di questo limite.

      4

      spark.sql.files.max PartitionBytes

      Imposta il numero massimo di byte da impacchettare in una singola partizione durante la lettura da sorgenti basate su file come Parquet, JSON e ORC.

      128 MB

      Spark.hadoop.fs.s3.max Tentativi

      Imposta il numero massimo di tentativi di ripetizione per le operazioni sui file Amazon S3.

      (nessuno)

      spark.network.timeout

      Imposta il timeout predefinito per tutte le interazioni di rete. Sostituisce le seguenti impostazioni di timeout se non sono configurate:

      • spark.storage.block ManagerHeartbeatTimeoutMs

      • Timeout di connessione spark.shuffle.io.

      • spark.rpc.askTimeout

      • spark.rpc.lookupTimeout

      120 secondi

      spark.rdd.compress

      Specifica se comprimere le partizioni RDD serializzate utilizzando spark.io.compression.codec. Si applica a _ONLY_SER in Java e Scala o _ONLY in Python. StorageLevel.MEMORY StorageLevel.MEMORY Riduce lo spazio di archiviazione ma richiede un tempo di elaborazione della CPU aggiuntivo.

      false

      spark.shuffle.spill.compress

      Specifica se comprimere i dati shuffle spill utilizzando spark.io.compression.codec.

      true

      spark.shuffle.compress

      Specifica se comprimere i file di output delle mappe. La compressione utilizza spark.io.compression.codec.

      true

      spark.shuffle.service.index.cache.size

      Imposta il limite di dimensione della cache, in byte se non diversamente specificato.

      100 m

      Spark.shuffle.io.max ci riprova

      Imposta il numero massimo di tentativi per i recuperi che non riescono a causa di eccezioni. IO-related

      3

      spark.shuffle.io.RetryWait

      Imposta il tempo di attesa tra i tentativi di recupero. Il ritardo massimo causato da un nuovo tentativo è di 15 secondi per impostazione predefinita, calcolato come maxRetries * RetryWait.

      5s

      Timeout di connessione Spark.shuffle.io.

      Imposta il timeout per le connessioni stabilite tra server shuffle e client in modo che vengano contrassegnate come inattive e chiuse se ci sono ancora richieste di recupero in sospeso ma non c'è traffico sul canale.

      (valore di spark.network.timeout)

      spark.driver.max ResultSize

      Imposta il limite di dimensione totale dei risultati serializzati di tutte le partizioni per ogni azione Spark, in byte. Deve essere almeno 1 MB, o 0 per numero illimitato.

      1 g

      spark.memory.fraction

      Imposta la frazione di (spazio heap - 300 MB) utilizzata per l'esecuzione e l'archiviazione. Più basso è questo valore, più frequentemente si verificano perdite e rimozione dei dati memorizzati nella cache. Si consiglia di lasciarlo al valore predefinito.

      0.6

      spark.scheduler.mode

      Imposta la modalità di pianificazione tra i lavori inviati allo stesso. SparkContext Può essere impostato su FAIR per utilizzare la condivisione equa anziché mettere in coda i lavori uno dopo l'altro. Valori supportati: FAIR, FIFO.

      FIFO

      spark.sql.adaptive.advisory PartitionSizeInBytes

      Imposta la dimensione desiderata in byte per le partizioni shuffle durante l'ottimizzazione adattiva quando spark.sql.adaptive.enabled è vero. Controlla la dimensione della partizione quando si uniscono piccole partizioni o si dividono partizioni oblique.

      (valore di PostShuffleInputSize spark.sql.adaptive.shuffle.target)

      spark.sql.adaptive.auto BroadcastJoinThreshold

      Imposta la dimensione massima della tabella in byte per la trasmissione ai nodi di lavoro durante i join. Si applica solo in un framework adattivo. Utilizza lo stesso valore predefinito di BroadcastJoinThreshold spark.sql.auto. Impostare su -1 per disattivare la trasmissione.

      (nessuno)

      spark.sql.adaptive.coalesce Partitions.enabled

      Specifica se unire partizioni shuffle contigue in base a spark.sql.adaptive.advisory per ottimizzare le dimensioni delle attività. PartitionSizeInBytes Richiede che spark.sql.adaptive.enabled sia vero.

      true

      spark.sql.adaptive.coalesce Partitions.initialPartitionNum

      Definisce il numero iniziale di partizioni shuffle prima della coalescenza. Richiede che sia spark.sql.adaptive.enabled che spark.sql.adaptive.coalesce siano veri. Partitions.enabled Il valore predefinito è spark.sql.shuffle.partitions.

      (nessuno)

      spark.sql.adaptive.coalesce Partitions.minPartitionSize

      Imposta la dimensione minima per le partizioni shuffle coalescenti per evitare che le partizioni diventino troppo piccole durante l'ottimizzazione adattiva.

      1 MB

      spark.sql.adaptive.coalesce Partitions.parallelismFirst

      Specifica se calcolare le dimensioni delle partizioni in base al parallelismo dei cluster anziché a spark.sql.adaptive.advisory durante la coalescenza delle partizioni. PartitionSizeInBytes Genera partizioni di dimensioni inferiori a quelle di destinazione configurate per massimizzare il parallelismo. Si consiglia di impostarlo su false nei cluster occupati per migliorare l'utilizzo delle risorse evitando attività eccessive di piccole dimensioni.

      true

      spark.sql.adaptive.enabled

      Specifica se abilitare l'esecuzione adattiva delle query per riottimizzare i piani di query durante l'esecuzione delle query, sulla base di statistiche di runtime accurate.

      true

      spark.sql.adaptive.force OptimizeSkewedJoin

      Specifica se forzare l'attivazione anche se introduce uno shuffle aggiuntivo. OptimizeSkewedJoin

      false

      spark.sql.adaptive.local ShuffleReader.enabled

      Specifica se utilizzare lettori shuffle locali quando il partizionamento shuffle non è richiesto, ad esempio dopo la conversione da sort-merge join a broadcast-hash join. Richiede che spark.sql.adaptive.enabled sia vero.

      true

      spark.sql.adaptive.max ShuffledHashJoinLocalMapThreshold

      Imposta la dimensione massima della partizione in byte per la creazione di mappe hash locali. Assegna la priorità agli hash join mescolati rispetto ai join sort-merge quando:

      • Questo valore è uguale o superiore a spark.sql.adaptive.advisory PartitionSizeInBytes

      • Tutte le dimensioni delle partizioni rientrano in questo limite

      Sostituisce l'impostazione spark.sql.join.prefer. SortMergeJoin

      0 byte

      spark.sql.adaptive.optimize SkewsInRebalancePartitions.enabled

      Specifica se ottimizzare le partizioni shuffle asimmetriche suddividendole in partizioni più piccole in base a spark.sql.adaptive.advisory. PartitionSizeInBytes Richiede che spark.sql.adaptive.enabled sia vero.

      true

      spark.sql.adaptive.rebalance PartitionsSmallPartitionFactor

      Definisce il fattore di soglia di dimensione per unire le partizioni durante la divisione. Le partizioni inferiori a questo fattore moltiplicato per spark.sql.adaptive.advisory vengono unite. PartitionSizeInBytes

      0.2

      spark.sql.adaptive.skew Join.enabled

      Specifica se gestire l'inclinazione dei dati nei join mescolati suddividendo e facoltativamente replicando le partizioni asimmetriche. Si applica agli sort-merge e agli shuffled hash join. Richiede che spark.sql.adaptive.enabled sia vero.

      true

      spark.sql.adaptive.skew Join.skewedPartitionFactor

      Determina il fattore di dimensione che determina l'inclinazione della partizione. Una partizione è inclinata quando le sue dimensioni superano entrambe:

      • Questo fattore viene moltiplicato per la dimensione media della partizione

      • Il valore di spark.sql.adaptive.skew Join.skewedPartitionThresholdInBytes

      5

      spark.sql.adaptive.skew Join.skewedPartitionThresholdInBytes

      Imposta la soglia di dimensione in byte per identificare le partizioni distorte. Una partizione è distorta quando le sue dimensioni superano entrambe:

      • Questa soglia

      • La dimensione media della partizione moltiplicata per spark.sql.adaptive.skew Join.skewedPartitionFactor

      Consigliamo di impostare questo valore più grande di spark.sql.adaptive.advisory. PartitionSizeInBytes

      256 MB

      Spark.sql.BroadcastTimeout

      Controlla il periodo di timeout in secondi per le operazioni di trasmissione durante i join di trasmissione.

      300 secondi

      spark.sql.cbo.enabled

      Specifica se abilitare l'ottimizzazione basata sui costi (CBO) per la stima delle statistiche del piano.

      false

      spark.sql.cbo.join Reorder.dp.star.filter

      Specifica se applicare l'euristica del filtro star-join durante l'enumerazione dei join basata sui costi.

      false

      spark.sql.cbo.join Reorder.dp.threshold

      Imposta il numero massimo di nodi uniti consentiti nell'algoritmo di programmazione dinamica.

      12

      spark.sql.cbo.join Reorder.enabled

      Specifica se abilitare il riordino dei join nell'ottimizzazione basata sui costi (CBO).

      false

      spark.sql.cbo.plan Stats.enabled

      Specifica se recuperare i conteggi delle righe e le statistiche delle colonne dal catalogo durante la generazione logica del piano.

      false

      spark.sql.cbo.star SchemaDetection

      Specifica se abilitare il riordino dei join in base al rilevamento dello schema a stella.

      false

      spark.sql.files.max PartitionNum

      Imposta il numero massimo di partizioni di file divisi per sorgenti basate su file (Parquet, JSON e ORC). Ridimensiona le partizioni quando il conteggio iniziale supera questo valore. Si tratta di un obiettivo suggerito, non di un limite garantito.

      (nessuno)

      spark.sql.files.max RecordsPerFile

      Imposta il numero massimo di record da scrivere su un singolo file. Non si applica alcun limite se impostato su zero o su un valore negativo.

      0

      spark.sql.files.min PartitionNum

      Imposta il numero minimo di partizioni di file divisi per sorgenti basate su file (Parquet, JSON e ORC). Il NodeDefaultParallelism valore predefinito è spark.sql.leaf. Questo è un obiettivo suggerito, non un limite garantito.

      (nessuno)

      spark.sql.in MemoryColumnarStorage.batchSize

      Controlla la dimensione del batch per la memorizzazione nella cache a colonne. L'aumento delle dimensioni migliora l'utilizzo e la compressione della memoria, ma aumenta il rischio di errori di esaurimento della memoria.

      10000

      spark.sql.in MemoryColumnarStorage.compressed

      Specifica se selezionare automaticamente i codec di compressione per le colonne in base alle statistiche dei dati.

      true

      spark.sql.in MemoryColumnarStorage.enableVectorizedReader

      Specifica se abilitare la lettura vettoriale per la memorizzazione nella cache a colonne.

      true

      spark.sql.legacy.allow HashOnMapType

      Specifica se consentire le operazioni di hash su strutture di dati di tipo mappa. Questa impostazione precedente mantiene la compatibilità con la gestione dei tipi di mappa delle versioni precedenti di Spark.

      (nessuno)

      spark.sql.legacy.allow NegativeScaleOfDecimal

      Specifica se consentire valori di scala negativi nelle definizioni dei tipi decimali. Questa impostazione precedente mantiene la compatibilità con le versioni precedenti di Spark che supportavano scale decimali negative.

      (nessuno)

      spark.sql.legacy.cast ComplexTypesToString.enabled

      Specifica se abilitare il comportamento precedente per il casting di tipi complessi in stringhe. Mantiene la compatibilità con le regole di conversione dei tipi delle versioni precedenti di Spark.

      (nessuno)

      spark.sql.legacy.char VarcharAsString

      Specifica se trattare i tipi CHAR e VARCHAR come tipi STRING. Questa impostazione precedente fornisce la compatibilità con la gestione dei tipi di stringa delle versioni precedenti di Spark.

      (nessuno)

      spark.sql.legacy.create EmptyCollectionUsingStringType

      Specifica se creare raccolte vuote utilizzando elementi di tipo stringa. Questa impostazione precedente mantiene la compatibilità con il comportamento di inizializzazione delle raccolte delle versioni precedenti di Spark.

      (nessuno)

      spark.sql.legacy.exponent LiteralAsDecimal.enabled

      Specifica se interpretare i valori letterali esponenziali come tipi decimali. Questa impostazione precedente mantiene la compatibilità con la gestione letterale numerica delle versioni precedenti di Spark.

      (nessuno)

      spark.sql.legacy.json.allow EmptyString.enabled

      Specifica se consentire stringhe vuote nell'elaborazione JSON. Questa impostazione precedente mantiene la compatibilità con il comportamento di analisi JSON delle versioni precedenti di Spark.

      (nessuno)

      spark.sql.legacy.parquet.int96 RebaseModeInRead

      Specifica se utilizzare la modalità precedente di rebase timestamp INT96 durante la lettura dei file Parquet. Questa impostazione precedente mantiene la compatibilità con la gestione dei timestamp delle versioni precedenti di Spark.

      (nessuno)

      spark.sql.legacy.time ParserPolicy

      Controlla il comportamento di analisi temporale per verificarne la compatibilità con le versioni precedenti. Questa impostazione precedente determina il modo in cui i timestamp e le date vengono analizzati dalle stringhe.

      (nessuno)

      spark.sql.legacy.type Coercion.datetimeToString.enabled

      Specifica se abilitare il comportamento di coercizione di tipo precedente durante la conversione dei valori datetime in stringhe. Mantiene la compatibilità con le regole di conversione data/ora delle versioni precedenti di Spark.

      (nessuno)

      spark.sql.max SinglePartitionBytes

      Imposta la dimensione massima della partizione in byte. Il planner introduce le operazioni shuffle per partizioni più grandi per migliorare il parallelismo.

      128 m

      Spark.sql.metadatacachettl secondi

      Controlla il time-to-live (TTL) per le cache dei metadati. Si applica ai metadati dei file di partizione e alle cache del catalogo delle sessioni. Richiede:

      • Un valore positivo maggiore di zero

      • spark.sql.CatalogImplementation impostata su hive

      • PartitionFileCacheSize spark.sql.hive.filesource maggiore di zero

      • spark.sql.hive.manage impostato su true FilesourcePartitions

      -1000 ms

      spark.sql.optimizer.collapse ProjectAlwaysInline

      Specifica se comprimere le proiezioni adiacenti e le espressioni in linea, anche quando ciò causa una duplicazione.

      false

      spark.sql.optimizer.dynamic PartitionPruning.enabled

      Specifica se generare predicati per le colonne di partizione utilizzate come chiavi di join.

      true

      spark.sql.optimizer.enable CsvExpressionOptimization

      Specifica se ottimizzare le espressioni CSV in SQL Optimizer eliminando le colonne non necessarie dalle operazioni from_csv.

      true

      spark.sql.optimizer.enable JsonExpressionOptimization

      Specifica se ottimizzare le espressioni JSON in SQL Optimizer mediante:

      • Eliminazione delle colonne non necessarie dalle operazioni from_json

      • Semplificazione delle combinazioni from_json e to_json

      • Ottimizzazione delle operazioni named_struct

      true

      spark.sql.optimizer.Regole escluse

      Definisce le regole di ottimizzazione da disabilitare, identificate da nomi di regole separati da virgole. Alcune regole non possono essere disabilitate in quanto sono necessarie per la correttezza. L'ottimizzatore registra quali regole sono state disattivate correttamente.

      (nessuno)

      spark.sql.optimizer.runtime.bloom Filter.applicationSideScanSizeThreshold

      Imposta la dimensione minima di scansione aggregata in byte richiesta per iniettare un filtro Bloom sul lato dell'applicazione.

      10 GB

      spark.sql.optimizer.runtime.bloom Filter.creationSideThreshold

      Definisce la soglia di dimensione massima per l'iniezione di un filtro Bloom sul lato della creazione.

      10 MB

      spark.sql.optimizer.runtime.bloom Filter.enabled

      Specifica se inserire un filtro Bloom per ridurre lo shuffle data quando un lato di un shuffle join ha un predicato selettivo.

      true

      spark.sql.optimizer.runtime.bloom Filter.expectedNumItems

      Definisce il numero predefinito di elementi previsti nel filtro Bloom di runtime.

      1000000

      spark.sql.optimizer.runtime.bloom Filter.maxNumBits

      Imposta il numero massimo di bit consentiti nel filtro Bloom di runtime.

      67108864

      spark.sql.optimizer.runtime.bloom Filter.maxNumItems

      Imposta il numero massimo di elementi previsti consentiti nel filtro Bloom di runtime.

      4000000

      spark.sql.optimizer.runtime.bloom Filter.numBits

      Definisce il numero predefinito di bit utilizzati nel filtro Bloom di runtime.

      8388608

      spark.sql.optimizer.runtime.row LevelOperationGroupFilter.enabled

      Specifica se abilitare il filtro dei gruppi di runtime per le operazioni a livello di riga. Consente alle fonti di dati di:

      • Elimina interi gruppi di dati (come file o partizioni) utilizzando i filtri delle origini dati

      • Esegui query di runtime per identificare i record corrispondenti

      • Elimina i gruppi non necessari per evitare costose riscritture

      Restrizioni:

      • Non tutte le espressioni possono essere convertite in filtri di origine dati

      • Alcune espressioni richiedono la valutazione di Spark (come le sottoquery)

      true

      spark.sql.optimizer.runtime Filter.number.threshold

      Imposta il numero totale di filtri di runtime iniettati (non DPP). Questo serve a evitare che gli OOM dei driver contengano troppi filtri Bloom.

      10

      spark.sql.optimizer.runtime Filter.semiJoinReduction.enabled

      Specifica se inserire un semi-join per ridurre lo shuffle data quando un lato di un shuffle join ha un predicato selettivo.

      false

      spark.sql.parquet.AggregatePushdown

      Specifica se inviare gli aggregati a Parquet per l'ottimizzazione. Supporta:

      • MIN e MAX per i tipi booleani, integer, float e date

      • COUNT per tutti i tipi di dati

      Genera un'eccezione se le statistiche non sono presenti nel piè di pagina del file Parquet.

      false

      spark.sql.parquet.columnar ReaderBatchSize

      Controlla il numero di righe in ogni batch di lettori vettoriali Parquet. Scegliete un valore che bilanci il sovraccarico delle prestazioni e l'utilizzo della memoria per prevenire errori di esaurimento della memoria.

      4096

      spark.sql.parquet.enable VectorizedReader

      Specifica se abilitare la decodifica vettoriale del parquet.

      true

      spark.sql.shuffle.partitions

      Imposta il numero predefinito di partizioni per lo shuffling dei dati durante le unioni o le aggregazioni. Non può essere modificato tra un riavvio e l'altro delle query di streaming strutturate dalla stessa posizione del checkpoint.

      200

      spark.sql.shuffled HashJoinFactor

      Definisce il fattore di moltiplicazione utilizzato per determinare l'idoneità allo shuffle hash join. Un hash join casuale viene selezionato quando la dimensione dei dati di piccole dimensioni moltiplicata per questo fattore è inferiore alla dimensione dei dati di grandi dimensioni.

      3

      spark.sql.sources.parallel PartitionDiscovery.threshold

      Imposta il numero massimo di percorsi per l'elenco dei file lato driver con sorgenti basate su file (Parquet, JSON e ORC). Se viene superato durante il rilevamento delle partizioni, i file vengono elencati utilizzando un job distribuito Spark separato.

      32

      spark.sql.statistics.histogram.enabled

      Specifica se generare istogrammi di equi-altezza durante il calcolo delle statistiche delle colonne per migliorare la precisione della stima. Richiede una scansione della tabella aggiuntiva oltre a quella necessaria per le statistiche di base sulle colonne.

      false

      spark.dynamic Allocation.executorIdleTimeout

      Imposta la durata in cui un esecutore deve rimanere inattivo prima di essere rimosso quando l'allocazione dinamica è abilitata.

      Anni '60

      scintilla. Dinamica Allocation.schedulerBacklogTimeout

      Imposta la durata della registrazione arretrata delle attività in sospeso prima che vengano richiesti nuovi esecutori quando l'allocazione dinamica è abilitata.

      1s

      scintilla. dinamica Allocation.sustainedSchedulerBacklogTimeout

      Uguale a spark.dynamicAllocation.schedulerBacklogTimeout, ma utilizzato solo per le successive richieste dell'esecutore.

      (valore di spark.dynamic) Allocation.schedulerBacklogTimeout

      spark.scheduler.min RegisteredResourcesRatio

      Imposta il rapporto minimo di risorse registrate (risorse registrate/risorse totali previste) da attendere prima dell'inizio della pianificazione. Specificato come un valore doppio compreso tra 0,0 e 1,0. Indipendentemente dal fatto che sia stato raggiunto il rapporto minimo di risorse, il tempo massimo di attesa prima dell'inizio della pianificazione è controllato da spark.scheduler.max. RegisteredResourcesWaitingTime

      0.8

      spark.scheduler.max RegisteredResourcesWaitingTime

      Imposta il tempo massimo di attesa per la registrazione delle risorse prima dell'inizio della pianificazione.

      30s

      spark.sql.hive.metastore PartitionPruningFallbackOnException

      Specifica se recuperare tutte le partizioni dal metastore Hive ed eseguire l'eliminazione delle partizioni sul lato client Spark quando si accede dal metastore. MetaException

      false

      spark.sql.cross Join.enabled

      Specifica se consentire le interrogazioni che contengono un prodotto cartesiano senza una sintassi CROSS JOIN esplicita.

      true

      Iterazioni spark.sql.analyzer.maxIterazioni

      Imposta il numero massimo di iterazioni eseguite dall'analizzatore di query prima di rinunciare. Valori più alti consentono all'analizzatore di elaborare query molto grandi o profondamente annidate.

      100

      spark.sql.dataprefetch.filescan.max ParallelismPerTask

      Imposta il numero massimo di suddivisioni di file da precaricare contemporaneamente per ogni operazione durante la scansione dei file.

      4

      spark.sql.iceberg.data-prefetch.enabled

      Specifica se abilitare l'ottimizzazione del pre-recupero dei dati durante la lettura delle tabelle. Iceberg

      true

      spark.sql.legacy.null ValueWrittenAsQuotedEmptyStringCsv

      Specifica se ripristinare il comportamento precedente della scrittura di valori nulli come stringhe vuote tra virgolette nell'output CSV. Se false, Spark scrive valori nulli come stringhe vuote senza virgolette.

      false

      spark.max RemoteBlockSizeFetchToMem

      Imposta la soglia di dimensione al di sopra della quale Spark recupera i blocchi remoti su disco anziché sulla memoria. Questo evita che una singola richiesta di grandi dimensioni consumi troppa memoria.

      200 m

      spark.emr-serverless.allocation.batch.size

      Imposta il numero di esecutori da richiedere contemporaneamente in ogni ciclo di allocazione degli esecutori.

      20

      Nome proprietà Description Valore predefinito

      spark.sql.auto BroadcastJoinThreshold

      Imposta la dimensione massima della tabella in byte per la trasmissione ai nodi di lavoro durante i join. Impostato su -1 per disabilitare la trasmissione.

      10 MB (-1 per CR.4X con 32 lavoratori)

      spark.dynamic Allocation.enabled

      Specifica se utilizzare l'allocazione dinamica delle risorse, che aumenta o diminuisce il numero di esecutori registrati con questa applicazione in base al carico di lavoro.

      true

      spark.files.fetch Failure.unRegisterOutputOnHost

      Specifica se annullare la registrazione di tutti gli output della mappa su un host quando si verifica un errore di recupero. Se è false, Spark annulla la registrazione solo degli output dello specifico esecutore che ha avuto esito negativo, il che riduce l'inutile ricalcolo delle fasi.

      false

      spark.io.compression.codec

      Imposta il codec utilizzato per comprimere i dati interni come le partizioni RDD, il registro degli eventi, le variabili di trasmissione e gli output shuffle. Valori supportati: lz4, snappy, zstd, gzip.

      snappy

      spark.sql.session.timezone

      Definisce il fuso orario della sessione per la gestione dei timestamp in stringhe letterali e la conversione di oggetti Java. Accetta:

      • Region-based ID in area/city formato (ad esempio America/Los _Angeles)

      • Offset di zona in HH:mm:ss formato (+/-) HH, (+/-) HH:mm o (+/-) (ad esempio -08 o + 01:00)

      • UTC o Z come alias per + 00:00

      UTC

    3. Per la conservazione dei dati in giorni, inserisci il numero di giorni di conservazione dei dati.

    4. Per il formato dei risultati, scegliete CSV o Parquet come formato di dati che il canale di ingresso ML deve utilizzare.

  8. Per l'accesso al servizio, scegli il nome del ruolo di servizio esistente che verrà utilizzato per accedere a questa tabella o scegli Crea e usa un nuovo ruolo di servizio.

  9. Per Crittografia, scegli Crittografa il segreto con una chiave KMS personalizzata per specificare la tua chiave KMS e le informazioni correlate. Altrimenti, Clean Rooms ML gestirà la crittografia.

  10. (Facoltativo) Per Compute Payer, seleziona il membro della collaborazione che paga i costi di elaborazione delle query.

    Nota

    Se nella collaborazione è presente un solo pagatore candidato per il calcolo delle interrogazioni, il valore predefinito è quello pagante.

  11. (Facoltativo) Per chi paga per la generazione di dati sintetici, seleziona il membro della collaborazione che paga i costi di generazione dei dati sintetici.

    Nota

    Questa opzione viene visualizzata quando il canale di input ML utilizza un modello di analisi configurato per l'output di dati sintetici. Se nella collaborazione è presente un solo pagatore candidato per la generazione di dati sintetici, il valore predefinito è quello pagante.

  12. Scegli Crea canale di ingresso ML.

    Ci vorranno alcuni minuti per creare il canale di ingresso ML. È possibile visualizzare un elenco di canali di ingresso ML nella scheda Modelli ML.

Nota

Dopo aver creato il canale di ingresso ML, non è possibile modificarlo.

API

Per creare un canale di input ML (API)

Esegui il codice seguente con i tuoi parametri specifici:

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']