📖
C&D.tech - Docs
  • 🇧🇷PORTUGUÊS - BRA
    • Apresentação
    • Engenharia de Dados
      • Conceitos
        • Conceituando dados
        • O que é Engenharia de Dados
        • Profissionais de Dados
      • Fundamentos de Engenharia de Dados
        • Arquitetura de Dados
          • O que é arquitetura
          • Tipos de Arquiteturas
            • Arquitetura Transacional
            • Arquitetura Analítica
              • Data Warehouse e Data Mart
              • Data Lake e Lakehouse
        • Formato de Dados
        • Formato de Arquivos
    • Índices e Referências
      • Referências
        • 📗Livros
        • 📑Artigos
        • 📹Vídeos
        • 👨‍💻Cursos
        • 👨‍🏫Profissionais
        • 📃Outros Materiais
      • Índices
        • 🗂️Figuras e Imagens
        • 📇Siglas Utilizadas
    • Contato
Fornecido por GitBook
Nesta página
  • O que é formato de arquivos?
  • Formatos Abertos
  • Formatos Proprietários
  • Tipos de arquivos de formato aberto
  • Referências
  • Siglas

Isto foi útil?

Editar no GitHub
  1. PORTUGUÊS - BRA
  2. Engenharia de Dados
  3. Fundamentos de Engenharia de Dados

Formato de Arquivos

Nesta página é destinada a compreensão do conceito de formato de arquivos

AnteriorFormato de DadosPróximoÍndices e Referências

Atualizado há 7 meses

Isto foi útil?

Escrito por

O que é formato de arquivos?

Os formatos de arquivos são essenciais na área de dados, uma vez que, como existem diversos sistemas produtores de dados, precisamos nos adaptar a essa realidade. O formato de arquivo estará diretamente relacionado ao tipo de dado, conforme discutido no .

Vale salientar que os formatos de arquivos são divididos em dois subgrupos: abertos e proprietários.

Formatos Abertos

Os arquivos de formato aberto são definidos como aqueles que podem ser usados, compartilhados e desenvolvidos livremente por qualquer pessoa, em qualquer lugar, para qualquer finalidade. Para isso, existem princípios fundamentais, como:

  • Liberdade: Os dados são livres para serem usados, compartilhados e desenvolvidos.

  • Disponibilidade: Os dados são acessíveis e podem ser baixados.

Esses tipos de arquivos seguem, basicamente, os mesmos princípios de projetos open-source, que são desenvolvidos com contribuição global de pessoas que se identificam com o projeto.

Os formatos mais comuns são: CSV, TXT, XML, JSON, ORC, Avro e Parquet.

Formatos Proprietários

Por outro lado, os formatos proprietários são aqueles que podem ser usados e compartilhados, mas são característicos de um sistema específico ou exigem uma licença, estando cobertos por uma patente ou direitos autorais(copyright).

Alguns exemplos de formatos proprietários incluem: XLS/XLSX (Excel), MDF/LDF (SQL Server), DBF/ORA (Oracle).

A seguir, são apresentados os principais tipos de formatos de arquivos abertos:

Tipos de arquivos de formato aberto

Arquivo separado por vírgulas (CSV)

Esse tipo de arquivo possui uma estrutura simples e compacta, sendo ideal para volumes não tão grandes de dados. Geralmente, os dados são separados por vírgulas, embora outros delimitadores, como pipe (|) ou ponto e vírgula (;), possam ser usados. No entanto, esse tipo de arquivo pode ser ineficiente para processamento de dados em grande escala, devido à falta de metadados e ao problema de "small-files".

A extensão desses arquivos são .csv

order_id,customer_name,product,quantity,price_unity,total_price,purchase_date
101,Alice,Laptop,1,1200.5,1200.5,2024-01-31
102,Bob,Headphones,2,50.0,100.0,2024-02-29
103,Carlos,Smartphone,1,800.0,800.0,2024-03-31
104,Diana,Tablet,1,300.0,300.0,2024-04-30
105,Elena,Monitor,2,250.0,500.0,2024-05-31
106,Fernando,Mouse,1,20.0,20.0,2024-06-30
107,Gabriela,Keyboard,3,40.0,120.0,2024-07-31
108,Hugo,Printer,1,150.0,150.0,2024-08-31
109,Isabela,Camera,1,500.0,500.0,2024-09-30
110,Jorge,Router,2,100.0,200.0,2024-10-31

Arquivo de Texto (TXT)

Assim como o CSV, o arquivo de texto é simples e compacto, sendo ideal para volumes moderados de dados. No entanto, ele não possui uma definição clara quanto ao delimitador de colunas. Pode usar delimitadores como pipe (|), ponto e vírgula (;), vírgula (,) ou até mesmo tabulações (tab). Também não contém metadados e, assim como o CSV, pode ser ineficiente para grandes volumes de dados devido ao problema de "small-files".

A extensão desses arquivos são .txt

order_id|customer_name|product|quantity|price_unity|total_price|purchase_date
101|Alice|Laptop|1|1200.5|1200.5|2024-01-31
102|Bob|Headphones|2|50.0|100.0|2024-02-29
103|Carlos|Smartphone|1|800.0|800.0|2024-03-31
104|Diana|Tablet|1|300.0|300.0|2024-04-30
105|Elena|Monitor|2|250.0|500.0|2024-05-31
106|Fernando|Mouse|1|20.0|20.0|2024-06-30
107|Gabriela|Keyboard|3|40.0|120.0|2024-07-31
108|Hugo|Printer|1|150.0|150.0|2024-08-31
109|Isabela|Camera|1|500.0|500.0|2024-09-30
110|Jorge|Router|2|100.0|200.0|2024-10-31    

Arquivo com Marcadores (XML)

Esse formato é delimitado por tags e foi um dos pioneiros na interoperabilidade e comunicação entre sistemas. Ele possui uma estrutura dinâmica, permitindo a inferência de tipos de dados através das tags. Além disso, o XML é compreensível tanto por humanos quanto por máquinas.

A extensão desses arquivos são .xml

<?xml version="1.0" encoding="UTF-8"?>
<purchase>
    <order_id>111</order_id>
    <customer_id>4500157</customer_id>
    <customer_name>Mariana</customer_name>
    <product_code>1000152</product_code>
    <product>Smart TV</product>
    <quantity>1</quantity>
    <price_item>1500.00</price_item>
    <total_price>1500.00</total_price>
    <purchase_date>2024-10-15</purchase_date>
    <purchase_form>cartao de credito </purchase_form>
</purchase>

Arquivo JavaScript (JSON)

O JSON é um formato leve de intercâmbio de dados, similar ao XML, e possui uma estrutura bem definida. É fácil de ler e escrever tanto para humanos quanto para máquinas. O JSON pode ser utilizado em diversas linguagens de programação modernas, como Java e Python. Ele é construído com duas estruturas principais: uma coleção de pares nome/valor e uma lista ordenada de valores.

A extensão desses arquivos são .json

{
    "purchase": {
        "order_id": 111,
        "customer_id": 4500157,
        "customer_name": "Mariana",
        "product_code": 1000152,
        "product": "Smart TV",
        "quantity": 1,
        "price_item": 1500.0,
        "total_price": 1500.0,
        "purchase_date": "2024-10-15",
        "purchase_form": "cartao de credito"
    }
}

Arquivo orientado a coluna (ORC)

Esse tipo de arquivo é projetado para armazenar grandes volumes de dados de forma compactada. Desenvolvido em 2013, o ORC armazena dados em formato de colunas, otimizando a leitura e permitindo que apenas as colunas necessárias sejam recuperadas. O ORC inclui metadados, o que melhora o desempenho em operações de leitura seletiva.

A extensão desses arquivos são .orc

Funcionamento de um arquivo ORC

Arquivo orientado a coluna (Parquet)

O formato Parquet é projetado para o armazenamento eficiente de grandes volumes de dados, especialmente em cenários de análise de dados. Assim como o ORC, ele organiza os dados em colunas, otimizando a leitura seletiva. Parquet também inclui metadados, permitindo compressão eficiente e maior desempenho nas operações analíticas.

A extensão desses arquivos são .parquet

Metadata do Arquivo Parquet

Arquivo serializado (AVRO)

O AVRO é outro formato direcionado para grandes volumes de dados, assim como o ORC e o Parquet. Ele serializa os dados em formato binário compacto e utiliza JSON para definir os esquemas de dados. É especialmente útil em ambientes de streaming e processamento distribuído, sendo eficiente tanto para armazenamento quanto para transmissão de dados.

A extensão desses arquivos são .avro


Referências

Siglas

CSV - Comma-separated values

JSON - JavaScript Object Notation

ORC - Optimized Row Columnar

TXT - Text

XML - Extensible Markup Language

🇧🇷
Matheus Sampaio
tópico anterior
What is Apache Avro | Airbyte
O que é XML | AWS
XML – Introdução | Marcoratti
Introdução ao XML | Devmedia
Open Definition | Open Knowledge
Formatos de Arquivo | Open Data Handbook
JSON | JSON.org
ORC | Wiki Apache
Documentation | Apache ORC
Documentation | Apache Avro
Overview Paquet | Apache Parquet
Apache Parquet Format | Apache
Figura 28 - Funcionamento de um arquivo ORC (Fonte: )
Figura 29 - Compreensão e metadados dos arquivos Parquet (Fonte: )
ORC | Wiki Apache
Apache Parquet Format | Apache