From bed3a4be4b42b99dd6e865d0d82de89668fb2a26 Mon Sep 17 00:00:00 2001 From: Alexis GUYOT Date: Thu, 25 Jan 2024 14:51:56 +0100 Subject: [PATCH] Actualiser docs/Services/pole-scientifique/Onyxia/docs/stockage.md --- .../pole-scientifique/Onyxia/docs/stockage.md | 67 ++++++++++++------- 1 file changed, 44 insertions(+), 23 deletions(-) diff --git a/docs/Services/pole-scientifique/Onyxia/docs/stockage.md b/docs/Services/pole-scientifique/Onyxia/docs/stockage.md index 338ff4f..7d24dc6 100644 --- a/docs/Services/pole-scientifique/Onyxia/docs/stockage.md +++ b/docs/Services/pole-scientifique/Onyxia/docs/stockage.md @@ -97,31 +97,52 @@ L'accès au stockage MinIO est possible via un token (jeton d'accès) personnel, ``` - - -=== "R" - ```r - aws.s3::get_bucket("donnees-insee", region = "") - ``` - -=== "Python - - ```python - fs.ls("donnees-insee") - ``` - -=== "mc" - Le stockage du Datalab est accessible via l'alias `s3`. Par exemple, pour lister les fichiers du bucket `donnees-insee` : - - ```bash - mc ls s3/donnees-insee - ``` - - - ### Importer des données -::: {.panel-tabset} +=== "R" + + ```r + BUCKET <- "donnees-insee" + FILE_KEY_S3 <- "diffusion/BPE/2019/BPE_ENS.csv" + + df <- + aws.s3::s3read_using( + FUN = readr::read_delim, + # Mettre les options de FUN ici + delim = ";", + object = FILE_KEY_S3, + bucket = BUCKET, + opts = list("region" = "") + ) + ``` + +=== "Python" + Le package S3Fs permet d'interagir avec les fichiers stockés sur MinIO comme s'il s'agissait de fichiers locaux. La syntaxe est donc très familière pour les utilisateurs de Python. Par exemple, pour importer/exporter des données tabulaires via `pandas` : + + ```python + import pandas as pd + + BUCKET = "donnees-insee" + FILE_KEY_S3 = "diffusion/BPE/2019/BPE_ENS.csv" + FILE_PATH_S3 = BUCKET + "/" + FILE_KEY_S3 + + with fs.open(FILE_PATH_S3, mode="rb") as file_in: + df_bpe = pd.read_csv(file_in, sep=";") + ``` + +=== "mc" + Pour copier les données d'un bucket sur MinIO vers le service local : + + ```bash + mc cp s3/donnees-insee/diffusion/BPE/2019/BPE_ENS.csv ./BPE_ENS.csv + ``` + + !!! warning + **Copier les fichiers dans le service local n'est généralement pas une bonne pratique** : cela limite la reproductibilité des analyses, et devient rapidement impossible avec des volumes importants de données. Il est donc préférable de prendre l'habitude d'importer les données comme des fichiers directement dans `R`/`Python`. + + + + #### R