Skip to main content

A Python library that simplifies data manipulation and workflow development with PySpark in Databricks environments.

Project description

Repositório destinado a criação de functions para tratativas de dados em Arquitetura Medalhão!

Conceito:

A arquitetura medalhão descreve uma série de camadas de dados que denotam a qualidade dos dados armazenados no lakehouse.

Essa arquitetura garante atomicidade, consistência, isolamento e durabilidade à medida que os dados passam por várias camadas de validações e transformações antes de serem armazenados em uma disposição otimizada para uma análise eficiente.

Os termos bronze (bruto), prata (validado) e ouro (enriquecido) descrevem a qualidade dos dados em cada uma dessas camadas.

A arquitetura medalhão é um padrão de design de dados usado para organizar dados logicamente. Seu objetivo é melhorar de forma incremental e progressiva a estrutura e a qualidade dos dados à medida que eles fluem por cada camada da arquitetura (de Bronze ⇒ Prata ⇒ Ouro).

Com o avanço dos dados por essas camadas, as organizações podem melhorar gradativamente a qualidade e a confiabilidade dos dados, tornando-os mais adequados para aplicativos de Business Intelligence e aprendizado de máquina.

fonte: https://docs.databricks.com/aws/pt/lakehouse/medallion

Funções da Camada Silver

Para utilização das funções abaixo. é necessário utilizar um dataframe em pysaprk

As funções abaixo são referente a etapa de um processo silver em uma arquitetura de dados medalhão

Onde nessa etapa o foco é realizar uma limpeza e normalização dos dados, definição de schema e outras modelagens que não são referente a regras de negócio.

No final, teremos uma tabela de dados confiável para a próxima etapa do pipeline.

  • column_to_date: Converte uma coluna de string para o tipo de dado de data.
  • column_to_timestamp: Converte uma coluna de string para o tipo timestamp.
  • numbers_to_date: Converte uma coluna de números em datas.
  • change_null_numeric: Substitui valores nulos em colunas numéricas por 0.
  • change_null_string: Substitui valores nulos em colunas de string por '-'.
  • remove_extra_spaces: Remove espaços em branco extras de todas as colunas de string em um DataFrame.
  • upper_string_column: Converte todos os caracteres de uma coluna de string para maiúsculas.
  • lower_string_column: Converte todos os caracteres de uma coluna de string para minúsculas.
  • change_column_name: Altera o nome de uma coluna em um DataFrame.
  • union_dataframes: Une uma lista de DataFrames .
  • filter_like: Filtra os registros de um DataFrame onde os valores de uma coluna específica correspondem a um padrão regex.
  • filter_by_max_date: Filtra o DataFrame para manter apenas as linhas com a maior data.
  • organize_data: Ordena o dataframe de acordo com uma coluna de identificação eliminando possivéis duplicatas.
  • convert_currency_column: Converte uma coluna de moeda no DataFrame para o tipo double.
  • type_monetary: Identifica o tipo de 'moeda' com base de uma coluna específicas.
  • replace_characters: Substitui um caracter específico por outro em uma coluna do DataFrame.
  • concat_columns: Concatena duas colunas de um DataFrame com um separador "_".

Funções da Camada Gold

Para utilização das funções abaixo. é necessário utilizar um dataframe em pysaprk

As funções abaixo são referente a etapa de um processo gold em uma arquitetura de dados medalhão

Onde somente funções que são referente a regra de negocio passam por essa etapa. Além de funções para tratamento de dados, podemos realizar agragações para definição de tabela fato e dimenssão.

No final, teremos uma tabela de dados apta para criação de dataviz e processo de machine leaning.

  • extract_memory: Adiciona uma coluna com a quantidade de memória em GB extraída de outra coluna do DataFrame.
  • extract_characters: Extrai caracteres específicos de uma coluna e coloca o resultado em outra coluna do DataFrame.
  • condition_like: Adiciona uma nova coluna ao DataFrame com valores 'Sim' ou 'Nao' com base em uma condição de correspondência de padrão.

Funções de Teste Funcional

  • df_not_empty: Verifica se o Dataframe não está vazio retornando o nnúmero de linhas.
  • schema_equals_df_schema: Verifica se o schema corresponde ao que está ao dataframe (Utilizado após a aplicação do Schema ao df).
  • count_df_filtered_filter: Verifica se não ocorreu perda de linhas em um filtro de dados.
  • count_df_filtered_is_not_null: Verifica a quantidade de linhas nulas e não nulas são iguais ao dataframe original.
  • count_union_df: Verifica a consistência da união de um conjunto de DataFrames.
  • list_names_equal_df_names: Verifica se os nomes das colunas de um DataFrame (df) são exatamente iguais aos nomes presentes em uma lista (list_name).
  • number_columns_list_names_and_df: Verifica se o dataframe possuí a mesma quantidade de nomes em uma lista.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

servify-0.0.45.tar.gz (18.7 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

servify-0.0.45-py3-none-any.whl (25.1 kB view details)

Uploaded Python 3

File details

Details for the file servify-0.0.45.tar.gz.

File metadata

  • Download URL: servify-0.0.45.tar.gz
  • Upload date:
  • Size: 18.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.14

File hashes

Hashes for servify-0.0.45.tar.gz
Algorithm Hash digest
SHA256 cf6fb5e0cc738b775548e5d8f8ce30d80fe5bf44e49e656e76df20f0de71b467
MD5 c1a723aeae4ac2b8a574b6b0f292a53a
BLAKE2b-256 f3500cd7e3ed6183676b2e7a9f697b22655a9f24e16c26e675a42ea7f45ba99c

See more details on using hashes here.

File details

Details for the file servify-0.0.45-py3-none-any.whl.

File metadata

  • Download URL: servify-0.0.45-py3-none-any.whl
  • Upload date:
  • Size: 25.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.14

File hashes

Hashes for servify-0.0.45-py3-none-any.whl
Algorithm Hash digest
SHA256 e65086307ee89acfb74341b9a73fec87d21206132deaaa5af3f6d1b43ce4bd3c
MD5 a9c1082f2a131b0e48d3da4a41f922aa
BLAKE2b-256 14e5b7db6f94e16d5bc1e17ed796a1710c47065de4aca866b8bb911ebb0cd160

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page