Upsert function in Pandas
Project description
Upsert Pandas
A função Upsert é uma operação fundamental em bancos de dados e sistemas de gerenciamento de dados que combina as operações de Update (Atualizar) e Insert (Inserir) em uma única etapa atômica. O nome Upsert é, literalmente, uma junção dos dois verbos.
Objetivo da Função Upsert
O principal objetivo do upsert é garantir que os dados de uma fonte de origem sejam sincronizados de forma eficiente com uma tabela de destino, sem gerar erros de duplicidade nas chaves primárias.
Ela funciona verificando a existência de um registro com base em uma Chave de Negócio (ou Chave Primária):
-
SE o registro EXISTE na tabela de destino (match na chave): Atualiza (Update) as colunas do registro existente com os novos valores da fonte de origem.
-
SE o registro NÃO EXISTE na tabela de destino (não há match na chave): Insere (Insert) o novo registro na tabela de destino.
Cenários de Uso Comuns
O Upsert é amplamente utilizado em Engenharia de Dados, ETL/ELT e Data Warehousing:
- Sincronização de Dados: É a base para manter tabelas de dimensão em Data Warehouses atualizadas, garantindo que novos clientes sejam inseridos e que os dados de clientes existentes (como endereço ou nome) sejam corrigidos.
- Processamento de Streams: Em sistemas de processamento em tempo real (como Apache Kafka ou Flink), o Upsert é usado para garantir que o estado de uma entidade seja consistentemente atualizado, tratando eventos novos ou modificações.
- Pandas/PySpark: Em ambientes como PySpark (com Delta Lake) ou Pandas, a lógica Upsert é implementada para fundir (merge) DataFrames de forma eficiente.
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
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file upsert_pandas-0.0.2.tar.gz.
File metadata
- Download URL: upsert_pandas-0.0.2.tar.gz
- Upload date:
- Size: 4.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.10.0 {"installer":{"name":"uv","version":"0.10.0","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
eb5465613d6fa509991fee8a21ed8a073b623c75e721fce719809da267d6042f
|
|
| MD5 |
c4fe20a7f5e407f7997f328a67918094
|
|
| BLAKE2b-256 |
f4608babf3be42ae1a7f5c8e2708a6ec3948f3d1b29194630c4a08a9da9cf999
|
File details
Details for the file upsert_pandas-0.0.2-py3-none-any.whl.
File metadata
- Download URL: upsert_pandas-0.0.2-py3-none-any.whl
- Upload date:
- Size: 4.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.10.0 {"installer":{"name":"uv","version":"0.10.0","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
46c3afa2a855fc121e1c2d9adf935381e519907d8a823339f8f459f3c6198589
|
|
| MD5 |
f674de7becffa5576f6004cd63aba12b
|
|
| BLAKE2b-256 |
5e334496d2d238949b46844f2ddea9732ae3165cd91b913788eebfa0e3f23bc7
|