Aller au contenu principal

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.

Création d'une connexion base de données La connexion définit le serveur et les identifiants ; la brick référence la connexion et choisit quoi lire.

Paramètres​

ParamètreTypeRequisDescription
db_typeEnumOuipostgres, mysql, snowflake, mssql, oracle, sqlite, bigquery, redshift, databricks.
connection_idStringOuiConnexion base de données utilisée.
extraction_modeEnumOuitable (sélection de table, défaut) ou query (requête SQL).

Mode table​

ParamètreTypeRequisDescription
schema_nameStringNonSchéma (défaut public sur PostgreSQL).
table_nameStringOuiTable à lire (sélecteur alimenté par le catalogue de la base).
column_selection_modeEnumNonall (défaut) ou selected (colonnes choisies).
selected_columnsArrayNonColonnes à extraire en mode selected.
where_clauseStringNonClause WHERE (validée avant exécution).
order_byStringNonClause ORDER BY (validée avant exécution).
row_limitIntegerNonNombre maximum de lignes (0 = illimité).

Mode requête SQL​

ParamètreTypeRequisDescription
sql_queryStringOuiRequête SQL custom (éditeur SQL intégré), paramètres :var supportés.
Types de colonnes

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_mode sur la connexion ;
  • Schéma par défaut public ;
  • Limite de lignes via LIMIT.

MySQL​

  • Port par défaut 3306, charset utf8mb4 par 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, avec warehouse, schema (défaut PUBLIC) et role optionnel.

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).

Sécurité SQL

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é.