À propos du projet
Miller est un outil de traitement de données en ligne de commande pour les données indexées par nom, sous forme de paires clé-valeur. Plutôt que de compter les champs positionnels comme le font les outils Unix classiques, il permet de désigner les champs par leur nom, en utilisant des formats tels que CSV, TSV, JSON, JSON Lines et une entrée indexée par position.
Capacités principales décrites dans le README :
- Traitement polyvalent des données : nettoyage de données, réduction de données, rapports statistiques, devops et administration système, traitement de fichiers journaux, conversion de format et post-traitement de requêtes de bases de données.
- Opérations sur champs nommés : ajouter de nouveaux champs calculés à partir de champs existants, supprimer des champs, trier, agréger statistiquement et afficher joliment, le tout à la volée.
- Sensibilité au format : par exemple, le tri et tac CSV conservent les lignes d'en-tête en premier ; la conversion entre les formats pris en charge est fournie.
- Conception en flux : la plupart des opérations ne nécessitent qu'un seul enregistrement en mémoire à la fois, de sorte que les fichiers plus grands que la RAM disponible peuvent être traités lorsque cela est fonctionnellement possible, et il peut être utilisé dans des contextes tail -f. Les opérations nécessitant une rétention plus profonde (sort, tac, stats1) ne conservent que la quantité de données nécessaire.
- Hétérogénéité des enregistrements : des enregistrements ayant des schémas (noms de champs) différents peuvent être entrelacés, ce qui va au-delà des outils Unix classiques.
- Compatible avec les pipes : interopère avec la boîte à outils Unix.
- Complète les outils d'analyse de données tels que R et pandas pour le nettoyage et la préparation des données, et complète les bases de données SQL pour le découpage, le brassage et le reformatage côté client.
- Écrit en Go portable sans dépendance d'exécution ; un seul binaire peut être copié sur une autre machine.
L'installation est disponible via de nombreux gestionnaires de paquets, notamment apt/yum/snap sous Linux, Homebrew et MacPorts sous macOS, et Chocolatey, WinGet et Scoop sous Windows. La compilation depuis les sources est prise en charge avec make (make, make check, make install) ou directement avec les commandes Go. Le projet est sous licence BSD-2-Clause et fournit une documentation étendue, des tutoriels et des canaux de discussion communautaire.
Comments
0 people shared their preference · Deer Point appears after 10 participants
Sign in to join the discussion.