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
Formidable !