Accueil / Factory / R Underground / 10 oct. 2026 OUTILS · 10 oct. 2026

Positron, DuckDB et Arrow : vers un poste de travail data sans jamais sortir de R

Import Data, connexions aux entrepôts cloud et DuckDB intégré : comment Positron réduit le nombre d'outils entre la donnée brute et l'analyse.

Positron, DuckDB et Arrow : vers un poste de travail data sans jamais sortir de R
À la une

Le poste de travail data se recompose autour de Positron

Pendant des années, le flux classique d'un data analyst a ressemblé à ça : ouvrir un client SQL pour explorer une table, basculer vers Excel ou un notebook pour vérifier un chiffre, puis revenir dans RStudio pour le vrai travail d'analyse. Chaque bascule coûte du temps et introduit un risque de divergence entre ce qu'on a vu et ce qu'on a codé. Les dernières versions de Positron attaquent directement ce problème.

L'ajout d'Import Data dans le Data Explorer permet de charger un CSV, un TSV, un Excel ou un Parquet sans écrire une ligne de code d'import, avec une prévisualisation avant de générer l'appel R correspondant. Couplé à l'extension des Data Connections, qui couvre désormais ODBC, Databricks avec OAuth, Amazon Redshift et Snowflake en plus de DuckDB, Positron devient un point d'entrée unique pour explorer une source avant de l'attaquer en code. On reste dans le même IDE, avec le même historique, la même session R.

Ce que ça change concrètement : un data analyst qui doit vérifier le schéma d'une table Snowflake ou sonder un fichier Parquet déposé sur un bucket n'a plus besoin d'ouvrir un outil tiers. Il explore dans le Data Explorer, confirme la structure, puis écrit directement le code de production qui s'appuiera dessus. Le duo DuckDB-R et Arrow pousse la logique plus loin côté calcul : DuckDB lit nativement des fichiers Parquet ou des connexions Arrow sans copie intermédiaire, et le support natif de types comme VARIANT ou MAP via dbWriteTable élargit ce qu'on peut faire sans passer par un ETL externe.

La bonne pratique qui se dégage est de traiter Positron comme la porte d'entrée vers toutes les sources de l'entreprise, et DuckDB comme le moteur de calcul par défaut pour tout ce qui dépasse la mémoire disponible en R. On garde le code reproductible — pas d'exploration en dehors d'un script traçable — mais on supprime les détours par des outils qui ne parlent pas R.

Les limites restent réelles. Le scan de vulnérabilités des packages et l'OAuth sur Databricks sont des avancées côté sécurité, mais ça ne dispense pas d'une vraie politique de gestion des credentials en entreprise : les connexions restent configurées localement, et leur partage entre collègues ou leur industrialisation en CI/CD demande encore du travail de configuration manuel. Et l'intégration Arrow, bien que mature, suppose encore de bien connaître les différences entre un data.frame en mémoire et un Dataset Arrow streamé, sous peine de surprises sur les opérations qui forcent une collecte complète.

CODE R
library(duckdb)

con <- dbConnect(duckdb())

# Lecture directe d'un Parquet sans import prealable en memoire
dbExecute(con, "CREATE VIEW ventes AS SELECT * FROM read_parquet('ventes_2026.parquet')")

# Exploration rapide avant d'ecrire le code d'analyse
resume <- dbGetQuery(con, "
  SELECT region, COUNT(*) AS n, SUM(montant) AS total
  FROM ventes
  GROUP BY region
  ORDER BY total DESC
")
print(resume)

dbDisconnect(con, shutdown = TRUE)

DuckDB interroge le fichier Parquet directement sur disque sans le charger intégralement en mémoire, ce qui reproduit en code ce que le Data Explorer de Positron permet désormais de faire visuellement.

Notre avis

Positron ne remplace pas un entrepôt de données ni un outil de gouvernance, mais il réduit le nombre d'allers-retours entre outils pour une tâche d'exploration quotidienne. C'est un gain de temps réel pour les analystes, à condition de ne pas transformer l'explorateur de données en zone de travail non versionnée.

→ Pour qui : Data analysts et data scientists qui jonglent au quotidien entre plusieurs sources (fichiers, entrepôts cloud, bases locales) avant d'écrire leur code d'analyse.

LES BRÈVES

ANALYTICS

survival continue d'évoluer, toujours la référence pour l'analyse de survie

Le package survival reste le socle de toute analyse de durée de vie ou de churn en R, et ses mises à jour régulières sur CRAN garantissent sa compatibilité avec les versions récentes de R. Pas de rupture à anticiper, mais un bon rappel pour vérifier vos modèles de survie en production avant une montée de version R.

Source : cran.r-project.org ↗
DATA

curl passe en version majeure, à surveiller sur vos appels d'API

Le package curl, brique de base de nombreux clients HTTP en R (httr2, plumber côté client), franchit une version majeure. Avant toute mise à jour en production, testez vos appels d'API et vos téléchargements automatisés, les changements de comportement sur les options réseau peuvent avoir des effets de bord discrets.

Source : cran.r-project.org ↗

LE TIP R DU JOUR

Vérifier qu'une liste contient bien ce qu'on attend avec rapply

Quand une liste imbriquée vient d'un import JSON ou d'une API, il est facile de se perdre sur ce qu'elle contient vraiment. rapply applique une fonction récursivement à tous les éléments atomiques d'une liste, sans avoir à écrire une boucle récursive soi-même.

CODE R
donnees <- list(a = 1, b = list(c = "texte", d = 2:4), e = TRUE)

# Type de chaque element atomique, meme imbrique
rapply(donnees, class, how = "unlist")

SOURCES

VOUS CODEZ EN R ?

Nous formons vos équipes à R, Shiny et l'IA, et industrialisons vos apps et modèles.

Parlons-en →
← Tout R Underground