Interrogazione di tabelle configurate utilizzando un modello di analisi SQL - 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à.

Interrogazione di tabelle configurate utilizzando un modello di analisi SQL

Questa procedura dimostra come utilizzare un modello di analisi nella AWS Clean Rooms console per interrogare le tabelle configurate con la regola di analisi personalizzata.

Per utilizzare un modello di analisi SQL per interrogare le tabelle configurate con la regola di analisi personalizzata
  1. Accedi a AWS Management Console 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. Scegli la collaborazione per la quale è stato assegnato lo status di Membro Esegui interrogazioni.

  4. Nella scheda Analisi, nella sezione Tabelle, visualizza le tabelle e il tipo di regola di analisi associato (Regola di analisi personalizzata).

    Nota

    Se non vedi le tabelle che ti aspetti nell'elenco, potrebbe essere per i seguenti motivi:

  5. Nella sezione Analisi, per la modalità Analisi, seleziona Esegui modelli di analisi, quindi scegli il modello di analisi dall'elenco a discesa.

  6. I parametri del modello di analisi SQL verranno inseriti automaticamente nella definizione.

  7. (Solo motore di analisi Spark) Specificate il tipo di lavoratore supportato e il numero di lavoratori.

    Utilizza la tabella seguente per determinare il tipo e il numero di lavoratori necessari per il tuo caso d'uso.

    Tipo di lavoratore VPCU Memoria (GB) Archiviazione (GB) Numero di worker Unità di elaborazione totali per camere bianche (CRPU)
    CR.1X (impostazione predefinita) 4 30 100 4 8
    128 256
    CR.4X 16 120 400 4 32
    32 256
    Nota

    Diversi tipi di lavoratori e numero di lavoratori hanno costi associati. Per ulteriori informazioni sui prezzi, consulta la pagina AWS Clean Rooms dei prezzi.

  8. (Solo motore di analisi Spark) Specificate le proprietà Spark supportate.

    1. Seleziona Aggiungi proprietà Spark.

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

    La tabella seguente fornisce una definizione per ogni proprietà.

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

    Nome proprietà Description Valore predefinito

    Spark.task.maxFailures

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

    4

    spark.sql.files. maxPartitionBytes

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

    128 MB

    Spark.Hadoop.fs.s3.max riprova

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

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

    • spark.shuffle.io.ConnectionTimeout

    • spark.rpc.askTimeout

    • spark.rpc.lookupTimeout

    TBD

    spark.rdd.compress

    Speciifica se comprimere le partizioni RDD serializzate utilizzando spark.io.compression.codec. Si applica StorageLevel a.MEMORY_ONLY_SER in Java e Scala o .MEMORY_ONLY in Python. StorageLevel Riduce lo spazio di archiviazione ma richiede tempi di elaborazione della CPU aggiuntivi.

    FALSE

    spark.shuffle.spill.compress

    Speciifica se comprimere i dati relativi alle fuoriuscite casuali utilizzando spark.io.compression.codec.

    TRUE

    spark.sql.adaptive. advisoryPartitionSizeInBytes

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

    (valore di spark.sql.adaptive.shuffle. targetPostShuffleInputSize)

    spark.sql.adaptive. autoBroadcastJoinSoglia

    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 spark.sql. autoBroadcastJoinSoglia. Impostare su -1 per disabilitare la trasmissione.

    (nessuno)

    spark.sql.adaptive.coalescePartitions.Enabled

    Specifica se unire partizioni shuffle contigue basate su spark.sql.adaptive. advisoryPartitionSizeInBytes per ottimizzare le dimensioni delle attività. Richiede che spark.sql.adaptive.enabled sia vero.

    TRUE

    Partizioni spark.sql.adaptive.CoalescePartitions. initialPartitionNum

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

    (nessuno)

    Partizioni spark.sql.adaptive.CoalescePartitions. minPartitionSize

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

    1 MB

    spark.sql.adaptive.coalescePartitions.ParallelismFirst

    Speciifica se calcolare le dimensioni delle partizioni in base al parallelismo del cluster anziché a spark.sql.adaptive. advisoryPartitionSizeInBytes durante la coalescenza delle partizioni. Genera partizioni di dimensioni inferiori rispetto alla dimensione di destinazione configurata per massimizzare il parallelismo. Si consiglia di impostarlo su false nei cluster occupati per migliorare l'utilizzo delle risorse evitando attività troppo piccole.

    TRUE

    spark.sql.adaptive.enabled

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

    TRUE

    spark.sql.adaptive. forceOptimizeSkewedAderire

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

    FALSE

    spark.sql.adaptive. localShuffleReader.abilitato

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

    TRUE

    spark.sql.adaptive. maxShuffledHashJoinLocalMapThreshold

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

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

    • Tutte le dimensioni delle partizioni rientrano in questo limite

    Sostituisce spark.sql.join. preferSortMergeImpostazione di iscrizione.

    0 byte

    spark.sql.adaptive. optimizeSkewsInRebalancePartitions.abilitato

    Specifica se ottimizzare le partizioni shuffle inclinate suddividendole in partizioni più piccole basate su spark.sql.adaptive. advisoryPartitionSizeInBytes. Richiede spark.sql.adaptive.enabled per essere vero.

    TRUE

    spark.sql.adaptive. rebalancePartitionsSmallPartitionFactor

    Definisce il fattore di soglia di dimensione per l'unione delle partizioni durante la divisione. Partizioni più piccole di questo fattore moltiplicate per spark.sql.adaptive. advisoryPartitionSizeInBytes vengono unite.

    0.2

    spark.sql.adaptive.skewJoin.Enabled

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

    TRUE

    spark.sql.adaptive.skewJoin. skewedPartitionFactor

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

    • Questo fattore viene moltiplicato per la dimensione media della partizione

    • Il valore di spark.sql.adaptive.skewJoin. skewedPartitionThresholdInBytes

    5

    spark.sql.adaptive.skewJoin. skewedPartitionThresholdInBytes

    Imposta la soglia di dimensione in byte per identificare le partizioni inclinate. Una partizione è inclinata quando la sua dimensione supera entrambe:

    • Questa soglia

    • La dimensione mediana della partizione moltiplicata per spark.sql.adaptive.skewJoin. skewedPartitionFactor

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

    256 MB

    spark.sql. autoBroadcastJoinSoglia

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

    10 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

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

    FALSE

    spark.sql.cbo.joinReorder.dp.star.filter

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

    FALSE

    spark.sql.cbo.joinReorder.dp.Threshold

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

    12

    spark.sql.cbo.joinReorder.Enabled

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

    FALSE

    spark.sql.cbo.planStats.Enabled

    Speciifica se recuperare il conteggio delle righe e le statistiche delle colonne dal catalogo durante la generazione del piano logico.

    FALSE

    spark.sql.cbo. starSchemaDetection

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

    FALSE

    spark.sql.crossjoin.Enabled

    file spark.sql. maxPartitionNum

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

    (nessuno)

    spark.sql.files. maxRecordsPerFile

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

    0

    spark.sql.files. minPartitionNum

    Imposta il numero minimo di partizioni di file suddivise per le fonti basate su file (Parquet, JSON e ORC). Il valore predefinito è spark.sql. leafNodeDefaultParallelismo. Si tratta di un obiettivo consigliato, non di un limite garantito.

    (nessuno)

    spark.sql. inMemoryColumnarStorage. BatchSize

    Controlla la dimensione del batch per la memorizzazione nella cache colonnare. L'aumento delle dimensioni migliora l'utilizzo e la compressione della memoria, ma aumenta il rischio di errori. out-of-memory

    10000

    spark.sql. inMemoryColumnarArchiviazione. Compressa

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

    TRUE

    spark.sql. inMemoryColumnarArchiviazione. enableVectorizedReader

    Specifica se abilitare la lettura vettoriale per la memorizzazione nella cache colonnare.

    TRUE

    spark.sql.legacy. allowHashOnMapType

    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.

    spark.sql.legacy. allowNegativeScaleOfDecimal

    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.

    spark.sql.legacy. castComplexTypesToString.abilitato

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

    spark.sql.legacy. charVarcharAsStringa

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

    spark.sql.legacy. createEmptyCollectionUsingStringType

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

    spark.sql.legacy. exponentLiteralAsDecimale. Abilitato

    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.

    spark.sql.legacy.json. allowEmptyString.abilitato

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

    spark.sql.legacy.parquet.int96 RebaseModelRead

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

    spark.sql.legacy. timeParserPolicy

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

    spark.sql.legacy.TypeCoercion. datetimeToString.abilitato

    Speciifica 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 datetime delle versioni precedenti di Spark.

    spark.sql. maxSinglePartitionByte

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

    128 m

    Cache dei metadati Spark.sql. TTLSeconds

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

    • Un valore positivo maggiore di zero

    • spark.sql.CatalogImplementation impostato su hive

    • spark.sql.hive. filesourcePartitionFileCacheSize maggiore di zero

    • spark.sql.hive. manageFilesourcePartitions impostato su true

    -1000 ms

    ottimizzatore spark.sql. collapseProjectAlwaysIn linea

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

    FALSE

    spark.sql.optimizer. dynamicPartitionPruning.abilitato

    Speciifica se generare predicati per le colonne di partizione utilizzate come chiavi di unione.

    TRUE

    spark.sql.optimizer. enableCsvExpressionOttimizzazione

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

    TRUE

    spark.sql.optimizer. enableJsonExpressionOttimizzazione

    Speciifica 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.ExcludedRules

    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 disabilitate correttamente.

    (nessuno)

    Spark.sql.optimizer.runtime.BloomFilter. applicationSideScanSizeThreshold

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

    10 GB

    Filtro Spark.sql.Optimizer.Runtime.BloomFilter. creationSideThreshold

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

    10 MB

    spark.sql.optimizer.runtime.BloomFilter.Enabled

    Speciifica se inserire un filtro Bloom per ridurre i dati di shuffle quando un lato di un shuffle join ha un predicato selettivo.

    TRUE

    Spark.sql.optimizer.runtime.BloomFilter. expectedNumItems

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

    1000000

    spark.sql.optimizer.runtime.BloomFilter. maxNumBits

    Imposta il numero massimo di bit consentiti nel filtro Bloom in fase di esecuzione.

    67108864

    Filtro Spark.SQL.Optimizer.Runtime.BloomFilter. maxNumItems

    Imposta il numero massimo di elementi previsti consentiti nel filtro Bloom in fase di esecuzione.

    4000000

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

    Limita il numero massimo di filtri di runtime non DPP consentiti per ogni query per prevenire errori nel driver. out-of-memory

    10

    spark.sql.optimizer.runtime.bloomfilter.Numbits

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

    8388608

    spark.sql.optimizer.runtime. rowlevelOperationGroupFiltro. Abilitato

    Speciifica se abilitare il filtraggio 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 fonti di dati

    • Esegui query di runtime per identificare i record corrispondenti

    • Scarta 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.RuntimeFilter. semiJoinReduction.abilitato

    Speciifica se inserire un semi-join per ridurre i dati di shuffle quando un lato di uno shuffle join ha un predicato selettivo.

    FALSE

    Spark.sql.parquet.aggregatePushdown

    Speciifica se inviare gli aggregati a Parquet per l'ottimizzazione. Supporti:

    • MIN e MAX per i tipi booleano, intero, float e data

    • COUNT per tutti i tipi di dati

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

    FALSE

    spark.sql.parquet. columnarReaderBatchDimensioni

    Controlla il numero di righe in ogni batch di lettori vettorializzati di Parquet. Scegliete un valore che bilanci il sovraccarico prestazionale e l'utilizzo della memoria per evitare errori. out-of-memory

    4096

    spark.sql.session.TimeZone

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

    • area/city Formato basato sulla regione (come IDs America/Los_Angeles)

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

    • UTC o Z come alias per + 00:00

    (valore del fuso orario locale)

    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 il riavvio di una query di streaming strutturata dalla stessa posizione di checkpoint.

    200

    spark.sql. shuffledHashJoinFattore

    Definisce il fattore di moltiplicazione utilizzato per determinare l'idoneità allo shuffle hash join. Uno shuffle hash join viene selezionato quando la dimensione dei dati su lato piccolo moltiplicata per questo fattore è inferiore alla dimensione dei dati su lato grande.

    3

    spark.sql.sources. parallelPartitionDiscovery.soglia

    Imposta il numero massimo di percorsi per l'elenco dei file sul lato driver con fonti 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

    Speciifica se generare istogrammi di altezza equa durante il calcolo delle statistiche sulle colonne per migliorare l'accuratezza della stima. Richiede una scansione della tabella aggiuntiva oltre a quella necessaria per le statistiche di base sulle colonne.

    FALSE

  9. Selezionare Esegui.

    Nota

    Non è possibile eseguire la query se il membro che può ricevere i risultati non ha configurato le impostazioni dei risultati della query.

  10. Continua a modificare i parametri ed esegui nuovamente la query oppure scegli il pulsante + per iniziare una nuova query in una nuova scheda.