Article
· Avr 10 2m de lecture

Tables étrangères avec CSV en action

FOREIGN TABLES est une fonctionnalité assez récente dans IRIS (2023. ?).

J'étais donc motivé pour essayer quelque chose de nouveau de mes propres mains.

La documentation sur les tables étrangères à partir d'un fichier est un bon point de départ.

La vidéo promotionnelle correspondante est également un bon point de départ.

Les avantages de cette approche me paraissent évidents

  • différemment de SQL LOAD DATA les données restent en dehors d'IRIS
  • vous sélectionnez ce qui vous est utile et laissez les autres déchets de côté
  • cette méthode semble particulièrement intéressante pour les données UPDATE et ADD-ON
  • lorsque vous avez terminé, vous ne polluez plus votre instance IRIS

En créant l'exemple, j'ai rencontré quelques faits que je souhaite partager.

  • L'exigence d'un serveur en langue JAVA n'est mentionnée que dans LOAD DATA
    • Vous échouez au premier accès s'il est manquant. Les conteneurs Docker l'ont.
    • Mon environnement personnel n'en a pas besoin.
  • Prochaine surprise : À quoi sert ce FOREIGN SERVER ?
    • Il s'agit simplement d'un espace réservé pour pointer vers le répertoire de votre fichier CSV.
  • La création de la TABLE est assez simple et très flexible.
  • En sautant la clause USING, mes en-têtes sont présentés comme la première rangée de la table.
  • Et comme il ne s'agit pas d'une vraie table et qu'il n'y a pas de numéro de rangée, je n'ai pas pu utiliser mes identifiants numériques.
  • Pas de surprise : il s'agit d'une table LECTURE SEULE, pas de mise à jour.
  • Aussi : Trouver le bon mélange de guillemets simples et doubles est un véritable défi.
  • Similaire : La présentation des données en CSV peut être délicate
    • L'approche la plus simple : - penser aux formats de date
    • Déclarer les colonnes critiques comme VARCHAR
    • Traiter ensuite localement les transformations utiles ou la vérification du contenu
  • Enfin :
    • la table est visible pour SQL mais il n'y a pas de classe associée à cette table
    • vous n'avez aucune chance de jouer avec les propriétés CALCULATED

Résumé

  • Une fonctionnalité géniale et très utile
  • Vous devez comprendre les limites
  • Ajuster vos attentes aux options disponibles
  • Testez également les combinaisons "impossibles" - elles apparaîtront.

Profitez de la version de démonstration GitHub

Discussion (1)1
Connectez-vous ou inscrivez-vous pour continuer