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á.
Consultar tabelas configuradas usando o editor de código SQL
Como membro que pode consultar, você pode criar uma consulta manualmente escrevendo código SQL no editor de código SQL. O editor de código SQL está localizado na seção Análise da guia Análise no AWS Clean Rooms console.
O editor de código SQL é exibido por padrão. Se quiser usar o criador de análises para criar consultas, consulte Consultar com o construtor de análises.
Importante
Se você começar a escrever uma consulta SQL no editor de código e depois ativar a Interface do usuário do construtor de análises, sua consulta não será salva.
AWS Clean Rooms oferece suporte a muitos comandos, funções e condições SQL. Para obter mais informações, consulte a Referência SQL do AWS Clean Rooms.
dica
Se uma manutenção programada ocorrer enquanto uma consulta estiver sendo executada, a consulta será encerrada e revertida e será necessário reiniciá-la. Você deve reiniciar a consulta.
Como consultar tabelas configuradas usando o editor de código SQL
-
Faça login no Console de gerenciamento da AWS e abra o AWS Clean Rooms console em https://console.aws.amazon.com/cleanrooms
. -
No painel de navegação à esquerda, escolha Colaborações.
-
Escolha a colaboração que tem o status Executar consultas em Suas habilidades de membro.
-
Na guia Análise, em Tabelas, visualize a lista de tabelas e o tipo de regra de análise associada (regra de análise de agregação, regra de análise de lista ou regra de análise personalizada).
nota
Se não estiver vendo as tabelas que espera na lista, isso pode ser pelos seguintes motivos:
-
As tabelas não foram associadas.
-
As tabelas não têm uma regra de análise configurada.
-
-
(Opcional) Para visualizar os controles do esquema e da regra de análise da tabela, expanda a tabela selecionando o ícone do sinal de adição (+).
-
Na seção Análise, para o modo Análise, selecione Gravar código SQL.
nota
A seção Análise só será exibida se o membro que pode receber os resultados e o membro responsável por pagar pelos custos de computação da consulta tiverem ingressado na colaboração como membro ativo.
-
Crie a consulta digitando a consulta no editor de código SQL.
Para obter mais informações sobre comandos e funções SQL compatíveis, consulte a Referência AWS Clean Rooms SQL.
Você também pode usar as opções a seguir para criar sua consulta.
-
(Somente para o mecanismo de análise do Spark) Especifique o tipo de trabalhador suportado e o número de trabalhadores.
Você pode escolher o tipo de instância e o número de instâncias (trabalhadores) para executar suas consultas SQL.
Para o CR.1X, você pode selecionar até 128 trabalhadores ou um mínimo de 4 trabalhadores.
Para o CR.4X, você pode selecionar até 32 trabalhadores ou um mínimo de 4 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
. -
Em Enviar resultados para, especifique quem pode receber os resultados.
nota
Para receber resultados, o membro da colaboração deve estar configurado como receptor de resultados e deve ser um participante ativo na colaboração (Status: Ativo)
-
(Membro que pode consultar somente) A caixa de seleção Usar suas configurações padrão de resultados está marcada por padrão. Mantenha essa opção selecionada se quiser manter suas configurações de resultado padrão.
Se você quiser especificar configurações de resultados diferentes para essa consulta, desmarque a caixa de seleção Usar suas configurações de resultado padrão e escolha o seguinte.
-
Formato do resultado (CSV ou PARQUET)
-
Arquivos de resultados (únicos ou múltiplos)
-
Destino dos resultados no Amazon S3
Cada membro que pode receber resultados pode especificar um formato de resultado, arquivos de resultados e destino de resultados diferentes no Amazon S3.
-
-
(Somente para o mecanismo de análise do Spark) Para especificar as propriedades do Spark:
-
Expanda as propriedades do Spark.
-
Escolha Adicionar propriedades do Spark.
-
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
Fonte
https://spark.apache.org/docs/latest/configuration.html#spark -propriedades
-
-
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.
-
Visualize os Resultados.
Para obter mais informações, consulte Recebendo e usando os resultados da análise.
-
Continue ajustando os parâmetros e execute sua consulta novamente ou escolha o botão + para iniciar uma nova consulta em uma nova guia.
nota
AWS Clean Rooms visa fornecer mensagens de erro claras. Se uma mensagem de erro não tiver detalhes suficientes para ajudá-lo a solucionar o problema, entre em contato com a equipe da conta. Forneça a eles uma descrição de como o erro ocorreu e a mensagem de erro (incluindo quaisquer identificadores). Para obter mais informações, consulte Solução de problemas AWS Clean Rooms.