

# Usar a estrutura do Hudi no AWS Glue Studio
<a name="gs-data-lake-formats-hudi"></a>

 Ao criar ou editar um trabalho, o AWS Glue Studio adiciona automaticamente as bibliotecas do Hudi correspondentes, dependendo da versão do AWS Glue que você esteja usando. Para obter mais informações, consulte [Usar a estrutura Hudi no AWS Glue](https://docs.aws.amazon.com/glue/latest/dg/aws-glue-programming-etl-format-hudi.html). 

## Usar a estrutura do Apache Hudi em fontes de dados do Data Catalog
<a name="gs-data-lake-formats-hudi-source-catalog"></a>

**Para adicionar um formato de fonte de dados Hudi a um trabalho:**

1.  No menu Fonte, escolha AWS Glue Studio Data Catalog. 

1.  Na guia **Propriedades da fonte de dados**, escolha um banco de dados e uma tabela. 

1.  AWS Glue StudioO exibe o tipo de formato como Apache Hudi e o URL do Amazon S3.   
![A captura de tela mostra a guia de propriedades da fonte de dados para o nó da fonte de dados do Data Catalog.](https://docs.aws.amazon.com/pt_br/glue/latest/dg/images/data_lake_formats_data_catalog_hudi.png)

## Usar a estrutura do Hudi em fontes de dados do Amazon S3
<a name="gs-data-lake-formats-hudi-source-s3.title"></a>

1.  No menu Fonte, selecione Amazon S3. 

1.  Se você escolher a tabela do Data Catalog como o tipo de fonte do Amazon S3, escolha um banco de dados e uma tabela. 

1.  AWS Glue StudioO exibe o formato como Apache Hudi e o URL do Amazon S3. 

1.  Se você escolher o local do Amazon S3 como o **tipo de fonte do Amazon S3**, escolha a URL do S3 clicando em **Procurar o Amazon S3**. 

1.  Em **Formato de dados**, selecione Apache Hudi. 
**nota**  
 Se o AWS Glue Studio não conseguir inferir o esquema da pasta ou arquivo do Amazon S3 selecionado, escolha **Opções adicionais** para selecionar uma nova pasta ou arquivo.   
 Em **Opções adicionais**, escolha entre as seguintes opções em **Inferência de esquema**:   
 Deixe o AWS Glue Studio escolher automaticamente um arquivo de amostra. O AWS Glue Studio escolherá um arquivo de amostra no local do Amazon S3 para que o esquema possa ser inferido. No campo **Arquivo amostrado automaticamente**, você pode visualizar o arquivo que foi selecionado automaticamente. 
 Escolha um arquivo de amostra do Amazon S3. Escolha o arquivo do Amazon S3 a ser usado clicando em **Procurar no Amazon S3**. 

1.  Clique em **Inferir esquema**. Depois, você poderá visualizar o esquema de saída clicando na guia **Esquema de saída**. 

1.  Escolha **Opções adicionais** para inserir um par de chave-valor.   
![A captura de tela mostra a seção Opções adicionais na guia Propriedades da fonte de dados para um nó de fonte de dados do Amazon S3.](https://docs.aws.amazon.com/pt_br/glue/latest/dg/images/data_lake_formats_additional_options.png)

## Usar a estrutura do Apache Hudi em destinos de dados
<a name="gs-data-lake-formats-hudi-target"></a>

### Usar a estrutura do Apache Hudi em destinos de dados do Data Catalog
<a name="gs-data-lake-formats-hudi-target-catalog"></a>

1.  No menu **Destino**, escolha AWS Glue Studio Data Catalog. 

1.  Na guia **Propriedades da fonte de dados**, escolha um banco de dados e uma tabela. 

1.  AWS Glue StudioO exibe o tipo de formato como Apache Hudi e o URL do Amazon S3. 

#### Usar a estrutura do Apache Hudi em destinos de dados do Amazon S3
<a name="gs-data-lake-formats-hudi-target-s3"></a>

 Insira os valores ou selecione-os entre as opções disponíveis para configurar o formato do Apache Hudi. Para obter mais informações sobre o Apache Hudi, consulte a [documentação do Apache Hudi](https://hudi.apache.org/docs/overview). 

![A captura de tela mostra a seção Opções adicionais na guia Propriedades da fonte de dados para um nó de fonte de dados do Amazon S3.](https://docs.aws.amazon.com/pt_br/glue/latest/dg/images/hudi_s3_target_properties.png)

+  **Nome da tabela do Hudi**: esse é o nome da tabela do Hudi. 
+  **Tipo de armazenamento do Hudi**: escolha entre duas opções: 
  +  **Copiar e gravar**: recomendado para otimizar o desempenho de leitura. Esse é o tipo de armazenamento padrão do Hudi. Cada atualização cria uma nova versão dos arquivos durante uma gravação. 
  +  **Mesclar na leitura**: recomendado para minimizar a latência de gravação. As atualizações são registradas em arquivos delta baseados em linha e são compactadas conforme necessário para criar novas versões dos arquivos colunares. 
+  **Operação de gravação do Hudi**: escolha uma das seguintes opções: 
  +  **Upsert**: essa é a operação padrão, na qual os registros de entrada são marcados primeiro como inserções ou atualizações consultando o índice. Recomendado quando você está atualizando dados existentes. 
  +  **Inserir**: essa opção insere registros, mas não verifica os registros existentes e pode resultar em duplicatas. 
  +  **Inserção em massa**: essa opção insere registros e é recomendado para grandes volumes de dados. 
+  **Campos de chave de registro do Hudi**: use a barra de pesquisa para pesquisar e escolher chaves de registro primárias. Os registros no Hudi são identificados por uma chave primária, que é um par de chave de registro e o caminho da partição ao qual o registro pertence. 
+  **Campo de combinação prévia do Hudi**: esse é o campo usado para a combinação prévia antes da gravação real. Quando dois registros tiverem o mesmo valor de chave, o AWS Glue Studio selecionará o de maior valor para o campo de combinação prévia. Defina um campo com o valor incremental (por exemplo, updated\_at) pertence a. 
+  **Tipo de compactação**: escolha uma das opções de tipo de compactação: não compactado, GZIP, LZO ou Snappy. 
+  **Local de destino do Amazon S3**: escolha o local de destino do Amazon S3 clicando em **Procurar no S3**. 
+  **Opções de atualização do Data Catalog**: escolha uma das seguintes opções: 
  +  Do not update the Data Catalog (Não atualizar o Data Log): (padrão) escolha essa opção se você não quiser que o trabalho atualize o Data Catalog, mesmo que o esquema seja alterado ou novas partições sejam adicionadas. 
  +  Criar uma tabela no Data Catalog e em execuções subsequentes, atualizar o esquema e adicionar novas partições: se você escolher essa opção, o trabalho criará a tabela no Data Catalog quando for executado pela primeira vez. Em execuções de trabalho subsequentes, ele atualizará a tabela do Data Catalog, se o esquema for alterado ou novas partições forem adicionadas. 

     Você também deve selecionar um banco de dados no Data Catalog e inserir um nome de tabela. 
  +  Create a table in the Data Catalog and on subsequent runs, keep existing schema and add new partitions (Criar uma tabela no Data Catalog e em execuções subsequentes, manter o esquema atual e adicionar novas partições): se você escolher essa opção, o trabalho criará a tabela no Data Catalog na sua primeira execução. Em execuções de trabalho subsequentes, ele atualizará a tabela do Data Catalog, mas apenas para adicionar novas partições. 

     Você também deve selecionar um banco de dados no Data Catalog e inserir um nome de tabela. 
+  Partition keys (Chaves de partição): escolha quais colunas usar como chaves de particionamento na saída. Para adicionar mais chaves de partição, escolha Add a partition key (Adicionar uma chave de partição. 
+  **Opções adicionais**: insira um par de valor-chave conforme necessário. 

## Gerar código por meio do AWS Glue Studio
<a name="gs-data-lake-formats-hudi-generating-code"></a>

 Quando o trabalho é salvo, os seguintes parâmetros de trabalho são adicionados a ele se uma fonte ou um destino Hudi forem detectados: 
+  `--datalake-formats`: uma lista distinta de formatos de data lake detectados no trabalho visual (diretamente escolhendo um “formato” ou indiretamente selecionando uma tabela de catálogo com suporte de um data lake). 
+  `--conf `: gerado com base no valor de `--datalake-formats`. Por exemplo, se o valor de `--datalake-formats` for "hudi", o AWS Glue gerará um valor `spark.serializer=org.apache.spark.serializer.KryoSerializer —conf spark.sql.hive.convertMetastoreParquet=false` para esse parâmetro. 

## Substituir as bibliotecas fornecidas pelo AWS Glue
<a name="gs-data-lake-formats-hudi-overriding-libraries"></a>

 Para usar uma versão do Hudi que não seja compatível com o AWS Glue, você pode especificar seus próprios arquivos JAR de biblioteca do Hudi. Para usar seu próprio arquivo JAR: 
+  use o parâmetro de trabalho `--extra-jars`. Por exemplo, `'--extra-jars': 's3pathtojarfile.jar'`. Para obter mais informações, consulte [parâmetros de trabalho do AWS Glue](https://docs.aws.amazon.com/glue/latest/dg/aws-glue-programming-etl-glue-arguments.html). 
+  não inclua `hudi` como um valor para o parâmetro de trabalho `--datalake-formats`. Inserir uma string em branco como um valor garante que nenhuma biblioteca de data lake seja fornecida a você automaticamente pelo AWS Glue. Para obter mais informações, consulte [Usar a estrutura Hudi no AWS Glue](https://docs.aws.amazon.com/glue/latest/dg/aws-glue-programming-etl-format-hudi.html). 