Rustmssql-Python é um pacote Python desenvolvido em Rust que permite exportar os resultados de consultas SQL do SQL Server diretamente para arquivos Parquet de forma eficiente.
Para instalar o pacote, utilize:
pip install rustmssql-pythonimport rustmssql_python
rustmssql_python.py_export_to_parquet(
name_server="meu_servidor",
query="SELECT * FROM minha_tabela",
file_parquet="saida.parquet"
)import rustmssql_python
rustmssql_python.py_export_to_parquet(
name_server="meu_servidor",
query="SELECT * FROM minha_tabela",
file_parquet="saida.parquet",
user="meu_usuario",
secret="minha_senha"
)import rustmssql_python
rustmssql_python.py_export_to_parquet(
name_server="meu_servidor",
path_file="consulta.sql",
file_parquet="saida.parquet"
)def py_export_to_parquet(
name_server: str,
query: str = None,
path_file: str = None,
file_parquet: str ="default.parquet",
user: str = None,
secret: str = None,
parameters: list[str] = None,
compression: Literal["UNCOMPRESSED", "SNAPPY", "GZIP", "BROTLI", "LZ4", "LZO", "LZ4_RAW", "ZSTD"] = "ZSTD"
) -> None:
"""
## Exporta os resultados de uma consulta SQL do SQL Server para um arquivo Parquet.
### Argumentos
- `name_server` (str): O nome ou IP do servidor SQL Server.
- `file_parquet` (str): O nome do arquivo Parquet de saída (padrão: "default.parquet").
- `query` (str): A consulta SQL a ser executada (opcional).
- `path_file` (str): Caminho para um arquivo contendo a consulta SQL (opcional).
- `user` (str): Nome de usuário para autenticação no SQL Server (opcional).
- `secret` (str): Senha para autenticação no SQL Server (opcional).
- `parameters` (list[str]): Lista de parâmetros para a consulta SQL (opcional).
- `compression` (Literal["UNCOMPRESSED", "SNAPPY", "GZIP", "BROTLI", "LZ4", "LZO", "LZ4_RAW", "ZSTD"]): Tipo de compressão para o arquivo Parquet (padrão: "ZSTD").
### Retorno
Esta função não retorna nenhum valor.
"""| SQL Server Type | Parquet Type | Logical Type |
|---|---|---|
INT |
INT32 |
|
BIGINT |
INT64 |
|
SMALLINT |
INT32 |
Int 16 bit width signed |
TINYINT |
INT32 |
Int 8 bit width unsigned |
BIT |
BOOLEAN |
|
FLOAT |
DOUBLE |
|
REAL |
FLOAT |
|
DECIMAL |
FIXED_LEN_BYTE_ARRAY |
Decimal precision, scale |
NUMERIC |
FIXED_LEN_BYTE_ARRAY |
Decimal precision, scale |
CHAR |
BYTE_ARRAY |
String |
VARCHAR |
BYTE_ARRAY |
String |
NCHAR |
BYTE_ARRAY |
String |
NVARCHAR |
BYTE_ARRAY |
String |
TEXT |
BYTE_ARRAY |
String |
NTEXT |
BYTE_ARRAY |
String |
XML |
BYTE_ARRAY |
String |
UUID |
BYTE_ARRAY |
String |
BINARY |
BYTE_ARRAY |
|
VARBINARY |
BYTE_ARRAY |
|
IMAGE |
BYTE_ARRAY |
|
TIMESTAMP |
BYTE_ARRAY |
|
DATE |
INT32 |
Date |
DATETIME |
INT64 |
Timestamp |
DATETIME2 |
INT64 |
Timestamp |
TIME |
INT64 |
Time |
Este projeto está licenciado sob a MIT License.