# Stream Avro File Reader

O conector **Stream Avro File Reader** permite que você leia arquivos Avro acionando *subpipelines* para processar cada mensagem individualmente. O conector deve ser usado para arquivos grandes.

Avro é um *framework* popular de serialização de dados utilizado no ecossistema Hadoop Big Data, conhecido por seu suporte à evolução de esquema e compactação. Para mais informações, [veja o site oficial](https://avro.apache.org/).

## **Parâmetros**

Dê uma olhada nos parâmetros de configuração do conector. Parâmetros suportados por[ expressões Double Braces](https://docs.digibee.com/documentation/connectors-and-triggers/pt-br/double-braces/overview) estão marcados com `(DB)`.

### **Aba General**

<table data-full-width="true"><thead><tr><th>Parâmetro</th><th>Descrição</th><th>Valor padrão</th><th>Tipo de dado</th></tr></thead><tbody><tr><td><strong>File Name</strong> <code>(DB)</code></td><td>Nome do arquivo Avro a ser lido.</td><td>{{ message.fileName }}</td><td><em>String</em></td></tr><tr><td><strong>Parallel Execution</strong></td><td>Ocorre em paralelo com a execução do <em>loop</em>.</td><td><em>False</em></td><td>Booleano</td></tr><tr><td><strong>Fail On Error</strong></td><td>Se a opção estiver ativada, a execução do <em>pipeline</em> com erro será interrompida. Do contrário, a execução do <em>pipeline</em> continua, mas o resultado irá mostrar um valor falso para a propriedade <code>"success"</code>.</td><td><em>False</em></td><td>Booleano</td></tr></tbody></table>

### **Aba Documentation**

<table data-full-width="true"><thead><tr><th>Parâmetro</th><th>Descrição</th><th>Valor padrão</th><th>Tipo de dado</th></tr></thead><tbody><tr><td><strong>Documentation</strong></td><td>Seção para documentar qualquer informação necessária sobre a configuração do conector e regras de negócio.</td><td>N/A</td><td><em>String</em></td></tr></tbody></table>

{% hint style="info" %}
Um arquivo Avro compactado gera conteúdo JSON maior que o próprio arquivo quando lido. Você deve verificar se o *pipeline* possui memória suficiente para tratar os dados, pois eles ficarão armazenados na memória do *pipeline*.
{% endhint %}

## **Exemplo de uso**

### **Lendo arquivo Avro**

* **File Name:** file.avro
* **Parallel:** desativado

**Saída:**

```
{
	"total": 1000,
	"success": 1000,
	"failed": 0
}

```

Se as linhas foram processadas corretamente, seus respectivos *subpipelines* retornam { `"success": true }` para cada linha individual.
