TP3

TP3

par Nicolas Saunier,
Nombre de réponses : 2

Bonjour,

plusieurs d'entre vous ont des difficultés avec le fichier de perception de la STM. Pour que vous puissiez commencer à travailler, j'ai mis sur le site moodle un fichier contenant seulement 1 million de ligne de transactions (tmp-stm.zip). 

Le fichier complet des transactions s'importe sans difficulté dans sqlite avec les commandes suivantes en utilisant l'interface en ligne de commande sqlite3 (disponible à http://www.sqlite.org/download.html):

sqlite> .separator ";"
sqlite> .import fichier.csv nom_table

où fichier.csv est le fichier à importer et table le nom de la table dans laquelle importer les données (qui doit avoir le bon nombre de colonne et des types de données correspondant au fichier csv). Il est probable que des solutions équivalentes existent avec MySql ou Postgresql. 

Je vous conseille dans tous les cas de travailler avec un plus petit ensemble de données comme le fichier csv mis sur moodle (ou en exportant/copiant quelques jours de données de la table complète) avant de lancer les calculs sur l'ensemble.

Salutations,

Nicolas

En réponse à Nicolas Saunier

Re: TP3

par Nicolas Saunier,

Un ajout après un essai avec Philippe. Si vous lancez sqlite3 sans argument, la base de données reste en mémoire et nécessite plus de 4 Go. Si vous indiquez par contre un nom de fichier en argument de sqlite3, les données seront directement enregistrée sur le disque et le programme demande peu de ressources en mémoire. Il suffit donc de lancer le programme de la façon suivante:

sqlite3.exe mon_fichier.sqlite
En réponse à Nicolas Saunier

Re: TP3

par Nicolas Saunier,

Pour faire des requêtes par heure ou par jour, il est possible d'utiliser les fonctions de sqlite sur les timestamp, en particulier strftime. Par exemple

  • strftime("%H", date) retourne l'heure (format texte)
  • strftime("%w", date) retourne le jour (un caractère "0" pour lundi, "1" pour mardi, etc.)

Référence http://www.sqlite.org/lang_datefunc.html

Je vais ajouter ces informations au tutoriel.