Source base de données
Lit depuis n'importe quelle base de données. Le type de SGBD (db_type)
est choisi sur la brick ; la connexion porte les identifiants. Cette brick
unifiée remplace les anciennes bricks PostgreSQL / MySQL / SQL Server / Oracle
/ SQLite / Snowflake Import.
Deux modes d'extraction :
- Sélection de table : schéma + table, colonnes, filtre
WHERE, tri, limite de lignes ; - Requête SQL : requête custom dans l'éditeur SQL, avec paramètres
:var(liaison SQLAlchemy).
La brick nécessite une connexion base de données définie dans le projet, voir Créer une connexion. Chaque environnement porte ses propres identifiants pour cette connexion.
La connexion définit le serveur et les identifiants ; la brick référence la
connexion et choisit quoi lire.
Paramètres
| Paramètre | Type | Requis | Description |
|---|---|---|---|
db_type | Enum | Oui | postgres, mysql, snowflake, mssql, oracle, sqlite, bigquery, redshift, databricks. |
connection_id | String | Oui | Connexion base de données utilisée. |
extraction_mode | Enum | Oui | table (sélection de table, défaut) ou query (requête SQL). |
Mode table
| Paramètre | Type | Requis | Description |
|---|---|---|---|
schema_name | String | Non | Schéma (défaut public sur PostgreSQL). |
table_name | String | Oui | Table à lire (sélecteur alimenté par le catalogue de la base). |
column_selection_mode | Enum | Non | all (défaut) ou selected (colonnes choisies). |
selected_columns | Array | Non | Colonnes à extraire en mode selected. |
where_clause | String | Non | Clause WHERE (validée avant exécution). |
order_by | String | Non | Clause ORDER BY (validée avant exécution). |
row_limit | Integer | Non | Nombre maximum de lignes (0 = illimité). |
Mode requête SQL
| Paramètre | Type | Requis | Description |
|---|---|---|---|
sql_query | String | Oui | Requête SQL custom (éditeur SQL intégré), paramètres :var supportés. |
En mode table, la brick lit les types déclarés dans le catalogue de la base
(information_schema) et les applique au DataFrame : une colonne entièrement
NULL garde ainsi son type d'origine au lieu d'être réinférée par pandas. En
mode requête (ou sur SQLite / Snowflake), une coercition défensive est
appliquée à la place.
Bases supportées
Toutes les bases partagent les mêmes paramètres de brick ; seuls la connexion et quelques comportements varient. Voir Types de connexions pour le détail des champs de connexion.
PostgreSQL
- Port par défaut 5432, option
ssl_modesur la connexion ; - Schéma par défaut
public; - Limite de lignes via
LIMIT.
MySQL
- Port par défaut 3306, charset
utf8mb4par défaut ; - Identifiants cités avec des backticks ;
- Limite de lignes via
LIMIT.
SQL Server (MSSQL)
- Port par défaut 1433, pilote ODBC (« ODBC Driver 17 for SQL Server » par défaut), chiffrement activé par défaut ;
- Limite de lignes via
SELECT TOP.
Oracle
- Port par défaut 1521, connexion par
service_name; - Limite de lignes via
FETCH FIRST n ROWS ONLY.
SQLite
- La connexion pointe un chemin de fichier local au runner ;
- Pas de catalogue
information_schema: les types sont inférés du résultat.
Snowflake
- Connexion par
account, avecwarehouse,schema(défautPUBLIC) etroleoptionnel.
BigQuery, Redshift, Databricks SQL
Également disponibles dans db_type : BigQuery (projet + dataset +
credentials), Redshift (port 5439, SSL requis par défaut) et Databricks SQL
(hostname + http_path + token d'accès).
Les identifiants (schéma, table, colonnes) sont validés puis cités selon le
dialecte, et les clauses WHERE / ORDER BY sont contrôlées avant exécution.
Un nom piégé est refusé plutôt qu'échappé.