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.
Cliquez dessus puis descendez jusqu'à Installer des extensions. Cliquez ensuite sur le bouton Installer des extensions.
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.
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.
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é.
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
.
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.
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.