Voir les catégories

Comment interroger un dossier de fichiers avec SQL

22 min de lecture

CONNECTEURS DE JEU DE FICHIERS

Votre dossier est maintenant une base de données

Pointez Query Streams vers un dossier contenant des fichiers CSV, Excel, Parquet, JSON ou SQLite et chaque fichier devient une table SQL interrogeable — en lecture seule, actualisée à la demande et jamais téléchargée nulle part.

7 types de dossiers Lecture seule, obligatoire En cache sur votre machine Se connecte à n'importe quel connecteur
/exports/quotidien
2026-08-24.csv 2026-08-25.csv 2026-08-26.csv + 1 417 autres
SÉLECTIONNER la région, SOMME(total)
À partir des données
GROUPER PAR région ;

Query Streams est une plateforme d'intégration de bases de données sécurisée et en temps réel qui transforme un dossier de fichiers courants en tables SQL actives que vous pouvez interroger depuis Microsoft Excel, Google Sheets, Airtable et votre assistant IA. Pour en savoir plus, rendez-vous sur QueryStreams.com. et Inscrivez-vous gratuitement Connectez votre premier dossier en quelques minutes.

La plupart des données d'entreprise ne sont jamais intégrées à une base de données. Elles atterrissent dans un dossier. Une exportation nocturne génère un fichier CSV, une machine crée un fichier journal, quelqu'un enregistre le classeur du mois en cours à côté de celui du mois précédent, et en un rien de temps, on se retrouve avec deux mille fichiers qui, ensemble, contiennent la réponse à une question que personne ne peut poser facilement.

A Connecteur de fichiers Cela résout le problème. Il suffit d'indiquer à l'agent Query Streams un dossier, de préciser le type de fichiers qu'il contient, et le dossier entier se transforme en un ensemble de tables SQL. Deux mille fichiers CSV quotidiens deviennent une seule table contenant les données de deux mille jours. Un dossier de classeurs devient une table par feuille de calcul. Rien n'est converti, déplacé ou téléchargé : les fichiers restent exactement à leur emplacement d'origine.

Les sept types de dossiers

File Set est un connecteur proposant sept modes. Vous choisissez le mode correspondant au contenu du dossier ; ce choix détermine la manière dont les fichiers sont lus et la structure des tables résultantes.

Système de fichiers

Métadonnées uniquement : noms, tailles, dates et structure des dossiers ; le contenu des fichiers n’est jamais lu.

Dossier CSV

Exportations délimitées par des virgules, des tabulations ou des barres verticales. Regroupement de tous les fichiers correspondants dans un seul tableau.

Dossier en parquet

Fichiers de lac de données organisés en colonnes. Les types proviennent directement du pied de page de chaque fichier.

Dossier Excel

Un dossier contenant des classeurs .xlsx. Vous obtenez un tableau par nom de feuille de calcul, dans tous les classeurs.

Dossier SQLite

Plusieurs fichiers .db simultanément. Chaque table qu'ils contiennent devient une seule table combinée.

Dossier JSONL

Journaux et événements JSON délimités par des sauts de ligne. Les objets imbriqués sont aplatis en colonnes.

Fichier CSV multi-enregistrements

Fichiers où chaque ligne commence par une étiquette de type d'enregistrement et où différentes étiquettes ont des colonnes différentes.

Comment ça marche

L'agent Query Streams s'exécute sur une machine de votre réseau ; il s'agit du même agent qui connecte vos bases de données. Il établit uniquement une connexion sortante ; par conséquent, aucune règle de pare-feu n'est à ouvrir et aucun VPN n'est à configurer.

Indiquer Choisissez un dossier et un type de fichier
Renifler Jusqu'à 64 fichiers échantillonnés pour apprendre les colonnes
Épingle Cette forme est figée sous la forme de la table
Requête SQL en lecture seule depuis n'importe quelle destination

Derrière ces quatre étapes, l'agent conserve un cache local, ce qui permet d'interroger un dossier aussi rapidement qu'une base de données, sans avoir à relire des milliers de fichiers à chaque fois. Ce cache, chiffré, réside sur la même machine que l'agent ; seul le résultat de la requête quitte votre réseau.

Seuls les fichiers modifiés sont relus à chaque synchronisation. Un dossier de 50 000 fichiers n'est pas réanalysé suite à l'ajout d'une nouvelle exportation ce matin : l'agent compare les données précédentes avec les données actuelles et ne modifie que les différences. Lorsqu'un fichier disparaît, ses lignes sont supprimées du tableau.

Épinglage de schéma : pourquoi la première synchronisation est importante

C’est le seul concept qu’il est essentiel de bien comprendre, car il explique presque toutes les surprises que les gens peuvent rencontrer par la suite.

Lors de la première connexion d'un dossier, Query Streams échantillonne jusqu'à 64 fichiers et détermine la structure commune : les noms de colonnes, les types de données et, pour les fichiers texte, le délimiteur et l’encodage des caractères. Cette structure convenue est ensuite épinglé — consignée par écrit et considérée comme la définition du tableau.

Le brochage est volontairement strict. Si les fichiers échantillonnés ne s'accordent pas sur une forme, le connecteur refuse d'épingler du tout Plutôt que de deviner quels fichiers sont les « bons », un refus indique clairement que le dossier contient plusieurs types de fichiers. Il est bien plus simple d'agir en conséquence qu'avec un tableau qui renferme silencieusement la moitié de vos données.

Les dossiers mixtes sont normaux, et il existe un paramètre pour cela. Pour les dossiers CSV, Excel et JSONL, vous pouvez modifier la mise en page du tableau. épinglé (une forme partagée) à une table par disposition. Query Streams regroupe ensuite les fichiers en fonction des colonnes qu'ils possèdent réellement et attribue à chaque groupe sa propre table — jusqu'à 25 mises en page distinctes.

Que se passe-t-il lorsqu'un fichier dérive ?

Une fois une forme épinglée, les fichiers sont comparés à celle-ci. Si un fichier ne correspond plus (par exemple, si une colonne a été ajoutée, si le format de date a été modifié ou si le fichier a été enregistré dans un encodage différent), ce fichier est supprimé. stationnéLe stationnement signifie que ses lignes sont exclues du tableau et que la raison est enregistrée, tandis que tous les autres fichiers continuent de se synchroniser normalement.

C'est le principe de ce compromis : un fichier malformé ne corrompt pas la table et n'interrompt pas la synchronisation. Vous trouverez plus d'informations à ce sujet dans le fichiers_événements tableau, qui nomme le fichier et explique exactement ce qui n'était pas d'accord.

Recherche de fichiers en attente
SELECT relative_path, event_type, detail, occurred_at FROM files_events WHERE event_type = 'drift' ORDER BY occurred_at DESC;

Les fichiers mis en attente sont mémorisés par leur taille et leur date de modification ; ainsi, un fichier mis en attente non modifié n'est pas resynchronisé à chaque passage. Corrigez le fichier et il sera pris en compte lors de la prochaine synchronisation. Si la structure du dossier a été définitivement modifiée, la modification de n'importe quelle option du connecteur rééchantillonne le dossier et lui attribue une nouvelle structure.

Les tables que vous obtenez

Chaque connecteur File Set expose les quatre mêmes tables de gestion, quel que soit le mode choisi. Elles sont utiles en soi ; de nombreuses personnes connectent un dossier uniquement pour en obtenir l’inventaire.

TableauCe qu'il contient
fichiersInventaire en temps réel : tous les fichiers que le connecteur peut voir actuellement, avec leur chemin d’accès, leur taille et leur date de modification.
fichiers_événementsL'historique des modifications. Ce qui est apparu, ce qui a été modifié, ce qui a disparu et tout ce qui a été mis de côté, avec le nom du fichier et la raison.
annuairesTotaux par dossier et historique de croissance quotidienne.
volumesStatistiques au niveau du disque, y compris l'espace restant.

En plus de cela, les six modes de contenu ajoutent les données elles-mêmes. La manière dont ces données sont organisées en tableaux dépend du mode :

Type de dossierMise en page du tableau
CSV, Parquet, JSONLUnion de tous les fichiers correspondants en une table.
ExcelUn tableau par nom de feuille de calcul, combinés dans tous les classeurs.
SQLiteUne table par table de membre, combinés sur tous les fichiers .db.
Fichier CSV multi-enregistrementsUne table par étiquette d'enregistrement trouvé dans les fichiers.
Système de fichiersPas de tableaux de données — uniquement les quatre tableaux de gestion interne.

Chaque ligne de contenu comporte également un _fichier_source une colonne indiquant le nom du fichier d'origine, et une _row_id Cette valeur est unique dans tout le tableau. Cela signifie que vous pouvez toujours associer un nombre au fichier précis qui l'a généré, ce qui est plus important qu'il n'y paraît lorsqu'un total semble incorrect et que vous devez identifier, parmi 1 400 exportations, la source du problème.

Remonter le total jusqu'à ses fichiers
SELECT _source_file, COUNT(*) AS lignes, SUM(total) AS revenu FROM données GROUP BY _source_file ORDER BY revenu DESC;

Vos fichiers ne sont jamais écrits sur

Les connecteurs d'ensemble de fichiers sont en lecture seule, et cette restriction est imposée par l'agent plutôt que laissée à de bonnes intentions. Une requête doit comporter une seule instruction, et uniquement SELECTIONNER, AVEC, PRAGMA, DÉCRIRE et EXPLIQUER sont acceptées. Toute autre demande est rejetée avant même son exécution.

Rien n'est téléchargé et rien n'est modifié. Vos fichiers ne sont jamais modifiés, déplacés ni renommés ; les bases de données SQLite sont même ouvertes en mode lecture seule afin d’empêcher toute modification. Les données analysées sont mises en cache et chiffrées sur votre machine, à proximité de l’agent, et seul le résultat d’une requête est transmis à votre feuille de calcul.

Chaque paramètre, et quand le modifier

Ceci est la section de référence. Tous les types de dossiers partagent les paramètres ci-dessous ; les paramètres spécifiques à chaque format (délimiteurs, noms de feuilles, profondeur d’aplatissement) sont traités dans le guide correspondant. Vous les trouverez dans le connecteur. Connexion onglet, groupé dans Source, Schéma, Détection des changements et Performances et limites.

Plusieurs paramètres sont cachés tant que vous n'avez pas coché « Afficher les options avancées ». Le hachage, la politique de suppression, la conservation des événements, les limites d'analyse, les quatre plafonds d'ingestion et les substitutions de manifeste sont tous gérés par ce bouton. Si un paramètre mentionné ci-dessous n'est pas affiché, c'est pour cette raison.

Source — déterminer quels fichiers sont inclus dans le périmètre

ParamètreDéfautCe que cela fait, et quand le changer
Dossiers racine - requis Un dossier par ligne, comme le machine agent les voit. Chaque fichier est identifié par son chemin relatif à une racine ; déplacer une racine ultérieurement réidentifie donc tout. Ajoutez une deuxième racine lorsqu’un même type de fichier se trouve à deux emplacements différents, par exemple : \\nas\exports\uk et \\nas\exports\us servir une seule table.
Analyser les sous-dossiers Sur Désactivez cette option lorsque les fichiers souhaités se trouvent directement à la racine et que les sous-dossiers contiennent des archives indésirables. Lorsqu'elle est désactivée, seuls les fichiers enfants directs de la racine sont lus, quel que soit leur emplacement. Profondeur maximale dit.
Profondeur maximale 8 (max 64) Combien de niveaux de dossiers sous la racine faut-il parcourir ? Augmentez ce nombre pour les arbres de dattiers profondément imbriqués, comme… année/mois/jour/heureRéduisez cette limite pour éviter qu'une part de code trop étendue ne soit explorée de bout en bout. Il s'agit d'une limite obligatoire, et non facultative.
Inclure des motifs L'extension propre au type de dossier Utilisez des modèles glob, un par ligne, pour sélectionner les fichiers concernés. Affinez la sélection pour exclure les parties d'un dossier que vous ne souhaitez pas inclure. **/2026-*.csv pour cette année seulement, ou exports/**/*.csv sauter un frère ou une sœur archive dossier. Contrairement à Exclure les motifs, ce que vous tapez ici remplace La liste initiale plutôt que d'y ajouter des éléments ; par conséquent, si vous ajoutez une deuxième extension, conservez également la première ligne. Commencez toujours un motif par **/ sauf si vous parlez uniquement des fichiers à la racine : *.csv matchs ventes.csv à la racine mais pas 2026/ventes.csv.
Exclure les motifs Quatre dossiers système Motifs à ignorer. Les vôtres sont ajouté à la liste intégrée plutôt que de la remplacer, donc modules Node, .git, $RECYCLE.BIN et Informations sur le volume du système Restez exclu quoi que vous tapiez. Utilisez cette fonction pour le dossier « Ne pas toucher » présent dans chaque partage. **/_archive/**, **/~$* pour les fichiers de verrouillage Excel.
Suivez les liens symboliques et les jonctions Désactivé Désactivez cette fonction sauf si vous en avez absolument besoin. Ignorer les points de réanalyse empêche l'analyseur de tourner en rond lorsqu'un raccourci renvoie vers sa propre arborescence. Activez-la uniquement lorsque des données réelles se trouvent derrière un lien et que vous êtes certain que ce lien ne crée pas de boucle.
Un seul type de dossier par connecteur. Si un dossier contient des fichiers CSV et Les fichiers Parquet possèdent deux connecteurs pointant vers la même racine (un par type). Élargir le modèle d'inclusion pour les inclure tous deux ne fonctionne pas, car les deux formats ne peuvent pas partager une même structure.

Schéma — nommer les tables et transformer les chemins en colonnes

Nom de la table Ce champ apparaît dans les fichiers CSV, Parquet et JSONL, où toutes les données sont fusionnées en une seule table. Il est obligatoire et doit contenir des lettres, des chiffres et des traits de soulignement sans chiffre initial. Les fichiers Excel, SQLite et CSV multi-enregistrements ne comportent pas ce champ ; le nom de leurs tables est composé respectivement du nom de la feuille de calcul, du nom de la table membre et de l’étiquette de l’enregistrement.

Deux réglages optionnels permettent de transformer le emplacement extraire des données d'un fichier et les filtrer. Il est utile de les connaître, car la plupart des gens ne les utilisent qu'après avoir écrit leur troisième requête maladroite. _fichier_source.

Modèle d'analyse du nom de fichier

Utilisez-le lorsque le nom du fichier contient des informations que le contenu du fichier ne contient pas. Les journaux système en sont le cas classique : PRESS02_20260824_1431_A7741_sidepanel.csv Le nom de chaque pièce contient uniquement la machine, la date, l'heure et la référence. Nommez ces pièces et chacune deviendra une colonne permettant de filtrer et de regrouper les données.

Il existe deux façons d'écrire le modèle. La forme simple nomme les éléments entre vos délimiteurs, appliqués au nom de fichier. sans son extension :

Modèle d'analyse du nom de fichier — forme simple
{machine}_{date}_{time}_{part_number}_{part_name} PRESS02_20260824_1431_A7741_sidepanel.csv -> machine = PRESS02, date = 20260824, time = 1431, part_number = A7741, part_name = sidepanel

Lorsque les noms sont moins ordonnés, préfixez le modèle avec expression régulière : Utilisez plutôt des groupes nommés. Ce format reçoit le nom de fichier complet, extension comprise, ce qui vous permet de contrôler son traitement.

Modèle d'analyse de nom de fichier — forme d'expression régulière
regex:^(?<machine>[AZ]+\d+)_(?<date>\d{8})_(?<time>\d{4})_.*\.csv$

Que se passe-t-il lorsqu'un nom de fichier ne correspond pas : Les colonnes de jetons sont laissées à NULL pour ce fichier. et Le fichier est signalé, donc name_parse_ok La valeur est fausse et l'incohérence est enregistrée comme un événement. Il ne s'agit jamais d'une ligne vide que vous devriez remarquer vous-même. Cela a de l'importance car une ligne égarée est un événement. copie de PRESS02_....csv C'est précisément le genre de chose qui, autrement, fausserait discrètement un regroupement.

Noms des jetons de dossier

Utilisez-le lorsque votre structure de dossiers correspond à la catégorisation. Si vos exportations sont inférieures à sites/est/2026/…, entrant site sur la première ligne nomme le premier segment de chemin sous la racine comme un site colonne, donc chaque ligne de cette branche contient site = estUn jeton par ligne, dans l'ordre du chemin.

Cela vous évite d'écrire des fonctions de chaînes de caractères contre _fichier_source dans chaque requête, et cela permet à Nova AI et à votre outil de BI de voir la dimension comme une colonne normale. Un nom de jeton ne peut pas entrer en conflit avec les colonnes de fichier intégrées (nom, profondeur, taille_octets et amis), et le même nom ne peut pas apparaître à la fois dans le modèle de nom de fichier et dans les jetons de dossier — l'un ou l'autre est refusé lors de l'enregistrement, plutôt que d'être masqué discrètement.

Mise en page du tableau

Disponible aux formats CSV, Excel et JSONL — les formats que les humains ont tendance à assembler manuellement. Une mise en page épinglée est le comportement par défaut et exige que chaque fichier partage une même forme ; utilisez-le pour les exportations récurrentes générées automatiquement. Une table par mise en page regroupe les fichiers en fonction des colonnes qu'ils possèdent réellement et attribue à chaque groupe sa propre table, jusqu'à 25 d'entre elles.

Utilisez l'option « Par mise en page » lorsqu'un dossier contient des fichiers très différents accumulés au fil des ans et que vous souhaitez tous les inclure plutôt que de vous voir refuser l'accès. Sachez que la modification de ce paramètre entraîne un rééchantillonnage du dossier et la reconstruction des tables ; ce comportement est normal, car c'est la structure du dossier qui a été modifiée. Les noms des tables déjà utilisées sont conservés lors de la reconstruction, ce qui permet aux requêtes enregistrées existantes de continuer à fonctionner.

Remplacements du manifeste (JSON)

Caché derrière Afficher les options avancéesC'est la solution de repli lorsque la structure de la table échantillonnée est correcte, mais que certains détails sont erronés : une colonne à renommer, un type à élargir, une colonne à supprimer. Cette solution est appliquée lors de la validation de la structure, ce qui la rend intégrée à la définition de la table plutôt que d'être réappliquée à chaque requête.

remplacements du manifeste
{ "renames": { "qty": "quantité" }, "retypes": { "price": "DECIMAL(18,4)" }, "exclude": [ "internal_notes" ] }
  • renommer — Donnez un meilleur nom à une colonne. Vous ne pouvez pas renommer sur _fichier_source ou _row_idet deux colonnes ne peuvent pas être renommées de la même manière.
  • retaper — forcer le type d'une colonne. Utile lorsqu'une colonne de chiffres contenant un code a été lue comme un nombre et que vous avez besoin de récupérer les zéros non significatifs (VARCHAR), ou lorsqu'une colonne monétaire nécessite un stockage décimal précis. Le type que vous définissez ici est considéré comme une instruction explicite et est donc appliqué sans la vérification stricte qui, autrement, bloquerait le fichier.
  • exclure — omettre complètement les colonnes du tableau.

Vider la boîte efface vos modifications et rétablit la forme initiale du tableau. Seuls les noms de types simples, avec une précision optionnelle, sont acceptés. DÉCIMAL(18,2), VARCHAR, BIGINT, DATE — et tout élément inhabituel est rejeté lors de l'enregistrement plutôt qu'au moment de la synchronisation.

Détection des modifications — comment l’agent détecte le déplacement d’un fichier

Intervalle de balayage Il s'agit de la fréquence à laquelle l'agent analyse le répertoire racine à la recherche de fichiers nouveaux, modifiés ou supprimés. La fréquence par défaut est d'une fois par heure ; les options vont de cinq minutes à une fois par jour. Adaptez-la à la fréquence d'alimentation réelle du dossier : une exportation nocturne ne nécessite pas d'analyse toutes les cinq minutes, et une analyse de cinq minutes d'un partage de 200 000 fichiers représente un travail payant qui ne produira aucune nouvelle donnée.

ParamètreDéfautCe que cela fait, et quand le changer
Contenu du fichier de hachage Désactivé Normalement, un fichier est considéré comme modifié lorsque sa taille ou son horodatage change. Le hachage lit également les octets, ce qui est le seul moyen de détecter une modification qui conservé L'horodatage. Activez cette option lorsque des fichiers sont restaurés à partir d'une sauvegarde, réécrits par un outil conservant la date de modification, ou copiés de manière à brouiller les horodatages. Cela nécessite une lecture complète de chaque fichier ; dans les autres cas, désactivez-la.
Taille maximale du fichier à hacher 32 Mo (max 1 Go) Cette limite n'apparaît que lorsque le hachage est activé. Les fichiers plus volumineux ne sont jamais hachés et le hachage est alors déterminé par leur taille et leur horodatage. Augmentez cette limite si les fichiers qui vous intéressent dépassent la taille maximale autorisée ; sinon, le hachage est activé mais sans effet sur ces fichiers.
Lorsqu'un fichier disparaît Supprimez ses lignes Choisir pierre tombale En revanche, lorsque vous devez répondre à la question « Qu'est-ce qui se trouvait ici ? », les lignes restent affichées et sont marquées comme supprimées au lieu de disparaître. Cette fonctionnalité est utile pour les audits et pour les dossiers dont les fichiers sont régulièrement supprimés. La suppression pure et simple est le comportement par défaut approprié pour un dossier qui reflète simplement son état actuel.
conservation des journaux d'événements 30 jours (max 3 650) Combien de temps durent les entrées fichiers_événements Les journaux d'événements sont conservés. Augmentez leur nombre si le journal constitue votre historique des événements reçus et de leur date d'arrivée ; le nombre de lignes est faible. Diminuez-les uniquement si vous ne les consultez jamais.

Performances et limites — les garde-fous

Un connecteur de dossier pointant vers le mauvais emplacement pourrait tenter de lire un disque entier ; c’est pourquoi chaque connecteur File Set est livré avec des garde-fous. Ils sont tous situés derrière Afficher les options avancéeset ils suivent une règle qu'il convient d'énoncer clairement : zéro ne signifie jamais illimitéLaissez la case vide pour accepter la valeur par défaut intégrée ; la saisie 0 est rejetée plutôt que traitée comme « sans limite ».

garde-corpsDéfautMaximumAugmentez-le lorsque
Nombre maximal de fichiers par numérisation100,0002,000,000L'analyse est refusée car la part est réellement supérieure à la limite — et vous avez déjà restreint le modèle d'inclusion.
Profondeur maximale8 niveaux64 niveauxLes fichiers se trouvent à plus de huit niveaux de sous-dossiers sous la racine, comme dans année/mois/jour/heure arbres.
budget de temps de numérisation300 secondes3 600 secondesLe balayage d'un partage réseau volumineux ou lent s'interrompt avant la fin. Vérifiez d'abord le chemin réseau : un budget qui ne cesse d'augmenter indique généralement une racine incorrecte.
Parallélisme de balayage par racine216Les fichiers sont stockés sur un SSD ou un NAS rapide pouvant servir plusieurs lecteurs simultanément. Réduisez-le à 1 pour les disques durs rotatifs, où les lectures parallèles ralentissent les opérations, au lieu de les accélérer.
Nombre maximal de lignes par fichier2,000,00050,000,000Un seul fichier légitime dépasse deux millions de lignes.
Taille maximale des fichiers (en octets)512 Mo4 GoChaque fichier individuel est réellement plus volumineux qu'un demi-gigaoctet.
Nombre maximal de lignes par synchronisation10,000,000100,000,000Une première synchronisation complète d'un dossier volumineux ne peut pas se terminer dans le budget alloué aux lignes.
Nombre maximal d'octets par synchronisation2 Go16 GBComme ci-dessus, lorsque c'est le volume total et non le nombre de lignes qui constitue la contrainte.

Si une analyse dépasse l'une de ces limites, le connecteur la refuse et vous indique la limite atteinte. Un inventaire partiel n'est jamais enregistré, car une liste de dossiers incomplète (la moitié des fichiers manquants) est pire qu'une absence totale de liste. Lorsqu'une limite est atteinte, la première chose à faire est généralement de restreindre la recherche. Inclure des motifs plutôt que d'augmenter la limite : un connecteur qui lit les 4 000 fichiers qui vous intéressent est plus rapide et plus clair qu'un connecteur qui en lit 400 000 et effectue un filtrage ultérieurement.

Où les données peuvent-elles aller ?

Un connecteur de dossier est une source de données comme une autre ; par conséquent, tout ce que Query Streams peut déjà lui fournir fonctionne sans modification. Une même requête enregistrée peut alimenter une feuille de calcul, un outil de suivi de projet et un assistant IA sans avoir besoin d'être réécrite.

  • Microsoft Excel et Google Sheets — Exécutez une requête enregistrée à partir du module complémentaire et les lignes s'affichent dans la feuille, actualisée à la demande.
  • Airtable, Smartsheet, Baserow, SeaTable et Anvil — Les synchronisations planifiées transfèrent les données des dossiers vers l'outil que votre équipe utilise déjà.
  • Nova AI — Posez une question en langage clair et obtenez une requête SQL sur votre dossier, avec la réponse et un graphique.
  • Claude, Cursor, ChatGPT et Grok — via le serveur Query Streams MCP, un assistant IA peut interroger directement le dossier.
  • API REST — transformer une requête enregistrée en un point de terminaison pour un partenaire ou une application interne.

Étant donné que le dossier est un connecteur normal, ses tables le sont également. associez-les à vos autres donnéesUn dossier de fichiers CSV d'expédition peut être joint à la table des commandes dans PostgreSQL et aux paiements Stripe, dans une seule instruction en lecture seule, sans avoir à charger quoi que ce soit au préalable dans un entrepôt de données.

En configurer un

Vous avez besoin d'un compte Query Streams et de l'agent réseau installé sur une machine pouvant accéder au dossier (serveur, station de travail connectée à un NAS ou votre ordinateur portable). Les connecteurs File Set nécessitent Agent réseau 2.6 ou version ultérieure.

  1. Installez l'agent à partir de page de téléchargement si vous ne l'avez pas déjà fait.
  2. Dans le portail, ajoutez un connecteur de données et choisissez le type de dossier qui correspond à vos fichiers.
  3. Saisissez le chemin d'accès au dossier tel qu'il apparaît sur la machine de l'agent, et affinez-le à l'aide d'un modèle de fichier si le dossier contient plus d'éléments que vous ne le souhaitez.
  4. Sauvegarde. L'agent prélève un échantillon du dossier, repère la forme et fait un rapport sur ses découvertes.
  5. Ouvrez le générateur de requêtes, choisissez votre nouveau connecteur et commencez à écrire du SQL, ou demandez à Nova AI de l'écrire pour vous.
Utilisez le chemin que l'agent voit, et non celui que vous voyez. Si l'agent s'exécute sur un serveur, une lettre de lecteur mappée depuis votre ordinateur ne sera pas résolue. Utilisez un chemin UNC tel que : \\fileserver\exports\daily, ou un chemin local sur la machine de l'agent, et assurez-vous que le compte sous lequel l'agent s'exécute peut le lire.

Questions fréquemment posées

Quels formats de fichiers Query Streams peut-il lire depuis un dossier ? +
Six formats de contenu plus un mode métadonnées uniquement : CSV (et autres textes délimités tels que des tabulations ou des barres verticales), Parquet, Excel classeurs .xlsx, SQLite fichiers de base de données, JSONL JSON délimité par des sauts de ligne, et fichier CSV multi-enregistrements où chaque ligne porte une étiquette de type enregistrement. Le septième mode, Système de fichiers, indexe les noms, les tailles, les dates et la structure des dossiers sans ouvrir les fichiers.
Mes fichiers sont-ils téléchargés sur Query Streams ? +
Non. Les fichiers restent à leur emplacement d'origine et les données analysées sont mises en cache et chiffrées sur la même machine que l'agent réseau. Seules les lignes renvoyées par une requête quittent votre réseau via une connexion sortante chiffrée établie par l'agent. Il n'y a ni règle de pare-feu entrante ni VPN.
Est-ce que Query Streams peut modifier, déplacer ou supprimer mes fichiers ? +
Non, et c'est une règle imposée plutôt qu'une promesse. Les requêtes doivent être uniques. SELECTIONNER, AVEC, PRAGMA, DÉCRIRE ou EXPLIQUER Toute tentative d'écriture est bloquée avant même son exécution. Vos fichiers ne sont ni modifiés, ni déplacés, ni renommés, et les bases de données SQLite sont ouvertes en lecture seule.
Tous les fichiers doivent-ils avoir les mêmes colonnes ? +
Pour la mise en page par défaut, oui : les fichiers qui composent une table doivent avoir la même structure, et Query Streams refusera de figer une table plutôt que de tenter de deviner si ce n’est pas le cas. Si votre dossier contient réellement plusieurs mises en page différentes, remplacez les dossiers CSV, Excel ou JSONL par une table par disposition et chaque groupe dispose de sa propre table, jusqu'à 25 personnes.
Un de mes fichiers a été « mis en attente ». Qu'est-ce que cela signifie ? +
Cela signifie que le fichier ne correspond plus au format auquel le tableau était associé ; ses lignes ont donc été omises tandis que tous les autres fichiers ont continué à se synchroniser. Les causes habituelles sont une colonne nouvelle ou renommée, un format de date différent ou un fichier enregistré dans un autre encodage de caractères. Requête fichiers_événements pour les lignes où type_événement = 'dérive' Chacune indique le nom du fichier et le problème exact. Corrigez le fichier, et il sera pris en compte lors de la prochaine synchronisation.
Que se passe-t-il lorsqu'une personne dépose un nouveau fichier dans le dossier ? +
Il est pris en compte lors de la prochaine synchronisation et ses lignes sont automatiquement ajoutées à la table, sans reconfiguration. Seuls les fichiers nouveaux et modifiés sont lus ; ainsi, l’ajout d’un fichier à un dossier de 50 000 fichiers n’entraîne pas la réanalyse des 49 999 autres. Si un fichier est supprimé, ses lignes sont retirées de la table et la suppression est consignée. fichiers_événements.
Combien de fichiers un connecteur peut-il gérer ? +
100 000 fichiers et 8 niveaux de dossiers par défaut, extensible à 2 000 000 de fichiers et 64 niveaux. Afficher les options avancéesPar défaut, les fichiers individuels sont lus jusqu'à 512 Mo et 2 000 000 de lignes. Si une analyse dépasse une limite, le connecteur l'interrompt et indique la limite atteinte, plutôt que de stocker un inventaire partiel qui sous-estimerait le nombre de données. 0 Cette valeur n'est acceptée nulle part comme « illimitée » — laissez la case vide pour utiliser la valeur par défaut.
Un fichier a été modifié, mais Query Streams ne l'a pas détecté. Pourquoi ? +
Par défaut, un fichier est considéré comme modifié lorsqu'il taille ou date de modification Certains outils réécrivent un fichier tout en conservant son horodatage, et les restaurations de sauvegarde rétablissent souvent l'ancienne date ; dans les deux cas, rien ne semble différent. Cochez la case. Contenu du fichier de hachage sous Afficher les options avancées L'agent compare également les octets, ce qui permet de détecter ces modifications. Cela nécessite une lecture complète de chaque fichier ; c'est pourquoi cette option est désactivée par défaut. Consultez également Taille maximale du fichier à hacher (32 Mo par défaut) : les fichiers situés au-dessus ne sont jamais hachés même lorsque le hachage est activé.
Mes noms de fichiers contiennent la date et le nom de la machine. Puis-je effectuer une requête sur ces informations ? +
Oui, c'est ce que Modèle d'analyse du nom de fichier est pour. Écrivez la forme de vos noms comme {machine}_{date}_{heure} Chaque élément devient une véritable colonne sur laquelle vous pouvez filtrer et regrouper les données, au lieu de décomposer le nom avec des fonctions de chaînes de caractères dans chaque requête. Pour les noms nécessitant plus de précision, préfixez le modèle avec expression régulière : et utilisez des groupes nommés. Si votre structure de dossiers est plutôt une catégorisation — sites/est/… - utiliser Noms des jetons de dossier Pour convertir les segments de chemin en colonnes de la même manière, un fichier ne correspondant pas au modèle est signalé comme un événement au lieu de produire silencieusement des colonnes vides.
Puis-je joindre les données d'un dossier à ma base de données ? +
Oui. Un dossier est un connecteur comme un autre ; ses tables sont donc liées à Microsoft SQL Server, PostgreSQL, MySQL, Snowflake, BigQuery et autres, ainsi qu'à des connecteurs API tels que Stripe ou Shopify. Un dossier contenant les données d'expédition peut être lié à votre table de commandes et à vos enregistrements de paiement en une seule requête en lecture seule.
De quelle version de l'agent réseau ai-je besoin ? +
Les connecteurs d'ensemble de fichiers nécessitent Agent réseau 2.6 ou version ultérieureLes agents se mettent à jour automatiquement ; une installation existante sera donc généralement déjà à jour. Si vous effectuez une nouvelle installation, récupérez-le depuis le site web. page de téléchargement.

Commencer

Transformez votre dossier le plus désordonné en table

Indiquez à l'agent un dossier contenant des exportations, des classeurs ou des journaux, et interrogez l'ensemble du contenu avec SQL — depuis Excel, Google Sheets, Airtable ou votre assistant IA. Vos fichiers restent sur votre réseau.

Guides associés : Téléchargez l'agent Query Streams | Guides d'installation du connecteur de données | Parcourez tous les connecteurs

Catégorie : Connecteurs de fichiers

Mots-clés : connecteur de fichiers, requête de dossier CSV, SQL sur fichiers, dossier Parquet, dossier Excel, JSONL, dossier SQLite, conversion de dossier en SQL

Description : Convertissez un dossier de fichiers CSV, Excel, Parquet ou JSON en tables SQL actives. Accès en lecture seule, sans chargement de fichiers.

Updated on 27 août 2026

Powered by BetterDocs