Consultando tabelas configuradas usando um modelo de análise SQL - AWS Clean Rooms

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

Consultando tabelas configuradas usando um modelo de análise SQL

Esse procedimento demonstra como usar um modelo de análise no AWS Clean Rooms console para consultar tabelas configuradas com a regra de análise personalizada.

Para usar um modelo de análise SQL para consultar tabelas configuradas com a regra de análise personalizada
  1. Faça login no AWS Management Console e abra o AWS Clean Rooms console em https://console.aws.amazon.com/cleanrooms.

  2. No painel de navegação à esquerda, escolha Colaborações.

  3. Escolha a colaboração que tem o status Executar consultas em Suas habilidades de membro.

  4. Na guia Análise, na seção Tabelas, visualize as tabelas e o tipo de regra de análise associada (regra de análise personalizada).

    nota

    Se não estiver vendo as tabelas que espera na lista, isso pode ser pelos seguintes motivos:

  5. Na seção Análise, para Modo de análise, selecione Executar modelos de análise e, em seguida, escolha o modelo de análise na lista suspensa.

  6. Os parâmetros do modelo de análise SQL serão preenchidos automaticamente na Definição.

  7. (Somente para o mecanismo de análise do Spark) Especifique o tipo de trabalhador suportado e o número de trabalhadores.

    Use a tabela a seguir para determinar o tipo e o número de trabalhadores necessários para seu caso de uso.

    Tipo de trabalhador vCPU Memória (GB) Armazenamento (GB) Número de operadores Total de unidades de processamento de salas limpas (CRPU)
    CR.1X (padrão) 4 30 100 4 8
    128 256
    CR.4X 16 120 400 4 32
    32 256
    nota

    Diferentes tipos de trabalhadores e números de trabalhadores têm custos associados. Para saber mais sobre os preços, consulte os AWS Clean Rooms preços.

  8. (Somente para o mecanismo de análise do Spark) Especifique as propriedades compatíveis do Spark.

    1. Selecione Adicionar propriedades do Spark.

    2. Na caixa de diálogo de propriedades do Spark, escolha um nome de propriedade na lista suspensa e insira um Valor.

    A tabela a seguir fornece uma definição para cada propriedade.

    Para obter mais informações sobre as propriedades do Spark, consulte Propriedades do Spark na documentação do Apache Spark.

    Nome da propriedade Description Valor padrão

    Falhas do Spark.Task.max

    Controla quantas vezes consecutivas uma tarefa pode falhar antes que o trabalho falhe. Requer um valor maior ou igual a 1. O número de novas tentativas permitidas é igual a esse valor menos 1. A contagem de falhas é reiniciada se alguma tentativa for bem-sucedida. Falhas em tarefas diferentes não se acumulam até esse limite.

    4

    spark.sql.files. maxPartitionBytes

    Define o número máximo de bytes a serem compactados em uma única partição ao ler fontes baseadas em arquivos, como Parquet, JSON e ORC.

    128 MB

    Spark.Hadoop.FS.S3.max Tentativas

    Define o número máximo de tentativas para operações de arquivos do Amazon S3.

    spark.network.timeout

    Define o tempo limite padrão para todas as interações de rede. Substitui as seguintes configurações de tempo limite se elas não estiverem definidas:

    • faísca de armazenamento. blockManagerHeartbeatTimeoutMs

    • spark.shuffle.io.Tempo limite de conexão

    • spark.rpc.askTimeout

    • Spark.rpc.LookupTimeout

    A ser definido

    spark.rdd.com press

    Especifica se as partições RDD serializadas devem ser compactadas usando spark.io.compression.codec. Aplica-se a StorageLevel .MEMORY_ONLY_SER em Java e Scala ou .MEMORY_ONLY em Python. StorageLevel Reduz o espaço de armazenamento, mas requer tempo adicional de processamento da CPU.

    FALSE

    spark.shuffle.spill.compress

    Especifica se os dados de derramamento aleatório devem ser compactados usando spark.io.compression.codec.

    VERDADEIRO

    spark.sql.adaptativo. advisoryPartitionSizeInBytes

    Define o tamanho de destino em bytes para partições aleatórias durante a otimização adaptativa quando spark.sql.adaptive.enabled é verdadeiro. Controla o tamanho da partição ao unir partições pequenas ou dividir partições inclinadas.

    (valor de spark.sql.adaptive.shuffle. targetPostShuffleInputSize)

    spark.sql.adaptativo. autoBroadcastJoinLimite

    Define o tamanho máximo da tabela em bytes para transmissão aos nós de trabalho durante as junções. Aplica-se somente na estrutura adaptativa. Usa o mesmo valor padrão de spark.sql. autoBroadcastJoinLimite. Defina como -1 para desativar a transmissão.

    (none)

    spark.sql.adaptive.coalescePartitions.Enabled

    Especifica se as partições aleatórias contíguas devem ser unidas com base em spark.sql.adaptive. advisoryPartitionSizeInBytes para otimizar o tamanho da tarefa. Requer que spark.sql.adaptive.enabled seja verdadeiro.

    VERDADEIRO

    Partições spark.sql.adaptive.coalesce. initialPartitionNum

    Define o número inicial de partições aleatórias antes da coalescência. Requer que spark.sql.adaptive.enabled e spark.sql.adaptive.coalescePartitions.enabled sejam verdadeiros. O padrão é o valor de spark.sql.shuffle.partitions.

    (none)

    Partições spark.sql.adaptive.coalesce. minPartitionSize

    Define o tamanho mínimo para partições aleatórias agrupadas para evitar que as partições se tornem muito pequenas durante a otimização adaptativa.

    1 MB

    spark.sql.adaptive.coalescePartitions.Parallelism First

    Especifica se os tamanhos das partições devem ser calculados com base no paralelismo do cluster em vez de spark.sql.adaptive. advisoryPartitionSizeInBytes durante a coalescência de partições. Gera tamanhos de partição menores do que o tamanho de destino configurado para maximizar o paralelismo. Recomendamos definir isso como false em clusters ocupados para melhorar a utilização dos recursos, evitando pequenas tarefas excessivas.

    VERDADEIRO

    spark.sql.adaptive.enabled

    Especifica se a execução adaptativa de consultas deve ser habilitada para otimizar novamente os planos de consulta durante a execução da consulta, com base em estatísticas precisas de tempo de execução.

    VERDADEIRO

    spark.sql.adaptativo. forceOptimizeSkewedJunte-se

    Especifica se a ativação deve ser forçada, OptimizeSkewedJoin mesmo que isso introduza um embaralhamento extra.

    FALSE

    spark.sql.adaptativo. localShuffleReader.habilitado

    Especifica se os leitores aleatórios locais devem ser usados quando o particionamento aleatório não é necessário, como após a conversão de junções de classificação e mesclagem em junções de hash de transmissão. Requer que spark.sql.adaptive.enabled seja verdadeiro.

    VERDADEIRO

    spark.sql.adaptativo. maxShuffledHashJoinLocalMapThreshold

    Define o tamanho máximo da partição em bytes para criar mapas de hash locais. Prioriza as junções de hash embaralhadas sobre as junções de classificação e mesclagem quando:

    • Esse valor é igual ou excede spark.sql.adaptive. advisoryPartitionSizeInBytes

    • Todos os tamanhos de partição estão dentro desse limite

    Substitui spark.sql.join. preferSortMergeConfiguração de junção.

    0 bytes

    spark.sql.adaptativo. optimizeSkewsInRebalancePartitions.ativado

    Especifica se as partições aleatórias distorcidas devem ser otimizadas dividindo-as em partições menores com base em spark.sql.adaptive. advisoryPartitionSizeInBytes. Requer que spark.sql.adaptive.enabled seja verdadeiro.

    VERDADEIRO

    spark.sql.adaptativo. rebalancePartitionsSmallPartitionFactor

    Define o fator limite de tamanho para mesclar partições durante a divisão. Partições menores que esse fator multiplicado por spark.sql.adaptive. advisoryPartitionSizeInBytes são mesclados.

    0.2

    spark.sql.adaptive.skewJoin.Enabled

    Especifica se deve lidar com a distorção de dados em junções embaralhadas dividindo e, opcionalmente, replicando partições distorcidas. Aplica-se às junções de hash embaralhadas e sorte-mescladas. Requer que spark.sql.adaptive.enabled seja verdadeiro.

    VERDADEIRO

    spark.sql.adaptive.skewJoin. skewedPartitionFactor

    Determina o fator de tamanho que determina a inclinação da partição. Uma partição é distorcida quando seu tamanho excede ambos:

    • Esse fator multiplicado pelo tamanho médio da partição

    • O valor de spark.sql.adaptive.skewJoin. skewedPartitionThresholdInBytes

    5

    spark.sql.adaptive.skewJoin. skewedPartitionThresholdInBytes

    Define o limite de tamanho em bytes para identificar partições distorcidas. Uma partição é distorcida quando seu tamanho excede ambos:

    • Esse limite

    • O tamanho médio da partição multiplicado por spark.sql.adaptive.SkewJoin. skewedPartitionFactor

    Recomendamos definir esse valor maior que spark.sql.adaptive. advisoryPartitionSizeInBytes.

    256 MB

    spark.sql. autoBroadcastJoinLimite

    Define o tamanho máximo da tabela em bytes para transmissão aos nós de trabalho durante as junções. Defina como -1 para desativar a transmissão.

    10 MB

    Spark.sql.Tempo limite de transmissão

    Controla o período de tempo limite em segundos para as operações de transmissão durante as junções de transmissão.

    300 segundos

    spark.sql.cbo.enabled

    Especifica se a otimização baseada em custos (CBO) deve ser ativada para a estimativa das estatísticas do plano.

    FALSE

    spark.sql.cbo.joinreorder.dp.star.filter

    Especifica se a heurística do filtro de junção em estrela deve ser aplicada durante a enumeração de junção com base no custo.

    FALSE

    spark.sql.cbo.joinReorder.dp.Threshold

    Define o número máximo de nós unidos permitidos no algoritmo de programação dinâmica.

    12

    spark.sql.cbo.joinReorder.enabled

    Especifica se a reordenação de junções deve ser ativada na otimização baseada em custos (CBO).

    FALSE

    spark.sql.cbo.planStats.Enabled

    Especifica se as contagens de linhas e estatísticas de colunas do catálogo devem ser buscadas durante a geração do plano lógico.

    FALSE

    spark.sql.cbo. starSchemaDetection

    Especifica se a reordenação de junções deve ser ativada com base na detecção do esquema em estrela.

    FALSE

    spark.sql.crossjoin.Enabled

    spark.sql.files. maxPartitionNum

    Define o número máximo de partições de arquivo divididas para fontes baseadas em arquivos (Parquet, JSON e ORC). Redimensiona as partições quando a contagem inicial excede esse valor. Esse é um alvo sugerido, não um limite garantido.

    (none)

    spark.sql.files. maxRecordsPerArquivo

    Define o número máximo de registros a serem gravados em um único arquivo. Nenhum limite se aplica quando definido como zero ou um valor negativo.

    0

    spark.sql.files. minPartitionNum

    Define o número mínimo de partições de arquivo divididas para fontes baseadas em arquivos (Parquet, JSON e ORC). O padrão é spark.sql. leafNodeDefaultParalelismo. Esse é um alvo sugerido, não um limite garantido.

    (none)

    spark.sql. inMemoryColumnarArmazenamento. Tamanho do lote

    Controla o tamanho do lote para armazenamento em cache colunar. Aumentar o tamanho melhora a utilização e a compactação da memória, mas aumenta o risco de out-of-memory erros.

    10000

    spark.sql. inMemoryColumnarArmazenamento. Comprimido

    Especifica se os codecs de compressão devem ser selecionados automaticamente para colunas com base nas estatísticas de dados.

    VERDADEIRO

    spark.sql. inMemoryColumnarArmazenamento. enableVectorizedReader

    Especifica se a leitura vetorizada deve ser ativada para o armazenamento em cache colunar.

    VERDADEIRO

    spark.sql.legacy. allowHashOnMapType

    Especifica se as operações de hash devem ser permitidas em estruturas de dados do tipo mapa. Essa configuração antiga mantém a compatibilidade com o tratamento de tipos de mapas das versões mais antigas do Spark.

    spark.sql.legacy. allowNegativeScaleOfDecimal

    Especifica se valores de escala negativos devem ser permitidos nas definições do tipo decimal. Essa configuração antiga mantém a compatibilidade com versões mais antigas do Spark que suportavam escalas decimais negativas.

    spark.sql.legacy. castComplexTypesToString.ativado

    Especifica se o comportamento legado deve ser ativado para converter tipos complexos em cadeias de caracteres. Mantém a compatibilidade com as regras de conversão de tipos das versões mais antigas do Spark.

    spark.sql.legacy. charVarcharAsCadeia

    Especifica se os tipos CHAR e VARCHAR devem ser tratados como tipos STRING. Essa configuração antiga fornece compatibilidade com o tratamento de tipos de string das versões mais antigas do Spark.

    spark.sql.legacy. createEmptyCollectionUsingStringType

    Especifica se as coleções vazias devem ser criadas usando elementos do tipo string. Essa configuração antiga mantém a compatibilidade com o comportamento de inicialização da coleção das versões mais antigas do Spark.

    spark.sql.legacy. exponentLiteralAsDecimal. Ativado

    Especifica se os literais exponenciais devem ser interpretados como tipos decimais. Essa configuração antiga mantém a compatibilidade com o tratamento literal numérico das versões mais antigas do Spark.

    spark.sql.legacy.json. allowEmptyString.habilitado

    Especifica se as strings vazias devem ser permitidas no processamento de JSON. Essa configuração antiga mantém a compatibilidade com o comportamento de análise JSON das versões mais antigas do Spark.

    spark.sql.legacy.parquet.int96 RebaseModelRead

    Especifica se o modo antigo de rebase de INT96 carimbo de data/hora deve ser usado ao ler arquivos Parquet. Essa configuração antiga mantém a compatibilidade com o tratamento de timestamp das versões mais antigas do Spark.

    spark.sql.legacy. timeParserPolicy

    Controla o comportamento da análise de tempo para compatibilidade com versões anteriores. Essa configuração herdada determina como os carimbos de data/hora e as datas são analisados a partir de cadeias de caracteres.

    Spark.sql.legacy.TypeCoertion. datetimeToString.habilitado

    Especifica se o comportamento de coerção do tipo legado deve ser ativado ao converter valores de data e hora em cadeias de caracteres. Mantém a compatibilidade com as regras de conversão de data e hora das versões mais antigas do Spark.

    spark.sql. maxSinglePartitionBytes

    Define o tamanho máximo da partição em bytes. O planejador introduz operações aleatórias para partições maiores para melhorar o paralelismo.

    128m

    spark.sql.Cache de metadados TTLSeconds

    Controla o time-to-live (TTL) para caches de metadados. Aplica-se aos metadados do arquivo de partição e aos caches do catálogo de sessões. Requer:

    • Um valor positivo maior que zero

    • Spark.sql.CatalogImplementation configurada para hive

    • spark.sql.hive. filesourcePartitionFileCacheSize maior que zero

    • spark.sql.hive. manageFilesourcePartitions definido como verdadeiro

    -1000 ms

    spark.sql.optimizer. collapseProjectAlwaysEm linha

    Especifica se as projeções e expressões embutidas adjacentes devem ser reduzidas, mesmo quando isso causa duplicação.

    FALSE

    spark.sql.optimizer. dynamicPartitionPruning.habilitado

    Especifica se devem ser gerados predicados para colunas de partição usadas como chaves de junção.

    VERDADEIRO

    spark.sql.optimizer. enableCsvExpressionOtimização

    Especifica se as expressões CSV devem ser otimizadas no otimizador de SQL removendo colunas desnecessárias das operações from_csv.

    VERDADEIRO

    spark.sql.optimizer. enableJsonExpressionOtimização

    Especifica se as expressões JSON devem ser otimizadas no otimizador de SQL por meio de:

    • Removendo colunas desnecessárias das operações from_json

    • Simplificando as combinações from_json e to_json

    • Otimizando operações named_struct

    VERDADEIRO

    spark.sql.optimizer.Regras excluídas

    Define as regras do otimizador a serem desativadas, identificadas por nomes de regras separados por vírgula. Algumas regras não podem ser desativadas, pois são necessárias para serem corretas. O otimizador registra quais regras foram desativadas com sucesso.

    (none)

    spark.sql.optimizer.runtime.BloomFilter. applicationSideScanSizeThreshold

    Define o tamanho mínimo de escaneamento agregado em bytes necessário para injetar um filtro Bloom no lado do aplicativo.

    10 GB

    spark.sql.optimizer.runtime.BloomFilter. creationSideThreshold

    Define o limite máximo de tamanho para injetar um filtro Bloom no lado da criação.

    10 MB

    spark.sql.optimizer.runtime.BloomFilter.Enabled

    Especifica se um filtro Bloom deve ser inserido para reduzir os dados aleatórios quando um lado de uma junção aleatória tem um predicado seletivo.

    VERDADEIRO

    spark.sql.optimizer.runtime.BloomFilter. expectedNumItems

    Define o número padrão de itens esperados no filtro Bloom em tempo de execução.

    1000000

    spark.sql.optimizer.runtime.BloomFilter. maxNumBits

    Define o número máximo de bits permitidos no filtro Bloom em tempo de execução.

    67108864

    spark.sql.optimizer.runtime.BloomFilter. maxNumItems

    Define o número máximo de itens esperados permitidos no filtro Bloom em tempo de execução.

    4000000

    spark.sql.optimizer.runtime.bloomfilter.number.threshold

    Limita o número máximo de filtros de tempo de execução não DPP permitidos por consulta para evitar out-of-memory erros no driver.

    10

    spark.sql.optimizer.runtime.bloomfilter.Numbits

    Define o número padrão de bits usados no filtro Bloom em tempo de execução.

    8388608

    spark.sql.optimizer.runtime. rowlevelOperationGroupFiltro ativado

    Especifica se a filtragem de grupos de tempo de execução deve ser ativada para operações em nível de linha. Permite que as fontes de dados:

    • Remova grupos inteiros de dados (como arquivos ou partições) usando filtros de fonte de dados

    • Execute consultas em tempo de execução para identificar registros correspondentes

    • Descarte grupos desnecessários para evitar regravações caras

    Limitações:

    • Nem todas as expressões podem ser convertidas em filtros de fonte de dados

    • Algumas expressões exigem avaliação do Spark (como subconsultas)

    VERDADEIRO

    spark.sql.optimizer.RuntimeFilter. semiJoinReduction.habilitado

    Especifica se uma junção semi-aleatória deve ser inserida para reduzir os dados aleatórios quando um lado de uma junção aleatória tem um predicado seletivo.

    FALSE

    spark.sql.parquet.aggregatePushdown

    Especifica se os agregados devem ser enviados para o Parquet para otimização. Suporta:

    • MIN e MAX para tipos booleano, inteiro, flutuante e de data

    • CONTAGEM para todos os tipos de dados

    Lança uma exceção se as estatísticas estiverem ausentes em qualquer rodapé do arquivo Parquet.

    FALSE

    spark.sql.parquet. columnarReaderBatchTamanho

    Controla o número de linhas em cada lote de leitores vetorizados do Parquet. Escolha um valor que equilibre a sobrecarga de desempenho e o uso da memória para evitar out-of-memory erros.

    4096

    spark.sql.session.fuso horário

    Define o fuso horário da sessão para lidar com carimbos de data/hora em literais de string e conversão de objetos Java. Aceita:

    • area/city Formato baseado IDs na região (como América/Los_Angeles)

    • Deslocamentos de zona no formato (+/-) HH, (+/-) HH:mm ou (+/-) HH:mm:ss (como -08 ou + 01:00)

    • UTC ou Z como aliases para + 00:00

    (valor do fuso horário local)

    spark.sql.shuffle.partições

    Define o número padrão de partições para o embaralhamento de dados durante junções ou agregações. Não pode ser modificado entre reinicializações de consultas de streaming estruturadas no mesmo local do ponto de verificação.

    200

    spark.sql. shuffledHashJoinFator

    Define o fator de multiplicação usado para determinar a elegibilidade da junção de hash aleatória. Uma junção de hash aleatória é selecionada quando o tamanho dos dados do lado pequeno multiplicado por esse fator é menor que o tamanho dos dados do lado grande.

    3

    spark.sql.sources. parallelPartitionDiscovery.limiar

    Define o número máximo de caminhos para a listagem de arquivos do lado do driver com fontes baseadas em arquivos (Parquet, JSON e ORC). Quando excedidos durante a descoberta da partição, os arquivos são listados usando uma tarefa distribuída separada do Spark.

    32

    spark.sql.statistics.histogram.enabled

    Especifica se devem ser gerados histogramas de altura equivalente durante o cálculo das estatísticas da coluna para melhorar a precisão da estimativa. Requer uma varredura de tabela adicional além da necessária para estatísticas básicas de colunas.

    FALSE

  9. Escolha Executar.

    nota

    Você não poderá executar a consulta se o membro que pode receber os resultados não tiver definido as configurações dos resultados da consulta.

  10. Continue ajustando os parâmetros e execute sua consulta novamente ou escolha o botão + para iniciar uma nova consulta em uma nova guia.