From 63f614fe579c23f6b8ca418cc99c014de19309f1 Mon Sep 17 00:00:00 2001 From: karnas <xavier.deweerd@ensiie.eu> Date: Wed, 22 May 2024 06:44:38 +0200 Subject: [PATCH] added clean report v0.1 --- .../images/dev-version-erreur-connexion.png | Bin 0 -> 38043 bytes rapport/images/non-dev-version-interface.png | Bin 0 -> 72446 bytes rapport/rapport.md | 522 +++++++++++++++++- 3 files changed, 497 insertions(+), 25 deletions(-) create mode 100644 rapport/images/dev-version-erreur-connexion.png create mode 100644 rapport/images/non-dev-version-interface.png diff --git a/rapport/images/dev-version-erreur-connexion.png b/rapport/images/dev-version-erreur-connexion.png new file mode 100644 index 0000000000000000000000000000000000000000..4f7810fe94aec2dd388059a3d1dd3001f4bce24c GIT binary patch literal 38043 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 F{{wL(bua(` literal 0 HcmV?d00001 diff --git a/rapport/images/non-dev-version-interface.png b/rapport/images/non-dev-version-interface.png new file mode 100644 index 0000000000000000000000000000000000000000..3195fd710e2460ae42710422314df92784f16d6f GIT binary patch literal 72446 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 literal 0 HcmV?d00001 diff --git a/rapport/rapport.md b/rapport/rapport.md index 272c26c..8239bc6 100644 --- a/rapport/rapport.md +++ b/rapport/rapport.md @@ -1,70 +1,542 @@ --- -title: "Rapport du Projet d'IPBD" +title: Rapport du Projet d'IPBD author: - - Alexandre FORT - Tessa DEPAOLI - Xavier DE WEERD + - Alexandre FORT lang: fr -geometry: "top=2cm, bottom=2cm, left=2cm, right=2cm" +geometry: top=2cm, bottom=2cm, left=2cm, right=2cm fontsize: 12pt -linkcolor: "blue" +linkcolor: blue toc: true toc-depth: 3 titlepage: true -papersize: "a4paper" +papersize: a4paper --- # Analyse des tendances sur les animés -## Objectif et mise en place +```toc +``` + +## 1. Objectifs et mise en place ### Description des données et objectif -Le dataset que nous avons choisi est le suivant : https://www.kaggle.com/datasets/dbdmobile/myanimelist-dataset/. +Nous avons cherché des données d'au moins 2 Go, sans images car le traitement n'est pas le même. + +Le dataset que nous avons choisi fait 8 Go et porte sur les animés, trop bien : https://www.kaggle.com/datasets/dbdmobile/myanimelist-dataset/. Il s'agit de données sur les animés, les profils d'utilisateurs et les notations des utilisateurs de la plateforme [MyAnimeList](https://myanimelist.net/). Notre but est d'analyser ces données afin de trouver des tendances ou/et corrélation dans les données. -Pour cela, on utilisera les outils présentés pendant les différents ateliers en cherchant à en exposer de nouveaux usages : +Pour cela, on utilisera les outils suivants : + +- Python : pandas, seaborn - Docker +- Hadoop - Hive -- Spark -- OpenSearch -- OpenSearch Dashboards +- Superset -### Mise en place +### Dépôt du projet et paquets -On récupère le git du projet, contenant les scripts pour lancer le cluster Hive, Hadoop et OpenSearch : +On s'assure d'avoir les paquets nécessaires : +```shell +sudo dnf install git wget unzip python3 +``` + +Pour les utilisateurs : + +On récupère le git du projet. Ce dernier contient les scripts pour télécharger les données et lancer le cluster Hadoop et Hive : ```sh cd ~ git clone https://git.iiens.net/de-weerd2022/projet-ipbd24.git ``` -On télécharge l'archive des données avec une requête wget puis on l'extrait (script `download_dataset.sh`) : +Pour les développeurs : + +Afin de pouvoir travailler et effectué des changements sur le dépôt du projet depuis la VM, on ajoute une clé ssh de déploiement sur gitlab dans "Settings>Repository>Deploy keys". + +On doit pour cela générer une clé ssh, qu'on copie ensuite pour chaque utilisateur en prenant garde à données les bonnes permissions. +```shell +sudo - su +ssh-keygen -t rsa -b 4096 +cp /root/.ssh/id_rsa* /home/xavier/.ssh +chown xavier:ensiie /home/xavier/.ssh/* +cp /root/.ssh/id_rsa* /home/tessa/.ssh +chown tessa:ensiie /home/tessa/.ssh/* +cp /root/.ssh/id_rsa* /home/alexandre/.ssh +chown alexandre:ensiie /home/alexandre/.ssh/* +``` + +On peut désormais cloner le dépôt en utilisant ssh, et push des modifications (pour les développeurs, en tant qu'utilisateur du dépôt le lien du git https suffit) : +```shell +git clone git@git.iiens.net:de-weerd2022/projet-ipbd24.git +``` + +La version accélérée du déploiement est faisable en lisant uniquement la dernière section `TL;DR`. Un grand nombre de script incluant les commandes qui vont suivre permettant cette accélération. + +### Les données + +Afin de téléchargé les données sur kaggle, on a obtenu une commande `wget` permettant de télécharger le fichier à l'aide d'une extension de navigateur. Kaggle n'offrant pas de lien direct de téléchargement. + +Cette commande est dans le script `download_dataset.sh` : +```shell +wget --header="Host: storage.googleapis.com" --header="User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Safari/537.36" --header="Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,/;q=0.8,application/signed-exchange;v=b3;q=0.7" --header="Accept-Language: fr-FR,fr;q=0.9,en-US;q=0.8,en;q=0.7,zh-TW;q=0.6,zh-CN;q=0.5,zh;q=0.4" --header="Referer: https://www.kaggle.com/" "https://storage.googleapis.com/kaggle-data-sets/3384322/6207733/bundle/archive.zip?X-Goog-Algorithm=GOOG4-RSA-SHA256&X-Goog-Credential=gcp-kaggle-com%40kaggle-161607.iam.gserviceaccount.com%2F20240519%2Fauto%2Fstorage%2Fgoog4_request&X-Goog-Date=20240519T145233Z&X-Goog-Expires=259200&X-Goog-SignedHeaders=host&X-Goog-Signature=1ac8f9216a239f62f3aa19666ce2b09c188d1d34d5199cf254a3677292e1b893eb10d0e2280baf0cbfb1f21d38a2b99f55e3e080beaa4a376d07326750503e15f35e123e2efd21c2c300a82c5bc06c787528bbe5e0d6b7be5a31bc0e6fb458b9a59456233fb852c658827d1dd547ca683890de508dd88940526568357bdd28611409ed5db0e479abf7b6f98855cd942d0cebfae55d463f288640c594bce7e11cd9f460e941cec80a7713e7faa54e69e3e9c4e9e3cd87b11bc35aa74439f96f80c2d592c6a97519353ca099d62e7276bec190a99e9327aee45ab9531d86f8f6be65fb3931148dbd4342712849494a71adcfe0b4eb54051582393fe8a98ebf68bc" -c -O 'dataset.zip' +``` + +On télécharge l'archive des données avec la requête wget puis on l'extrait : ```shell cd ~/projet-ipbd24 ./download_dataset.sh ``` -[A CORRIGER] -Les données sont désormais dans le dossier `dataset/`, on utilisera les csv d'origine : -- `anime-dataset-2023.csv` : informations sur les animés -- `users-details-2023.csv` : informations sur les utilisateurs -- `users-score-2023.csv` : notation des utilisateurs sur les animés +Les données sont désormais dans le dossier `dataset/`, on compte 6 csv : -Afin de pouvoir travailler et effectué des changements sur le dépôt du projet depuis la VM, on ajoute une clé ssh de déploiement sur gitlab dans "Settings>Repository>Deploy keys". +- `anime-dataset-2023.csv` +- `anime-filtered.csv` +- `final_animedataset.csv` +- `user-filtered.csv` +- `users-details-2023.csv` +- `users-score-2023.csv` + +Les fichiers `*-filtered.csv` et `final_*.csv` permettent d'être plus rapidement prêts à l'emploi en fonction de l'analyse qu'on compte faire dessus. + +On à fait le choix de se limiter aux tables `anime-dataset-2023`, `user-score-2023` et `user-filtered`. + +On supprime les autres csv. +```shell +cd ~/projet-ipbd24/files/dataset +rm anime-filtered.csv final_animedataset.csv users-details-2023.csv +``` + +Voici une description de nos tables : + +- `anime-dataset-2023.csv` + - anime_id: Unique ID for each anime. + - Name: The name of the anime in its original language. + - English name: The English name of the anime. + - Other name: Native name or title of the anime(can be in Japanese, Chinese or Korean). + - Score: The score or rating given to the anime. + - Genres: The genres of the anime, separated by commas. + - Synopsis: A brief description or summary of the anime's plot. + - Type: The type of the anime (e.g., TV series, movie, OVA, etc.). + - Episodes: The number of episodes in the anime. + - Aired: The dates when the anime was aired. + - Premiered: The season and year when the anime premiered. + - Status: The status of the anime (e.g., Finished Airing, Currently Airing, etc.). + - Producers: The production companies or producers of the anime. + - Licensors: The licensors of the anime (e.g., streaming platforms). + - Studios: The animation studios that worked on the anime. + - Source: The source material of the anime (e.g., manga, light novel, original). + - Duration: The duration of each episode. + - Rating: The age rating of the anime. + - Rank: The rank of the anime based on popularity or other criteria. + - Popularity: The popularity rank of the anime. + - Favorites: The number of times the anime was marked as a favorite by users. + - Scored By: The number of users who scored the anime. + - Members: The number of members who have added the anime to their list on the platform. + - Image URL: The URL of the anime's image or poster. + - The dataset offers valuable information for analyzing and comprehending the characteristics, ratings, popularity, and viewership of various anime shows. By utilizing this dataset, one can conduct a wide range of analyses, including identifying the highest-rated anime, exploring the most popular genres, examining the distribution of ratings, and gaining insights into viewer preferences and trends. Additionally, the dataset facilitates the creation of recommendation systems, time series analysis, and clustering to delve deeper into anime trends and user behavior. +- `users-details-2023.csv` + - Mal ID: Unique ID for each user. + - Username: The username of the user. + - Gender: The gender of the user. + - Birthday: The birthday of the user (in ISO format). + - Location: The location or country of the user. + - Joined: The date when the user joined the platform (in ISO format). + - Days Watched: The total number of days the user has spent watching anime. + - Mean Score: The average score given by the user to the anime they have watched. + - Watching: The number of anime currently being watched by the user. + - Completed: The number of anime completed by the user. + - On Hold: The number of anime on hold by the user. + - Dropped: The number of anime dropped by the user. + - Plan to Watch: The number of anime the user plans to watch in the future. + - Total Entries: The total number of anime entries in the user's list. + - Rewatched: The number of anime rewatched by the user. + - Episodes Watched: The total number of episodes watched by the user. + - The User Details Dataset provides valuable information for analyzing user behavior and preferences on the anime platform. By examining mean scores and anime genres, you can gain insights into user preferences. Users can be segmented into different groups based on their watching behavior, such as active users and casual viewers. Personalized recommendation systems can be built using users' completed and plan-to-watch lists. Location-based analysis reveals anime popularity and user engagement in various countries. Trends in watching behavior, user retention, and gender-based differences in anime preferences can be identified. Additionally, you can explore rewatching habits and perform time series analysis to understand user engagement patterns over time. +- `users-score-2023.csv` + - user_id: Unique ID for each user. + - Username: The username of the user. + - anime_id: Unique ID for each anime. + - Anime Title: The title of the anime. + - rating: The rating given by the user to the anime. + - The User Score Dataset enables various analyses and insights into user interactions with anime. By examining user ratings for different anime titles, you can identify highly-rated and popular anime among users. Additionally, you can explore user preferences and watch patterns for specific anime titles. This dataset also forms the foundation for building recommendation systems based on user ratings, helping to suggest anime that align with individual tastes. Furthermore, you can perform collaborative filtering and similarity analysis to discover patterns of similar user interests. Overall, this dataset offers valuable information for understanding user engagement and preferences on the anime platform. + +- `user-filtered` : contient uniquement l'id de l'anime, l'id du user qui a mis la note, et la note. + +## 2. Nettoyage des données et pré-analyse + +### Environnement Python + +Pour mettre en place cette partie, nous avons décidé d'utiliser la librairie `pandas` sur Python afin d'extraire des données et faire des analyses comme la tendance sur les genres d'animés les plus visionnés par exemple. La librairie python `seaborn` permettra un affichage des données. + +Pour ce faire nous avons procédé à toute la partie mise en place de python sur la VM dans un environnement virtuel : +```shell +cd ~ +# Création du v-env +python3 -m venv mon-venv +source mon-venv/bin/activate +# Installation des modules +pip install --upgrade pip +python3 -m pip install pandas seaborn +``` + +On exécute ensuite le code. +```shell +(mon-venv)$ python3 treat.py +``` + +### Nettoyage des données + +- Nettoyage et conversion des données : + +Les colonnes numériques du DataFrame df (comme Score, Popularity, Favorites, etc.) qui contiennent des valeurs "UNKNOWN" sont remplacées par -1. -## 2. Utilisation de Apache Superset +Ces colonnes sont ensuite converties en types de données appropriés (float64 pour les scores et int64 pour les autres). -Apache Superset est .. +Séparation de la colonne "Premiered" : -On lance la version `non-dev` qui prend une image immutable une fois `up`. +La colonne Premiered est divisée en deux nouvelles colonnes : Premiere_year et Premiere_season. + +Une fonction yr_season est définie pour gérer cette séparation et assigner "UNKNOWN" lorsque nécessaire. + +- Encodage des genres : + +Les genres sont convertis en format one-hot encoding. Chaque genre devient une nouvelle colonne avec des valeurs 0 ou 1 indiquant la présence de ce genre dans chaque anime. + +Une fonction split_genre est utilisée pour mettre à jour chaque ligne avec les valeurs one-hot encodées. + +- Rafraîchissement et sauvegarde des données : + +Le DataFrame est sauvegardé dans un nouveau fichier CSV `anime-dataset-2023-refined.csv`, puis rechargé avec `anime_id` comme index. + +- Agrégation des données par année : + +Les données sont regroupées par année de première diffusion (`Premiere_year`), calculant le score moyen (`mean_score`) et le nombre de shows (`show_count`) par année. + +Une somme totale des genres par année est également calculée (`genre_all_sum`). + +### Premières visualisations + +- Evolution de la proportion des genres par année + +Ici on va vouloir utiliser la librairie `seaborn` pour pouvoir afficher une "heatmap" + +[Proportion des genres par années](images/genre_in_years.png) + +- Nombre d'utilisateurs par pays + +ici la chose à faire n'était pas si compliquée, il fallait différencier 3 cas dans les données de localisation (en splitant le string via le caractère de la virgule) : + +On va faire alors une nouvelle colonne "COUNTRY" composée de : +- le string vide [""] -> on remplace par "UNKNOWN" +- le string composé d'un pays ["France"], -> on vient prendre le premier élément +- le string composé de la ville ET du pays ["Evry, France"] -> on vient prendre le deuxième (indice -1) + +Après ceci on vient faire une requête en groupby sur les country, on compte, puis affichage sous forme de barre. + +```python +sns.barplot(x='User_count', y='Country', data=top_15_countries, palette="viridis", ax=ax) +``` + +[Nombre d'utilisateurs par pays](images/users_by_country.png) + +## 3. Hadoop et Hive + +Pour repartir de 0 (l'option `-v` supprime les volumes) : +```shell +# Arrêt des docker-compose +docker compose -f ~/projet-ipbd24/docker-files/hadoop/docker-compose.yml -v down +docker compose -f ~/superset/docker-compose.yml -v down +# Suppression de tous les conteneurs +docker rm -f $(docker ps -a -q) +# Suppression de tous les volumes restants +docker volume rm $(docker volume ls -q) +``` + +### Démarrage + +On lance tout d'abord le cluster Hadoop avec les scripts de démarrage. Ces scripts sont disponibles dans le dossier `~/projet-ipbd24/docker-files/hadoop/`. + +Il s'agit de ceux vus en cours modifié. Les scripts de démarrage ont été légèrement factorisés avec l'introduction d'une variable pour définir le fichier `docker-compose` a utilisé. De plus, les conteneurs spark ont été enlevés car inutilisé et le nom du cluster est désormais `project` et non `test`. + +On lance le cluster : +```shell +cd ~/projet-ipbd24/docker-files/hadoop/ +./start-hadoop.sh +``` + +Dans un souci de lisibilité, j'ai ajouté des volumes nommés afin de pouvoir savoir quel volume est lié à quel conteneur. J'utilise la commande suivante pour déterminer les volumes montés de tous les conteneurs qui n'ont pas encore de nom lisible. +```shell +docker container inspect $(docker ps -q) | grep -A5 Mounts +``` + +Le seul volume à ajouter fut `hadoop_metastore_postgresql`. + +La liste des volumes est à présent limpide, pour les conteneurs actifs. +```shell +docker volume ls +``` +### Import des données dans HDFS + +On se connecte au conteneur `namenode` et on vérifie que HDFS fonctionne correctement : +```shell +docker exec -it namenode bash +# Le volume contenant les données +cd /data/hdfs/files/dataset +# Vérification du bon fonctionnement d'HDFS +hdfs dfs -df -h +``` + +On créer ensuite les répertoires dans HDFS et on ajoute nos données : +```shell +hdfs dfs -mkdir /dataset +hdfs dfs -put /data/hdfs/files/dataset/*.csv /dataset +# Pour vérifier : +hdfs dfs -ls /dataset +``` + +On peut également vérifier via l'interface graphique : http://162.19.124.170:9870/explorer.html#/ + +Une fois le cluster Hadoop/Hive/Yarn lancé et les données mises sur HDFS, on peut passer sur Hive. + +### Création de la database du Hive + +On se connecte au docker du serveur Hive après être revenu sur la VM (quitter le docker avec C-D). +```shell +docker exec -it hive-server bash +``` + +On initialise ensuite la database `myanimelist_db` ainsi que ses tables. Toutes les commandes sql nécessaires sont dans le fichier `files/scripts/init_db.sql` du dépôt. Il suffit d'exécuter ce fichier sur Hive, il se trouve dans le volume du docker `/data/hive/files/`. +```shell +/opt/hive/bin/beeline -u jdbc:hive2://hive-server:10000 -f /data/hive/files/scripts/init_db.sql +``` + +Un extrait de ce fichier SQL : +```sql +CREATE DATABASE IF NOT EXISTS myanimelist_db; + +USE myanimelist_db; + + +CREATE EXTERNAL TABLE IF NOT EXISTS score ( + user_id INT, + anime_id INT, + rating INT +) +ROW FORMAT DELIMITED +FIELDS TERMINATED BY ',' +LINES TERMINATED BY '\n' +STORED AS TEXTFILE +LOCATION '/dataset/'; + +[...] +``` + +Si aucune erreur de survient, tout va bien. On peut tout de même se connecter notre database sur Hive et vérifier que les tables sont correctes : +```shell +/opt/hive/bin/beeline -u jdbc:hive2://hive-server:10000/myanimelist_db +SHOW TABLES; +SELECT * FROM anime LIMIT 3; +SELECT * FROM users LIMIT 10; +SELECT * FROM score LIMIT 10; +``` + +On voit plusieurs problème : +- le header de chaque fichier csv a été importé. +- les groupement créé par les apostrophes ne sont pas prises en compte, en plus de cela ces groupements peuvent comprendre des retours à la ligne. +- au delà du problème des guillemets, il y a beaucoup trop de valeurs `NULL`. + +Pour le problème de guillemet et de header on remplace : +```sql +ROW FORMAT DELIMITED +FIELDS TERMINATED BY ',' +LINES TERMINATED BY '\n' +STORED AS TEXTFILE +LOCATION '/dataset/score' +``` + +Par : +```sql +ROW FORMAT SERDE 'org.apache.hadoop.hive.serde2.OpenCSVSerde' +WITH SERDEPROPERTIES ( + "separatorChar" = ',', + "quoteChar" = '\"', + "escapeChar" = "\\" +) +STORED AS TEXTFILE +LOCATION '/dataset/score' +TBLPROPERTIES ("skip.header.line.count"="1"); +``` + +L'ancien fichier `files/scripts/init_db.sql` s'appelle désormais `wrong_init_db.sql` pour voir les différences. + +Pour régler la trop grande présence de valeurs nulles, on créer un répertoire par dossier csv. Actuellement, toutes les tables ont la même `LOCATION` ce qui peut pose problème. + +Pour pouvoir traiter les retours à la lignes dans le csv, on écrit un écrit un script python `files/scripts/replace_newlines.py` qui remplace les retours à la ligne dans les colonnes du csv par `\\n` afin que Hive puisse l'importer. On fournit les csv à traiter en ligne de commande, le script utilise les libraires `pandas`, `os` et `sys`. +```shell +source ~/mon-venv/bin/activate +cd ~/projet-ipbd24/files/ +./scripts/replace_newlines.py dataset/*.csv + deactivate +``` + +Les fichiers traité on pour nomenclature `*_modified.csv`. + +On recommence l'importation de 0 avec les csv modifiés : +```shell +docker exec -it namenode bash +# Suppression +hdfs dfs -rm -r -f /dataset/* +# Création des dossiers +hdfs dfs -mkdir /dataset/{anime,users,score} +# Importation des données sur HDFS +hdfs dfs -put /data/hdfs/files/dataset/anime-dataset-2023_modified.csv /dataset/anime/anime-dataset-2023.csv +hdfs dfs -put /data/hdfs/files/dataset/users-score-2023_modified.csv /dataset/users/users-score-2023.csv +hdfs dfs -put /data/hdfs/files/dataset/user-filtered_modified.csv /dataset/score/user-filtered.csv +# Pour vérifier : +hdfs dfs -ls /dataset/* +# <C-D> quitter le conteneur +``` + +On supprime les tables, et on importe à nouveau dans Hive : +```shell +docker exec -it hive-server bash +/opt/hive/bin/beeline -u jdbc:hive2://hive-server:10000/myanimelist_db +DROP TABLE anime; +DROP TABLE users; +DROP TABLE score; +# <C-C> quitter Hive, pas le conteneur +``` + +On importe à nouveau, en étant dans le conteneur `hive-server` : +```shell +/opt/hive/bin/beeline -u jdbc:hive2://hive-server:10000 -f /data/hive/files/scripts/init_db.sql +``` + +Et on vérifie à nouveau : +```shell +/opt/hive/bin/beeline -u jdbc:hive2://hive-server:10000/myanimelist_db +SHOW TABLES; +SELECT * FROM anime LIMIT 3; +SELECT * FROM users LIMIT 5; +SELECT * FROM score LIMIT 5; +``` + +Finalement, après toutes ces manipulations en allé retour pour vérifier quelle modifiction fonctionne, on a nos données proprement importé dans Hive ! Plus qu'à faire de belle visualisation dans Superset + +### Résolution du problème de connexion à Hive + +Fréquemment la connexion à Hive ne fonctionne plus, la seconde commande retournant une erreur : +```shell +docker exec -it hive-server bash +/opt/hive/bin/beeline -u jdbc:hive2://hive-server:10000 +``` + +L'erreur retournée témoigne que la database par défaut `default` n'existe pas, ce qui rend la connexion impossible. +```shell +$ docker logs hive-server +FAILED: SemanticException [Error 10072]: Database does not exist: default +``` + +Pour résoudre ce problème, on arrête les deux containers du metastore et on les relance : +```shell +docker compose down hive-metastore +docker compose down hive-metastore-postgresql +cd ~/projet-ipbd24/docker-files/hadoop/ +./start-hadoop.sh +``` + +## 4. Utilisation d'Apache Superset + +Apache Superset est une plateforme de visualisation et d'exploration de données moderne. Elle inclut entre autres une interface no-code mais supporte également des requêtes SQL pour des requêtes avancées. ```shell git clone --depth=1 https://github.com/apache/superset.git cd superset +``` + +L'entièreté de cette partie, git clone compris mais hors création de Dashboard, peut être faite en lançant simplement le script suivant : +```shell +./files/superset/docker-compose-superset-git.sh +``` + +Pour vivre toutes péripéties et problèmes rencontrés, continuer avec la partie qui suit. + +### Premier essai : version dev + +On a effectué un premier lancement avec la version de développement, qui est supposé se mettre à jour lors de changement de données locales. Cependant l'interface en ligne ne fonctionnait (http://162.19.124.170:8088/, identifiants : `admin`, `admin`). + +[UI Web de la version dev en erreur](images/dev-version-erreur-connexion.png) + +La commande néanmoins : +```shell +docker compose up -f docker-compose.yml -d +``` + +Quelque chose était possiblement mal configuré, je n'ai pas spécialement cherché plus loin et j'ai installé la version `non-dev`. Il fallait d'abord désinstaller la version `dev`, ce qui a posé quelques problèmes car le network `superset_default` était encore up et ne voulait pas être arrêté. Je pense que cela était dû à un arrêt du lancement mal géré lors d'un Ctrl-D. + +J'ai donc inspecté ce réseau, ce dernier avait encore un `endpoint` actif ce qui l'empêchait d'être arrêté. Après déconnexion de l'endpoint, c'était bon. +```shell +docker network inspect superset_default +docker network disconnect -f superset_default superset_init +docker compose down +``` + +### Deuxième essai : version non-dev + +La version dev ne fonctionnant pas, nous avons lancé la version non-dev qui nous conviendrait tout autant. + +La version `non-dev` prenant une image immutable une fois `up`, c'est-à -dire que toute modification des fichiers de configuration locaux ne sont pas visibles sans un redémarrage. +```shell +docker compose -f docker-compose-non-dev.yml up -d +``` + +On se connecte ensuite sur l'interface en ligne http://162.19.124.170:8088/ avec les identifiants par défaut `admin`, `admin`. + +Tout fonctionne. + +[UI Web non-dev fonctionnel](images/non-dev-version-interface.png) + +### Connexion à Hive + +On souhaite désormais accéder aux données gérées par Hive. + +La première étape est d'installer les drivers nécessaires pour Hive sur le conteneur de Superset. On doit l'ajouter dans la configuration et recréer l'image docker. +```shell +cd ~/superset +touch ./docker/requirements-local.txt +echo "pyhive" >> ./docker/requirements-local.txt docker compose -f docker-compose-non-dev.yml up -d ``` -On s'y connecte à l'adresse http://162.19.124.170:8088/ avec les identifiants -par défaut `admin`, `admin`. + Deuxièmement, sur l'interface web (http://162.19.124.170:8088/, admin, admin) on va dans "Settings > Database Connections > + Database > SUPPORTED DATABASES" et on sélectionne Apache Hive. On ajoute ici l'URI SQLAlchemy de Hive : +``` +hive://hive@162.19.124.170:10000/myanimelist_db +``` + +On teste la connexion à la db en cliquant sur le bouton `TEST CONNECTION`. La connexion est bonne. + +On clique ensuite sur "Connect", la db est créée sur Superset bien qu'une erreur s'affiche. + +### Création de Dashboards + +## 5. Pour aller plus loin + +Superset est actuellement toujours configuré en mode développement. Mettre en place un environnement de production digne de ce nom selon les indications de la documentation nécessite un certain nombre de changement. + +https://superset.apache.org/docs/configuration/configuring-superset/#setting-up-a-production-metadata-database +https://superset.apache.org/docs/installation/docker-compose +https://minikube.sigs.k8s.io/docs/start/ +minikube : kubernetes pour une seul host (VM). + + +## TL;DR + +Les commandes pour tout mettre en place, en dehors de ce qui concerne l'interface Superset et la création des dashboard (via l'UI). + +```shell +``` + -- GitLab