Stockage | Modèle | Similaire à | Avantages |
---|---|---|---|
Base de données relationnelle | Relationnel | MySQL, Oracle DB, etc. | Structures complexes, SQL (Structured Query Language) |
Fichier texte | Non structuré | Anglais simple, français, etc. | Langage naturel |
Fichiers CSV | Orienté ligne par ligne | Excel | Compact, divisibles |
Parquet | Orienté colonnes | Cassandra | Peut être plus efficace (lecture/écriture et compression) que l’orientation ligne par ligne |
MongoDB | Semi-structuré | JSON, XML, YAML, Avro | Facile à lire (auto-descriptif), flexible |
https://docs.microsoft.com/en-us/azure/architecture/data-guide/images/example-relational2.png
(Provenant de la page Wikipedia Column-oriented)
RowId | EmpId | Lastname | Firstname | Salary |
---|---|---|---|---|
001 | 10 | Smith | Joe | 40000 |
002 | 12 | Mary | 50000 | |
003 | 11 | Johnson | Cathy | |
004 | 22 | Jones | Bob | 55000 |
RowId:EmpId,Lastname,Firstname,Salary
001:10,Smith,Joe,40000;
002:12,,Mary,50000;
003:11,Johnson,Cathy;
004:22,Jones,Bob,55000;
10:001,12:002,11:003,22:004;
Smith:001,Johnson:003,Jones:004;
Joe:001,Mary:002,Cathy:003,Bob:004;
40000:001,50000:002,55000:004;
JSon est un sous-ensemble de la syntaxe JavaScript Object Notation
{
"employees": [
{
"EmpId": 10,
"Lastname": "Smith",
"Firstname": "Joe",
"Salary": "40000"
},
{
"EmpId": 12,
"Firstname": "Mary",
"Salary": "50000"
},
{
"EmpId": 11,
"Lastname": "Johnson",
"Firstname": "Cathy"
},
{
"EmpId": 22,
"Lastname": "Jones",
"Firstname": "Bob",
"Salary": "55000"
}
]
}
est un sur-ensemble de JSON
.yml
[commencent par ‘—’, marquant le début du document] (optionnel)---
employees:
- EmpId: 10
Lastname: Smith
Firstname: Joe
Salary: 40000
- EmpId: 12
Firstname: Mary
Salary: 50000
- EmpId: 11
Lastname: Johnson
Firstname: Cathy
- EmpId: 22
Lastname: Jones
Firstname: Bob
Salary: 55000
Un format plus ancien (plus verbeux, plus difficile à lire) qui est principalement utilisé pour les échanges SOAP (abréviation de Simple Object Access Protocol), les fichiers de configuration hérités, ainsi que les applications Web (XML est similaire à HTML)
<?xml version="1.0" encoding="UTF-8"?>
<root>
<employees>
<element>
<EmpId>10</EmpId>
<Firstname>Joe</Firstname>
<Lastname>Smith</Lastname>
<Salary>40000</Salary>
</element>
<element>
<EmpId>12</EmpId>
<Firstname>Mary</Firstname>
<Salary>50000</Salary>
</element>
<element>
<EmpId>11</EmpId>
<Firstname>Cathy</Firstname>
<Lastname>Johnson</Lastname>
</element>
<element>
<EmpId>22</EmpId>
<Firstname>Bob</Firstname>
<Lastname>Jones</Lastname>
<Salary>55000</Salary>
</element>
</employees>
</root>
Astuce, des outils en ligne sont disponibles pour convertir CSV en JSON, JSON en YAML, etc.
Ne pas utiliser pour des données sensibles !
J’utilise l’extension suivante pour aider à la visualisation du fichier CSV : Rainbow CSV
Installez le tout dans votre environnement de travail (VS Code)
Configurez votre environnement et y exécuter le notebook Jupyter
conda install -c anaconda ipykernel
conda create -n mgl7320 python=3.11 ipykernel
conda activate mgl7320
brew install libomp [ou équivalent pour Windows, indispensable pour exécuter xgboost]
pip install numpy pandas seaborn matplotlib scikit-learn xgboost
Ctrl-Shift-P
(Windows) Cmd-Shift-P
(Mac)