Sortie de Gnu Combine 0.4.0

Posté par  . Édité par Ontologia, Xavier Teyssier et palm123. Modéré par patrick_g. Licence CC By‑SA.
Étiquettes : aucune
34
12
août
2013
GNU

GNU combine est, selon la description officielle « un outil flexible pour travailler avec les fichiers texte dans leur format original et les reformater, les joindre ensemble (en se basant sur autant de clés que vous voulez sans qu'un tri ne soit requis), et garder une trace du résultat des jointures ». Autrement dit, GNU combine permet de transformer l'ensemble des fichiers en une base de données relationnelle.

Les usages peuvent aller de l'administration système (en faisant une jointure entre les PID renvoyés par un ps et ceux d'un lsof pas exemple) aux statistiques (en faisant une jointure entre différents fichiers CSV par exemple), en passant par tous les usages connus des bases de données relationnelles lorsque les sources de données sont hétéroclites. L'ensemble des opérations réalisées par Gnu Combine peuvent être étendues avec GUILE.

La version 0.4.0 de GNU Combine est sortie le 31 juillet dernier, n'apportant pas de nouveautés flagrantes au niveau des fonctionnalités, mais permettant le passage aux dernières versions des outils de développement GNU (autoconf/autotools) et surtout le passage en licence GNU GPL v3 alors que les versions précédentes étaient disponibles en GNU GPL v2.

Aller plus loin

  • # R

    Posté par  . Évalué à 10. Dernière modification le 12 août 2013 à 23:26.

    Un autre projet GNU (sous GPL2) d’analyse de données est le langage R. R dispose d’une communauté très importante et d’une incroyable quantité de fonctions de manipulations de formats textes, de statistiques et de graphisme (en particulier l’excellent ggplot2).

    Le premier exemple d’utilisation pourrait être traduit en :

    a <- read.fwf ('testadd.txt', widths=c(10,10,10))
    a$V4 <- 'Home'
    write.table(a[c('V3', 'V2', 'V1', 'V4')], quote=FALSE, row.names=FALSE, col.names=FALSE)
    

    R dispose aussi d’une grande quantité de fonctions semblables aux requêtes SQL (join et companie), ou inspirés de programmation fonctionnelle (telles que map).

  • # d'autres exemples ?

    Posté par  . Évalué à 3.

    Il y a-t-il un utilisateur de Combine qui peut nous donner des exemples concrets ?
    Parce que le lien d'exemples ci-dessus ne donne que des exemples où awk od cut et sort (voire join) suffisent.

    • [^] # Re: d'autres exemples ?

      Posté par  . Évalué à 5.

      awk étant un langage Turing-complet, il suffit pour tout.

      ---------> []

    • [^] # Re: d'autres exemples ?

      Posté par  (site web personnel, Mastodon) . Évalué à 4.

      join, ça marche si les fichiers sont préalablement triés ; je n’ai jamais utilisé combine, mais il prétend savoir faire la jointure sur des fichiers non triés.

      • [^] # Re: d'autres exemples ?

        Posté par  . Évalué à 8.

        Ben oui, j'ai moi aussi été très intéressé par cela. Faire du SQL à partir de fichiers texte, bam !
        J'ai regardé la documentation et… franchement ce n'est pas une doc. On n'a que des exemples quasi-triviaux, et rien du tout concernant les jointures entre plusieurs fichiers.

      • [^] # Re: d'autres exemples ?

        Posté par  (site web personnel) . Évalué à 3.

        D'un autre côté, trier les fichiers avant de les passer à join c'est pas super compliqué non plus.

        $ join <(sort fichier1) <(sort fichier2)

        pertinent adj. Approprié : qui se rapporte exactement à ce dont il est question.

Suivre le flux des commentaires

Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.