

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

# PySpark modelos de análise
<a name="pyspark-analysis-templates"></a>

PySpark os modelos de análise exigem um script de usuário do Python e um ambiente virtual opcional para usar bibliotecas personalizadas e de código aberto. Esses arquivos são chamados de artefatos. 

Antes de criar um modelo de análise, primeiro você cria os artefatos e depois armazena os artefatos em um bucket do Amazon S3. AWS Clean Rooms usa esses artefatos ao executar trabalhos de análise. AWS Clean Rooms só acessa os artefatos ao executar um trabalho. 

Antes de executar qualquer código em um modelo de PySpark análise, AWS Clean Rooms valida os artefatos por meio de: 
+ Verificando a versão específica do objeto S3 usada ao criar o modelo
+ Verificando o hash SHA-256 do artefato 
+ Falha em qualquer trabalho em que os artefatos tenham sido modificados ou removidos

**nota**  
O tamanho máximo de todos os artefatos combinados para um determinado modelo de PySpark análise AWS Clean Rooms é de 1 GB.

## Segurança para modelos PySpark de análise
<a name="pyspark-analysis-templates-security"></a>

Para preservar um ambiente de computação seguro, AWS Clean Rooms usa uma arquitetura de computação de duas camadas para isolar o código do usuário das operações do sistema. Essa arquitetura é baseada na tecnologia de controle de acesso refinado sem servidor do Amazon EMR, também conhecida como Membrane. Para obter mais informações, consulte [Membrane — Controles de acesso a dados seguros e eficientes no Apache Spark na presença de](https://www.amazon.science/publications/membrane-safe-and-performant-data-access-controls-in-apache-spark-in-the-presence-of-imperative-code) código imperativo.

Os componentes do ambiente computacional são divididos em um espaço de usuário e um espaço de sistema separados. O espaço do usuário executa o PySpark código no modelo de PySpark análise. AWS Clean Rooms usa o espaço do sistema para permitir que o trabalho seja executado, incluindo o uso de funções de serviço fornecidas pelos clientes para ler dados para executar o trabalho e implementar a coluna lista de permissões. Como resultado dessa arquitetura, o PySpark código do cliente que afeta o espaço do sistema, que pode incluir um pequeno número de Spark SQL e PySpark DataFrames APIs, é bloqueado.

## PySpark limitações em AWS Clean Rooms
<a name="pyspark-limitations"></a>

Quando os clientes enviam um modelo de PySpark análise aprovado, ele o AWS Clean Rooms executa em seu próprio ambiente computacional seguro, que nenhum cliente pode acessar. O ambiente computacional implementa uma arquitetura computacional com espaço de usuário e espaço de sistema para preservar um ambiente computacional seguro. Para obter mais informações, consulte [Segurança para modelos PySpark de análise](#pyspark-analysis-templates-security).

Considere as seguintes limitações antes de usar PySpark em AWS Clean Rooms. 

**Limitações**
+ Somente DataFrame saídas são suportadas
+ Uma única sessão do Spark por execução de trabalho

**Recursos sem suporte**
+ **Gerenciamento de dados**
  + Formatos de tabela Iceberg
  + LakeFormation tabelas gerenciadas
  + Conjuntos de dados distribuídos resilientes (RDD)
  + Streaming do Spark
  + Controle de acesso para colunas aninhadas
+ **Funções e extensões personalizadas**
  + Funções de tabela definidas pelo usuário () UDTFs
  + Colmeia UDFs
  + Classes personalizadas em funções definidas pelo usuário
  + Fontes de dados personalizadas
  + Arquivos JAR adicionais para:
    + Extensões do Spark
    + Conectores
    + Configurações do Metastore
+ **Monitoramento e análise**
  + Registro de faíscas
  + Interface do usuário do Spark
  + Comandos da `ANALYZE TABLE`

**Importante**  
Essas limitações existem para manter o isolamento de segurança entre os espaços do usuário e do sistema.  
Todas as restrições se aplicam independentemente da configuração da colaboração.  
Atualizações futuras podem adicionar suporte para recursos adicionais com base em avaliações de segurança.

## Práticas recomendadas
<a name="python-best-practices"></a>

Recomendamos as seguintes melhores práticas ao criar modelos PySpark de análise.
+ Crie seus modelos de análise pensando [PySpark limitações em AWS Clean Rooms](#pyspark-limitations) nisso.
+ Teste primeiro seu código em um ambiente de desenvolvimento.
+ Use exclusivamente DataFrame as operações suportadas.
+ Planeje sua estrutura de saída para trabalhar com DataFrame limitações.

Recomendamos as seguintes melhores práticas para gerenciar artefatos
+ Mantenha todos os artefatos do modelo de PySpark análise em um bucket ou prefixo dedicado do S3.
+ Use uma nomenclatura de versão clara para diferentes versões de artefatos.
+ Crie novos modelos de análise quando forem necessárias atualizações de artefatos.
+ Mantenha um inventário de quais modelos usam quais versões de artefatos.

Para obter mais informações sobre como escrever o código do Spark, consulte o seguinte: 
+ [Exemplos do Apache Spark](https://spark.apache.org/examples.html)
+ [Escreva um aplicativo Spark no Guia](https://docs.aws.amazon.com/emr/latest/ReleaseGuide/emr-spark-application.html) de lançamento do *Amazon EMR*
+ [Tutorial: Escrevendo um script AWS Glue para o Spark](https://docs.aws.amazon.com/glue/latest/dg/aws-glue-programming-intro-tutorial.html) no Guia do *AWS Glue usuário*

Os tópicos a seguir explicam como criar scripts de usuário e bibliotecas do Python antes de criar e revisar o modelo de análise. 

**Topics**
+ [Segurança para modelos PySpark de análise](#pyspark-analysis-templates-security)
+ [PySpark limitações em AWS Clean Rooms](#pyspark-limitations)
+ [Práticas recomendadas](#python-best-practices)
+ [Criação de um script de usuário](create-user-script.md)
+ [Trabalhando com parâmetros em modelos PySpark de análise](pyspark-parameter-handling.md)
+ [Criação de um ambiente virtual (opcional)](create-virtual-environment.md)
+ [Armazenando um script de usuário e um ambiente virtual no S3](store-artifacts-in-s3.md)
+ [Criação de um modelo de PySpark análise](create-pyspark-analysis-template.md)
+ [Revisando um modelo de PySpark análise](review-pyspark-analysis-template.md)