Talend

Talend est un outil ETL (Extract, Transform, Load) openSource, qui permet, à partir de sources de données diverses, d'alimenter des bases de données ou de générer des fichiers d'export. Il est particulièrement riche et puissant, et peut supporter les opérations sur des composants géographiques avec un module d'extension.

Si une formation est quasi-indispensable pour commencer à travailler avec ce produit, il n'est pas superflu d'avoir sous la main le nom des principaux composants utilisables. Cette liste est donc alimentée au fur et à mesure des besoins...

Composants de base

  • tMap : composant de base, qui permet de gérer les entrées et les sorties
  • tSampleRow : permet de limiter la sortie à quelques enregistrements (utile pour les tests)
  • tPostgresSqlRow : exécute une commande SQL, sans gestion du retour
  • tPosgresSqlInput : module permettant de lire une table, mais également d'exécuter une commande SQL, en récupérant les données fournies (à l'inverse du module précédent)
  • tFilterRow : trie des enregistrements
  • tUniqueRow : supprime les lignes redondantes, par exemple avant un insert
  • tNormalize : éclate un champ en n lignes, en prenant comme séparateur le caractère spécifié
  • tMsgBox : affiche un message à l'utilisateur. Permet notamment d'interagir avec celui-ci, par exemple pour lui faire saisir une information

Composants utilisables dans les manipulations géographiques

Attention : deux catégories de modules sont définis :

  • geoOperation : permet de manipuler les objets géographiques
  • geometryOperation : crée de nouveaux objets géographiques

Quelques modules :

  • sDissolver : permet de fusionner des polygones, en indiquant le champ utilisé pour la fusion
  • tAggregateRow : module non spécifiquement géographique, mais qui permet de regrouper des objets, par exemple pour appliquer ensuite un calcul de tampon (rechercher tous les bâtiments situés à moins de 10 mètres d'une rivière, par exemple)
  • sBufferCalculator : calcule un buffer, c'est à dire une zone située de part et d'autre d'un objet géographique (notion de recherche de proximité)

Astuces

Complétion automatique des objets : ctrl + espace

Comment faire pour...

Transformer une matrice Excel en forme normale

Le tableau d'origine est de la forme :

| attribut | cle1 | cle2 | cle3 |

| A1 | 1 | 2 | 3 |

| A2 | 4 | 5 | 6 |

| A3 | 7 | 8 | 9 |

| A4 | 10 | 11 | 12 |

et il faut obtenir des enregistrements de la forme :

cle1 - A1 - 1

cle1 - A2 - 4

cle2 - A1 - 2

cle2 - A2 - 5

etc.

Méthode utilisée :

  • création d'un tMap, avec en sortie 2 lignes
    • A1
    • cle1=1;cle2=2;cle3=3 (les chiffres correspondent aux valeurs, et les séparateurs = et ; sont générés dans une formule)
  • rajout de tNormalize, portant sur le second attribut et sur le séparateur ; On obtient alors :
    • A1 - cle1=1
    • A1 - cle2=2
    • A1 - cle3=3
    • A2 - cle1=4
    • A2 - cle2=5
    • etc
  • rajout d'un tMap, avec 3 colonnes en sortie :
    • A1
    • substring(0, row.attribut.indexOf("="))
    • substring(row.attribut.indexOf("=")+1, row.attribut.length())

La commande substring permet d'extraire la valeur de part et d'autre du signe =