Skip to content
Extraits de code Groupes Projets
Valider 68627583 rédigé par tessa.depaoli's avatar tessa.depaoli
Parcourir les fichiers

Rapports

parent 63f614fe
Aucune branche associée trouvée
Aucune étiquette associée trouvée
Aucune requête de fusion associée trouvée
...@@ -9,5 +9,7 @@ Construction d’une plateforme Big-Data sur la base de données issues d’une ...@@ -9,5 +9,7 @@ Construction d’une plateforme Big-Data sur la base de données issues d’une
Notre jeu de données est celui-ci : Notre jeu de données est celui-ci :
https://www.kaggle.com/datasets/dbdmobile/myanimelist-dataset https://www.kaggle.com/datasets/dbdmobile/myanimelist-dataset
Notre rapport est le rapport intitulé "rapport_final.md" (le reste sont des prises de notes personnelles).
Vous trouverez les scripts et fichiers python dans les dossiers associés.
Bonne lecture ! Bonne lecture !
...@@ -20,13 +20,17 @@ papersize: a4paper ...@@ -20,13 +20,17 @@ papersize: a4paper
## 1. Objectifs et mise en place ## 1. Objectifs et mise en place
La consigne du projet est la suivante :
Construction d’une plateforme Big-Data sur la base de données issues d’une bibliothèque Open Data choisie par chaque groupe d’étudiants et proposition d’un ensemble d’analyses représentatives du jeu de données de la plateforme
### Description des données et objectif ### Description des données et objectif
Nous avons cherché des données d'au moins 2 Go, sans images car le traitement n'est pas le même. 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/. 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/.
(Dans les faits on a utilisé que 3 fichiers, donc on est plutôt sur 2/3 Go mais c'est bien quand même !)
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/). 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/). MyAnimeList permet de constituer sa liste de visionnage (animes déjà vus, en cours, abandonnées,...) et de les noter.
Notre but est d'analyser ces données afin de trouver des tendances ou/et corrélation dans les données. Notre but est d'analyser ces données afin de trouver des tendances ou/et corrélation dans les données.
...@@ -37,9 +41,11 @@ Pour cela, on utilisera les outils suivants : ...@@ -37,9 +41,11 @@ Pour cela, on utilisera les outils suivants :
- Hadoop - Hadoop
- Hive - Hive
- Superset - Superset
- Google Cloud
### Dépôt du projet et paquets ### Dépôt du projet et paquets
On travaille d'abord sur la VM.
On s'assure d'avoir les paquets nécessaires : On s'assure d'avoir les paquets nécessaires :
```shell ```shell
sudo dnf install git wget unzip python3 sudo dnf install git wget unzip python3
...@@ -84,6 +90,8 @@ Cette commande est dans le script `download_dataset.sh` : ...@@ -84,6 +90,8 @@ Cette commande est dans le script `download_dataset.sh` :
```shell ```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' 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'
``` ```
Les scripts en questions sont disponibles sur le git.
On télécharge l'archive des données avec la requête wget puis on l'extrait : On télécharge l'archive des données avec la requête wget puis on l'extrait :
```shell ```shell
...@@ -102,7 +110,7 @@ Les données sont désormais dans le dossier `dataset/`, on compte 6 csv : ...@@ -102,7 +110,7 @@ Les données sont désormais dans le dossier `dataset/`, on compte 6 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. 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 à fait le choix de se limiter aux tables `anime-dataset-2023`, `user-details-2023` et `user-filtered`.
On supprime les autres csv. On supprime les autres csv.
```shell ```shell
...@@ -113,58 +121,55 @@ rm anime-filtered.csv final_animedataset.csv users-details-2023.csv ...@@ -113,58 +121,55 @@ rm anime-filtered.csv final_animedataset.csv users-details-2023.csv
Voici une description de nos tables : Voici une description de nos tables :
- `anime-dataset-2023.csv` - `anime-dataset-2023.csv`
- anime_id: Unique ID for each anime. - anime_id: ID unique pour chaque anime.
- Name: The name of the anime in its original language. - Name: Le nom de l'anime dans sa langue originelle.
- English name: The English name of the anime. - English name: Le nom anglais de l'anime.
- Other name: Native name or title of the anime(can be in Japanese, Chinese or Korean). - Other name: Nom d'origine ou titre de l'anime (peut être en japonais, chinois ou coréen).
- Score: The score or rating given to the anime. - Score: Le score ou la note attribuée à l'anime.
- Genres: The genres of the anime, separated by commas. - Genres: Les genres de l'anime, séparés par des virgules.
- Synopsis: A brief description or summary of the anime's plot. - Synopsis: Brève description ou résumé de l'intrigue de l'anime.
- Type: The type of the anime (e.g., TV series, movie, OVA, etc.). - Type: Le type de l'anime (par exemple, série télévisée, film, OVA, etc.).
- Episodes: The number of episodes in the anime. - Episodes: Le nombre d'épisodes de l'anime.
- Aired: The dates when the anime was aired. - Aired: Les dates de diffusion de l'anime.
- Premiered: The season and year when the anime premiered. - Premiered: La saison et l'année de la première de l'anime.
- Status: The status of the anime (e.g., Finished Airing, Currently Airing, etc.). - Status: Le statut de l'anime (par exemple, Fini de diffuser, En cours de diffusion, etc.)
- Producers: The production companies or producers of the anime. - Producers: Sociétés de production ou producteurs de l'anime.
- Licensors: The licensors of the anime (e.g., streaming platforms). - Licensors: Les concédants de licence de l'anime (par exemple, les plateformes de diffusion en continu).
- Studios: The animation studios that worked on the anime. - Studios: Les studios d'animation qui ont travaillé sur l'anime.
- Source: The source material of the anime (e.g., manga, light novel, original). - Source: Le matériel source de l'anime (par exemple, manga, light novel, original).
- Duration: The duration of each episode. - Duration: La durée de chaque épisode.
- Rating: The age rating of the anime. - Rating: La classification par âge de l'anime.
- Rank: The rank of the anime based on popularity or other criteria. - Rank: Le rang de l'anime en fonction de sa popularité ou d'autres critères.
- Popularity: The popularity rank of the anime. - Popularity: Le rang de popularité de l'anime.
- Favorites: The number of times the anime was marked as a favorite by users. - Favorites: Le nombre de fois où l'anime a été marqué comme favori par les utilisateurs.
- Scored By: The number of users who scored the anime. - Scored By: Le nombre d'utilisateurs qui ont noté l'anime.
- Members: The number of members who have added the anime to their list on the platform. - Members: Le nombre de membres qui ont ajouté l'anime à leur liste sur la plateforme.
- Image URL: The URL of the anime's image or poster. - Image URL: URL de l'image ou de l'affiche de l'anime.
- 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. L'ensemble de données fournit des informations précieuses pour analyser et comprendre les caractéristiques, les classements, la popularité et l'audience de diverses émissions d'anime. En utilisant cet ensemble de données, il est possible d'effectuer un large éventail d'analyses, y compris l'identification des animes les mieux notés, l'exploration des genres les plus populaires, l'examen de la distribution des notes et l'obtention d'informations sur les préférences et les tendances des téléspectateurs. En outre, l'ensemble de données facilite la création de systèmes de recommandation, l'analyse des séries temporelles et le regroupement pour approfondir les tendances des anime et le comportement des utilisateurs.
- `users-details-2023.csv` - `users-details-2023.csv`
- Mal ID: Unique ID for each user. - Mal ID: ID unique pour chaque utilisateur. (MAL = MyAnimeList)
- Username: The username of the user. - Username: Le nom d'utilisateur de l'utilisateur.
- Gender: The gender of the user. - Gender: Le sexe de l'utilisateur.
- Birthday: The birthday of the user (in ISO format). - Birthday: La date de naissance de l'utilisateur (au format ISO).
- Location: The location or country of the user. - Location: La localisation ou le pays de l'utilisateur.
- Joined: The date when the user joined the platform (in ISO format). - Joined: La date à laquelle l'utilisateur a rejoint la plateforme (au format ISO).
- Days Watched: The total number of days the user has spent watching anime. - Days Watched: Le nombre total de jours que l'utilisateur a passé à regarder des animes.
- Mean Score: The average score given by the user to the anime they have watched. - Mean Score: La note moyenne attribuée par l'utilisateur aux animes qu'il a regardés.
- Watching: The number of anime currently being watched by the user. - Watching: TLe nombre d'anime actuellement regardés par l'utilisateur.
- Completed: The number of anime completed by the user. - Completed: Le nombre d'anime terminés par l'utilisateur.
- On Hold: The number of anime on hold by the user. - On Hold: Le nombre d'anime en attente par l'utilisateur.
- Dropped: The number of anime dropped by the user. - Dropped: Le nombre d'anime abandonnés par l'utilisateur..
- Plan to Watch: The number of anime the user plans to watch in the future. - Plan to Watch: Le nombre d'animes que l'utilisateur prévoit de regarder dans le futur.
- Total Entries: The total number of anime entries in the user's list. - Total Entries: Le nombre d'animes que l'utilisateur prévoit de regarder dans le futur.
- Rewatched: The number of anime rewatched by the user. - Rewatched: Le nombre d'anime revus par l'utilisateur.
- Episodes Watched: The total number of episodes watched by the user. - Episodes Watched: Le nombre total d'épisodes regardés par l'utilisateur.
- 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. L'ensemble de données User Details fournit des informations précieuses pour l'analyse du comportement et des préférences des utilisateurs sur la plateforme d'anime. En examinant les scores moyens et les genres d'anime, vous pouvez obtenir des informations sur les préférences des utilisateurs. Les utilisateurs peuvent être segmentés en différents groupes en fonction de leur comportement de visionnage, comme les utilisateurs actifs et les spectateurs occasionnels. Des systèmes de recommandation personnalisés peuvent être mis en place à partir des listes de films achevés et de ceux que les utilisateurs ont l'intention de regarder. L'analyse basée sur la localisation révèle la popularité des animes et l'engagement des utilisateurs dans différents pays. Il est possible d'identifier les tendances en matière de comportement de visionnage, de fidélisation des utilisateurs et de différences entre les sexes en ce qui concerne les préférences en matière d'anime. En outre, vous pouvez explorer les habitudes de relecture et effectuer des analyses de séries chronologiques pour comprendre les schémas d'engagement des utilisateurs au fil du temps.
- `users-score-2023.csv` - `users-filtered.csv`
- user_id: Unique ID for each user. - mal_id_id: ID unique pour chaque utilisateur.
- Username: The username of the user. - anime_id: Identifiant unique pour chaque anime.
- anime_id: Unique ID for each anime. - rating: La note attribuée par l'utilisateur à l'anime.
- Anime Title: The title of the anime. L'ensemble de données sur les notes attribuées par les utilisateurs permet d'effectuer diverses analyses et d'obtenir des informations sur les interactions entre les utilisateurs et les dessins animés. En examinant les notes attribuées par les utilisateurs à différents titres d'animes, vous pouvez identifier les animes les mieux notés et les plus populaires parmi les utilisateurs. En outre, vous pouvez explorer les préférences des utilisateurs et les habitudes de visionnage pour des titres d'anime spécifiques. Cet ensemble de données constitue également la base de la création de systèmes de recommandation basés sur les évaluations des utilisateurs, ce qui permet de suggérer des animes qui correspondent aux goûts de chacun. En outre, vous pouvez effectuer un filtrage collaboratif et une analyse de similarité pour découvrir des modèles d'intérêts similaires chez les utilisateurs. Dans l'ensemble, cet ensemble de données offre des informations précieuses pour comprendre l'engagement et les préférences des utilisateurs sur la plateforme d'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 ## 2. Nettoyage des données et pré-analyse
...@@ -183,7 +188,7 @@ pip install --upgrade pip ...@@ -183,7 +188,7 @@ pip install --upgrade pip
python3 -m pip install pandas seaborn python3 -m pip install pandas seaborn
``` ```
On exécute ensuite le code. On exécute ensuite le code. (également disponible sur le git)
```shell ```shell
(mon-venv)$ python3 treat.py (mon-venv)$ python3 treat.py
``` ```
...@@ -228,7 +233,7 @@ Ici on va vouloir utiliser la librairie `seaborn` pour pouvoir afficher une "hea ...@@ -228,7 +233,7 @@ Ici on va vouloir utiliser la librairie `seaborn` pour pouvoir afficher une "hea
- Nombre d'utilisateurs par pays - 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) : 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 : On va faire alors une nouvelle colonne "COUNTRY" composée de :
- le string vide [""] -> on remplace par "UNKNOWN" - le string vide [""] -> on remplace par "UNKNOWN"
...@@ -260,7 +265,8 @@ docker volume rm $(docker volume ls -q) ...@@ -260,7 +265,8 @@ docker volume rm $(docker volume ls -q)
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/`. 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`.
Il s'agit de ceux vus en cours modifiés. 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` qui a été utilisée. De plus, les conteneurs spark ont été enlevés car inutilisés et le nom du cluster est désormais `project` et non `test`.
On lance le cluster : On lance le cluster :
```shell ```shell
...@@ -304,7 +310,7 @@ Une fois le cluster Hadoop/Hive/Yarn lancé et les données mises sur HDFS, on p ...@@ -304,7 +310,7 @@ Une fois le cluster Hadoop/Hive/Yarn lancé et les données mises sur HDFS, on p
### Création de la database du 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). On se connecte au docker du serveur Hive après être revenu sur la VM (quitter le docker avec Ctrl+D).
```shell ```shell
docker exec -it hive-server bash docker exec -it hive-server bash
``` ```
...@@ -373,7 +379,7 @@ TBLPROPERTIES ("skip.header.line.count"="1"); ...@@ -373,7 +379,7 @@ 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. 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 régler la trop grande présence de valeurs nulles, on crée un répertoire par dossier csv. Actuellement, toutes les tables ont la même `LOCATION` ce qui peut poser 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`. 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 ```shell
...@@ -383,7 +389,7 @@ cd ~/projet-ipbd24/files/ ...@@ -383,7 +389,7 @@ cd ~/projet-ipbd24/files/
deactivate deactivate
``` ```
Les fichiers traité on pour nomenclature `*_modified.csv`. Les fichiers traités on pour nomenclature `*_modified.csv`.
On recommence l'importation de 0 avec les csv modifiés : On recommence l'importation de 0 avec les csv modifiés :
```shell ```shell
...@@ -425,7 +431,7 @@ SELECT * FROM users LIMIT 5; ...@@ -425,7 +431,7 @@ SELECT * FROM users LIMIT 5;
SELECT * FROM score 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 Finalement, après toutes ces manipulations en aller-retour pour vérifier quelle modifiction fonctionne, on a nos données proprement importées dans Hive ! Plus qu'à faire de belles visualisations dans Superset
### Résolution du problème de connexion à Hive ### Résolution du problème de connexion à Hive
...@@ -476,7 +482,7 @@ La commande néanmoins : ...@@ -476,7 +482,7 @@ La commande néanmoins :
docker compose up -f docker-compose.yml -d 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. 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. 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 ```shell
...@@ -527,6 +533,8 @@ On clique ensuite sur "Connect", la db est créée sur Superset bien qu'une erre ...@@ -527,6 +533,8 @@ On clique ensuite sur "Connect", la db est créée sur Superset bien qu'une erre
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. 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.
On a également essayé de créer des dashboards à partir de nos datasets, mais l'import des données depuis hive a été mal géré par superset (conversion en VARCHAR des STRING). Il faudrait réessayer en compressant les données au préalable.
https://superset.apache.org/docs/configuration/configuring-superset/#setting-up-a-production-metadata-database https://superset.apache.org/docs/configuration/configuring-superset/#setting-up-a-production-metadata-database
https://superset.apache.org/docs/installation/docker-compose https://superset.apache.org/docs/installation/docker-compose
https://minikube.sigs.k8s.io/docs/start/ https://minikube.sigs.k8s.io/docs/start/
...@@ -537,6 +545,9 @@ minikube : kubernetes pour une seul host (VM). ...@@ -537,6 +545,9 @@ minikube : kubernetes pour une seul host (VM).
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). 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).
## 6. Google Cloud
```shell ```shell
``` ```
...@@ -88,7 +88,6 @@ II- Analyse du data set et élaboration de la stratégie d'analyse ...@@ -88,7 +88,6 @@ II- Analyse du data set et élaboration de la stratégie d'analyse
III- Prétraitement des données
IV- Construction de la plateforme Big Data IV- Construction de la plateforme Big Data
......
0% Chargement en cours ou .
You are about to add 0 people to the discussion. Proceed with caution.
Terminez d'abord l'édition de ce message.
Veuillez vous inscrire ou vous pour commenter