Aller au contenu

Utilisation de l'extension iGrafx Mining sur Knime en tant que développeur

Si vous êtes un développeur et que vous souhaitez contribuer au projet, veuillez suivre les étapes ci-dessous, car elles sont relativement différentes de celles que suivrait un client. En effet, pour modifier le projet, vous devez installer et utiliser l'extension localement.

Exigences

Notez que le iGrafx P360 Live Mining SDK est également requis et que son installation est expliquée plus loin dans le document.

Télécharger Knime

Cette extension fonctionne avec Knime. Veuillez télécharger Knime pour pouvoir l'utiliser. Vous trouverez le lien de téléchargement ici.

Télécharger Anaconda

Pour pouvoir utiliser Python dans Knime, Anaconda doit être installé, sinon les noeuds Python ne seront pas accessibles et il sera impossible d'utiliser le connecteur minier iGrafx Knime.

Vous pouvez télécharger Anaconda ici.

Démarrage

Après avoir téléchargé Knime et Anaconda, ouvrez Knime. En haut à droite, vous trouverez une petite icône i.

info_icon

Cliquez dessus puis descendez jusqu'à Installer des extensions. Cliquez ensuite sur le bouton Installer des extensions.

install_extensions_button

Une fenêtre s'ouvre. Dans la barre de recherche, vous pouvez rechercher Intégration Python. Cochez les cases suivantes, correspondant aux extensions nécessaires et cliquez sur Terminer.

python_integration_extensions

Lorsque cela est fait, configurez l'intégration Python de KNIME. Pour ce faire, cliquez sur l'icône settings en haut à droite de la fenêtre.

settings_icon

En cliquant sur cette icône, vous verrez une section appelée Conda. Allez dans cette section et recherchez votre répertoire d'installation de Conda. Lorsque le chemin correct est entré, la version de Conda apparaîtra en dessous. Le chemin peut ressembler à ceci : C:\Users\Votre nom\AppData\Local\anaconda3.

Veuillez noter que le chemin d'accès à votre Anaconda3 peut varier en fonction de la façon dont vous l'avez installé et de l'endroit où vous l'avez installé.

conda_path

Cloner l'extension iGrafx KNIME Mining

Vous aurez besoin de la commande git pour cette section. Si vous n'avez pas git, suivez les instructions ici.

Une fois que tout Python est intégré dans Knime, la première chose à faire est de cloner le dépôt. Pour ce faire, créez un nouveau dossier. Ouvrez un terminal et tapez la commande suivante :

cd C:\Users\Your\Path\New\folder 

Après avoir exécuté la commande, effectuez la commande suivante.

git clone https://github.com/igrafx/KNIME-Mining-connector.git

Cette commande va cloner le dépôt Github iGrafx KNIME Mining Connector dans le nouveau dossier que vous avez créé. Cela signifie simplement que le projet a été copié de Github vers votre nouveau dossier.

Checking the Project Structure

Vérification de la structure du projet

Dans le dossier igrafx_extension, vous devriez voir la structure de fichiers suivante :

.

├── igrafx_knime_extension

│ ├─── icônes

│ │ └─── icon.png

│ │ └── igx_logo.png

│ │─── knime.yml

│ │─── LICENSE.TXT

│ └── igrafx_knime_extension.py

├── config.yml

├── my_conda_env.yml

├── iGrafx_Extension_Example.knwf

└── README.md

Veuillez vous assurer que la structure que vous avez correspond à celle ci-dessus.

L'extension igrafx_knime_extension sera votre nouvelle extension. Vous y trouverez plusieurs éléments :

  • Le dossier icons contient les icônes des noeuds.
  • Le dossier knime.yml, qui contient des métadonnées importantes sur votre extension, comme le nom, la version, la licence, etc...
  • Le fichier igrafx_knime_extension.py, qui contient les définitions Python des noeuds de l'extension.
  • Le config.yml, juste à l'extérieur du dossier, qui contient les informations qui lient l'extension et l'environnement conda/Python correspondant avec KNIME Analytics Platform.

Création d'un nouvel environnement Conda Python

Nous devons créer un environnement contenant le métapackage knime-python-base et l'API de développement de noeud knime-extension.

Pour ce faire, ouvrez Anaconda prompt et copiez la commande suivante :

conda create -n <Nom de votre environnement> python=3.9.16 knime-python-base=4.7 knime-extension=4.7 -c knime -c conda-forge

Si vous souhaitez installer les paquets dans un environnement qui existe déjà, vous pouvez exécuter la commande suivante depuis cet environnement :

conda install knime-python-base=4.7 knime-extension=4.7 -c knime -c conda-forge

Veuillez noter que vous devez ajouter les canaux knime et conda-forge aux commandes pour installer les paquets obligatoires. Pour installer des paquets supplémentaires, pour votre cas d'utilisation spécifique, il est préférable d'utiliser le canal conda-forge.

conda install -c conda-forge <nom_du_pkg_additionnel>

Ajouter le SDK iGrafx à l'environnement Conda

Nous devons maintenant installer le paquetage SDK afin de pouvoir communiquer avec la plateforme. Veuillez noter que la version du SDK doit correspondre à la version de la plateforme pour s'assurer que toutes les fonctionnalités fonctionnent.

Pour ce faire, ouvrez Anaconda prompt.

Lorsque le terminal est ouvert, entrez la commande suivante :

conda activate <Votre nom d'environnement>

Cela activera l'environnement que vous avez créé ci-dessus et vous pourrez alors installer le paquet. Enfin, vous pouvez installer la dernière version du SDK iGrafx avec la commande suivante :

pip install igrafx-mining-sdk

Cette commande installera le SDK et toutes les dépendances nécessaires. Pour éviter les problèmes et les conflits, assurez-vous de télécharger la dernière version du SDK.

Si vous avez besoin d'installer une version spécifique du SDK, utilisez la commande suivante : shell pip install igrafx-mining-sdk==<Votre Version> Par exemple : shell pip install igrafx-mining-sdk==2.28.0 Vous pouvez aller sur la page PyPi du SDK pour vérifier les différentes versions. Vous pouvez également vous rendre sur la page Github du SDK si vous avez besoin d'informations supplémentaires sur le SDK.

Configuration de l'environnement Conda dans Knime

Cette section permet de configurer l'environnement Conda dans Knime.

Ouvrez Knime et allez dans les Settings. Allez dans l'onglet Python. Assurez-vous que vous êtes bien dans l'onglet Python et non dans l'onglet Python (Legacy). En effet, Python 2 n'est pas utilisé ici, donc ce n'est pas nécessaire.

Sous Configuration de l'environnement Python, cochez Conda.

configuration de l'environnement

Sous Python 3, sélectionnez l'environnement Knime que vous avez créé plus haut.

Il est possible que les paquets Pyarrow et Numpy soient en conflit. C'est parce que le iGrafx SDK Package a été installé avec pip. Si c'est le cas, il faut les réinstaller avec conda.

conflits

Notez que ces conflits peuvent être différents, et vous devez suivre les instructions suivantes quel que soit le paquet.

Tout d'abord, vérifiez la version des deux paquets avec les commandes suivantes. Si vous êtes sous MACOS ou Linux, remplacez findstr par grep :

conda list | findstr pyarrow
conda list | findstr numpy

Ils vous renverront quelque chose comme ceci, respectivement :

pyarrow 9.0.0 py39hca4e8af_45_cpu conda-forge
numpy 1.21.6 py39h6331f09_0 conda-forge

Les paquets problématiques n'auront pas conda-forge écrit mais ils auront quelque chose d'autre.

Réinstallez ensuite les paquets avec les commandes suivantes en utilisant les versions trouvées avec les commandes ci-dessus :

conda install -c conda-forge numpy=<Version trouvée>
conda install -c conda-forge pyarrow=<Version trouvée>

Par exemple :

conda install -c conda-forge numpy=1.21.6 
conda install -c conda-forge pyarrow=9.0.0

Si d'autres paquets posent problème, utilisez les mêmes commandes mais changez le nom du paquet.

Ensuite, redémarrez Knime. Allez dans l'onglet Python dans Paramètres. Sélectionnez à nouveau l'environnement correct. Si la version de Python est affichée, l'environnement a été défini avec succès !

Editer les fichiers nécessaires

Certains chemins dans certains fichiers doivent être modifiés pour que Knime puisse détecter l'extension Python localement.

Tout d'abord, ouvrez le fichier config.yml. Il ressemble à ceci :

org.igx.igrafx_extension : # {group_id}.{name} du fichier knime.yml
  src : C:/Users/Path/to/igrafx_extension/igrafx_knime_extension # Chemin du dossier contenant les fichiers d'extension
  conda_env_path :  C:/Users/Path/to/anaconda/python/environment # Chemin vers l'environnement Python à utiliser
  debug_mode : false # Ligne optionnelle, si elle vaut true, elle utilisera toujours les derniers changements de execute/configure, lorsque cette méthode est utilisée dans la KNIME Analytics Platform.

Remplacez le champ src par le chemin du dossier igrafx_knime_extension. Par exemple, il pourrait ressembler à C:/Users/iGrafx/igrafx_extension/igrafx_knime_extension.

Veuillez vérifier les chemins d'accès, car les erreurs les plus courantes proviennent de chemins d'accès incorrects.

De même, le champ conda_env_path doit spécifier le chemin vers l'environnement conda/Python créé plus tôt. Pour obtenir ce chemin, lancez la commande suivante dans votre Terminal/Anaconda Prompt, et copiez le chemin affiché à côté de l'environnement approprié.

conda env list

Le debug_mode est un champ optionnel, qui, s'il vaut true, indiquera à KNIME Analytics Platform d'utiliser les derniers changements dans le code du noeud Python.

De plus, nous devons faire savoir à Knime où se trouve le config.yml afin de lui permettre d'utiliser notre extension et son environnement Python. Pour ce faire, vous devez éditer le fichier knime.ini de votre installation de la plate-forme Knime, qui se trouve à <path-to-Knime>/knime.ini.

Ajoutez la ligne suivante à la fin du fichier, et modifiez-la pour qu'elle contienne le chemin correct vers le fichier config.yml :

-Dknime.python.extension.config=<chemin/vers/votre/config.yml>

Veuillez noter que la barre oblique / doit être utilisée sur tous les systèmes d'exploitation, y compris Windows.

Sur MacOS, pour localiser knime.ini, ouvrez Finder et naviguez vers vos applications installées. Ensuite, cliquez avec le bouton droit de la souris sur l'application KNIME, sélectionnez Show Package Contents dans le menu, et naviguez jusqu'à Contents → Eclipse.

Le fichier knime.ini peut être édité avec n'importe quel éditeur de texte en clair, tel que Notepad (Windows), TextEdit (MacOS) ou gedit (Linux).

Vous pouvez maintenant relancer Knime. Si vous tapez iGrafx dans le Référentiel de nœuds, vous devriez trouver les nœuds iGrafx.

Félicitations ! L'extension a été installée localement. Vous pouvez maintenant utiliser les noeuds iGrafx.