https://air.imag.fr/api.php?action=feedcontributions&user=Robin.Delbos&feedformat=atomair - User contributions [en]2024-03-29T14:31:29ZUser contributionsMediaWiki 1.35.13https://air.imag.fr/index.php?title=Rapport_Final_EDCampus&diff=51002Rapport Final EDCampus2021-03-18T17:39:25Z<p>Robin.Delbos: </p>
<hr />
<div><br />
<br />
=L'équipe=<br />
* Samuel Courthial (chef de projet)<br />
* Sebastian Fougère<br />
* Robin Delbos<br />
<br />
Supervisé par : Didier Donsez, Gérard Pollier, Anthony Geourjon (Merci à Anthony pour sa présence et ses nombreux conseils bienveillants pendant tout le projet.)<br />
<br />
=Qu'est ce qu'EDCampus?=<br />
<br />
[[File:Edcampus-dashboard.png|500px|thumb|right| Dashboard EDCampus]]<br />
<br />
EDCampus est une plateforme de gestion de projet développé par Disrupt Campus Grenoble depuis 4 ans. Elle est actuellement en production avec 2400 comptes utilisateurs , 500 utilisateurs actifs et plus de 500 projets. <br />
Au cours de son histoire la plateforme a eu de multiples contributeurs : environ 50 étudiants + Anthony Geourjon<br />
EDCampus a été développé principalement pour que les professeurs puissent créer des projets pour leurs étudiant et pouvoir communiquer plus facilement au cours de celui-ci. Mais la plateforme regroupe de nombreuses autres fonctionnalités comme la création de sondages, un calendrier, une fonctionnalité de gestion des finances...<br />
<br />
Plus précisément, EDCampus permet la création de projet avec lesquels il est possible d'effectuer diverses actions:<br />
* Création d'une hiérarchie en créant des sous-projets, rattachés à un parent. Ces projets peuvent alors partager certaines ressources.<br />
* Partage de dossiers, fichiers et liens externes.<br />
* Création de tâches, pouvant être manipuler et organiser dans des Kanban ou des Gantt.<br />
* Suivi de l'évolution d'un projet depuis le calendrier. Ce dernier répertorie tous les évènements passés et futurs, a propos d'un ou plusieurs projets suivis.<br />
* Organisation d'atelier (Brain-storming, tableau blanc, visio, Business Model, Lean et SWOT Canvas).<br />
* Gestion des ressources (nom, quantité, prix).<br />
* Sondages.<br />
* Création de publications (si le projet est publique, naturellement).<br />
* Gestion des contacts liés au projet.<br />
* Gestion de la finance du projet.<br />
* Demande de livrable, auprés des membres du projet.<br />
<br />
Notre objectif au cours de ce projet était de contribuer à EDCampus par de la correction de ''bugs'' et de l'ajout de fonctionnalités, ainsi que par la ''refactorisation'' d'un ''chat''.<br />
<br />
=Architecture du système=<br />
<br />
[[File:Architecture_EDCampus.jpg | 800px | thumb | center | Architecture générale]]<br />
<br />
<br />
Nous voyons donc que l'architecture est plutôt classique avec une partie ''front'', une partie ''back'' et une base de données. Cependant il y a également une deuxième partie back-node utilisée pour la fonctionnalité de ''chat''. Cette partie contient le serveur SocketIO qui permet d'informer les utilisateurs lors d'envoi de message. Ce serveur gère des salles pour chaque discussions qu'il est possible de rejoindre pour être notifié quand un message est envoyé. Le serveur ne contient ni les discussions, ni les messages envoyés, qui doivent ensuite être récupérés côté client en allant les chercher dans la BDD.<br />
<br />
= Technologies et outils=<br />
==Technologies==<br />
* PHP : technologie utilisée pour le ''BackEnd''<br />
* AngularJS : technologie utilisée pour le ''FrontEnd''<br />
* SQL : technologie utilisée pour la base de données<br />
* SocketIO : technologie utilisée pour le ''chat''<br />
** Il s'agit d'une bibliothèque JavaScript permettant une communication bidirectionnelle temps réel entre les clients et les serveurs. Cette bibliothèque facilite l'envoi et la réception d'évènement de différents type, de contenu varié. De plus, Socket.io permet facilement la création de "salles", des canaux pouvant être rejoint ou quitter par des sockets. Elles permettent notamment l'envoi de messages à un sous-ensemble précis de client (ceux ayant rejoint la même salle).<br />
<br />
[[File:Edcampus-rooms-socketIO.png|500px|thumb|center| Le concept de "salles" de socket.io]]<br />
<br />
==Outils==<br />
* GitLab : Plateforme pour le travail collaboratif<br />
* GitKraken : Outil pour utiliser ''Git'' plus facilement<br />
* PHPStorm : Editeur pour le developpement ''BackEnd''<br />
* WebStorm : Editeur pour le developpement ''FrontEnd''<br />
* MySQL : Outil pour accéder a la base de données<br />
* Docker : Outil d'empaquetage d'une application et de ces dépendances<br />
<br />
= Réalisations techniques=<br />
<br />
==Correction de bugs==<br />
<br />
[[File:Edcampus-correction-bug1.png|500px|thumb|right| Une issue de test et de correction de bug]]<br />
<br />
Nous avions plusieurs types d'''issues'' de correction de ''bugs''<br />
* Traduction manquante<br />
* Erreurs d'affichage<br />
* Fonctionnalités ne se comportant pas de la bonne façon<br />
<br />
==Ajout de fonctionnalités==<br />
* Envoi de notifications aux utilisateurs<br />
* Ajout d'un bouton de suppression<br />
* Affichage des prochaines échéances dans un projet<br />
==Ajout du chat==<br />
Le ''chat'' d'EDCampus était déjà présent mais de nombreuses fonctionnalités ne fonctionnaient pas correctement. Notre objectif était donc de débuguer les fonctionnalités déjà présentes, tout en effectuant une refonte du chat en remplaçant Firebase (l'outil hébergeant le serveur de chat) par socket.io. L'intérêt de cela était de pouvoir se libérer de l'utilisation d'un service tier dans EDCampus, en hébergeant soi-même le chat. L'ensemble des discussions et messages était déjà stocké dans la BDD. L'idée était donc d'utiliser socket.io pour créer un serveur de notification, informant les clients lors de la réception et de l'envoi d'un message.<br />
<br />
=Organisation=<br />
<br />
==Méthode==<br />
Nous avons travaillé en méthodologie agile avec GitLab. Nous avons repartis notre travail en ''sprints'' d'une semaine chacun pour un total de 6 ''sprints''. A chaque sprint nous organisions au moins une réunion le lundi matin avec Anthony Geourjon afin de s'organiser pour la semaine et faire un récapitulatif de la semaine précédente. Pendant chaque sprint nous avions des issues données par Anthony Geourjon que nous nous répartitions selon nos préférence et notre avancement.<br />
<br />
==Le contenu==<br />
<br />
[[File:Edcampus-issues.png|350px|thumb|right| Organisation de nos issues]]<br />
<br />
Notre travail s'organisait en deux parties :<br />
* Dans les 4 premiers ''sprints'' nous avons travaillé sur de la correction de ''bugs'' et de l'ajout de fonctionnalités, choisies chaque semaine par Anthony Geourjon.<br />
** L'idée était de commencer par des issues faciles pour se familiariser avec le code et sa structure avant de se lancer dans la refonte du chat. Ces quelques semaines nous ont permis de rapidement monter en compétences.<br />
* Dans les 2 derniers ''sprints'' nous avons travaillé sur la fonctionnalité de ''chat''.<br />
<br />
==Rôles==<br />
* Dans la première partie nous choisissions les ''issues'' selon nos préférences, certaines ''issues'' nécessitaient doc des modifications coté ''front'' et ''back'', Nous avions donc tous un rôle de développeur ''FullStack''. <br />
* Dans la deuxième partie Samuel travaillait sur SocketIO alors que Robin et Sebastian travaillaient sur des issues d'ajout de fonctionnalités du chat et de la correction de bugs des fonctionnalités existantes. Puis une fois les fonctionnalités ajoutées nous avons tous travaillés sur l'intégration de SocketIO et sur les tests.<br />
<br />
<br />
=Métriques=<br />
<br />
==Répartition du travail==<br />
Nous avons réalisés des métriques sur le nombre de lignes de code ainsi que sur le nombre d'''issues''; Cependant celles ci ne sont pas forcement représentatives puisque certaines ''issues'' nécessitaient plus de travail que d'autres sans forcement nécessiter plus de code.<br />
* Nombre d'issues : 33 issues au total<br />
** Robin Delbos : 24.2%<br />
** Samuel Courthial : 39.4%<br />
** Sebastian Fougere : 36.4%<br />
* Lignes de code : 930 lignes au total <br />
** Robin Delbos : 16.0%<br />
** Samuel Courthial : 48.9%<br />
** Sebastian Fougere : 35.1%<br />
<br />
==Coût développeur==<br />
<br />
Nous avons calculé à partir d'un salaire annuel de 26000€ (soit 26000*1.45=37700€ avec les charges patronales) et de 235 jour par an, un coût journalier de 37 700/235 = 160€ par jour<br />
Nous avons travaillé 22 jours à 7h par jour, ce qui nous donne finalement un coût total de 10 560€ pour toute l'équipe pendant notre projet.<br />
<br />
[[File:cocomo-edcampus.JPG|1000px|thumb|center| Cocomo EDCampus]]<br />
<br />
Le modèle COCOMO permet d'estimer l'effort à fournir et la durée d'un projet afin d'éviter les erreurs de budgets et les retard de livraisons. Sur notre graphique COCOMO ci dessus, on peut voir que notre contribution, qui correspond à 930 lignes de codes écrites, nous donne un effort de 2.766 qui correspond au nombre de mois qu'il faudrait pour qu'un seul développeur fasse ce même travail. Il est aussi indiqué que pour ce projet, le modèle COCOMO nous suggère d'être seulement 0.775 personne (colonne STAFFING), soit une personne à 3/4 temps, et que si c'était le cas, cette contribution au projet EDCampus prendrait 3.569 mois (colonne DURATION). Or, nous sommes 3 pour ce projet donc cela nous donne un effort de 2.766/3 = 0.922 mois de travail par personne ce qui est sensiblement le temps que nous avons consacré à ce projet puisqu'il est de 22 jours.<br />
<br />
=Conclusion=<br />
Finalement le projet était enrichissant nous avons pu travailler sur un projet concret et même avoir des retours d'utilisateur sur notre travail. De plus nous avons eu l'occasion de travailler sur des fonctionnalités ''front'' et ''back'' avec des langages que nous n'avions que peu utilisé jusqu'à présent.<br />
<br />
Cependant le projet manque de documentation. De plus le projet ayant eu de nombreux contributeurs il est parfois compliqué de comprendre comment fonctionne le code avec toute les façons différentes de coder.<br />
<br />
=Glossaire=<br />
''Bug'' : Défaut de conception d'un programme informatique à l'origine d'un dysfonctionnement.<br />
<br />
''Back/BackEnd'' : Partie d'un système avec laquelle un utilisateur n'interagis pas directement.<br />
<br />
''Chat'' : Fenêtre de discussion.<br />
<br />
''Front/FrontEnd'' : Partie d'un système avec laquelle un utilisateur interagis.<br />
<br />
''Fullstack'' : Un développeur fullstack travaille sur toute les parties du système.<br />
<br />
''Git'' : Git est un logiciel de gestion de versions décentralisé.<br />
<br />
''Issue'' : Tâche à réaliser lors d’un sprint.<br />
<br />
''Refactorisation'' : réécriture d'un programme pour l’améliorer.<br />
<br />
''Sprint'' : Période de travail définie avec un certain nombre d'issues.<br />
<br />
=Bibliographie=<br />
<br />
[https://platform-edcampus.univ-grenoble-alpes.fr/app/ EDCampus]<br />
<br />
[https://gricad-gitlab.univ-grenoble-alpes.fr/edcampus/edcampus-platform Gitlab EDCampus]<br />
<br />
[https://air.imag.fr/index.php/PROJET-INFO5_2021_Contributions_open_source_au_projet_EdCampus Fiche de suivi]<br />
<br />
[https://air.imag.fr/images/9/96/Flyer_EDCampus.pdf Flyer]<br />
<br />
[https://air.imag.fr/images/0/04/Poster_EDCampus.pdf Poster]<br />
<br />
[https://air.imag.fr/images/8/89/Pitch_EDCampus.pdf Pitch]<br />
<br />
[ Présentation finale]</div>Robin.Delboshttps://air.imag.fr/index.php?title=Rapport_Final_EDCampus&diff=51001Rapport Final EDCampus2021-03-18T17:25:41Z<p>Robin.Delbos: </p>
<hr />
<div><br />
<br />
=L'équipe=<br />
* Samuel Courthial (chef de projet)<br />
* Sebastian Fougère<br />
* Robin Delbos<br />
<br />
Supervisé par : Didier Donsez, Gérard Pollier, Anthony Geourjon (Merci à Anthony pour sa présence et ses nombreux conseils bienveillants pendant tout le projet.)<br />
<br />
=Qu'est ce qu'EDCampus?=<br />
<br />
[[File:Edcampus-dashboard.png|500px|thumb|right| Dashboard EDCampus]]<br />
<br />
EDCampus est une plateforme de gestion de projet développé par Disrupt Campus Grenoble depuis 4 ans. Elle est actuellement en production avec 2400 comptes utilisateurs , 500 utilisateurs actifs et plus de 500 projets. <br />
Au cours de son histoire la plateforme a eu de multiples contributeurs : environ 50 étudiants + Anthony Geourjon<br />
EDCampus a été développé principalement pour que les professeurs puissent créer des projets pour leurs étudiant et pouvoir communiquer plus facilement au cours de celui-ci. Mais la plateforme regroupe de nombreuses autres fonctionnalités comme la création de sondages, un calendrier, une fonctionnalité de gestion des finances...<br />
<br />
Plus précisément, EDCampus permet la création de projet avec lesquels il est possible d'effectuer diverses actions:<br />
* Création d'une hiérarchie en créant des sous-projets, rattachés à un parent. Ces projets peuvent alors partager certaines ressources.<br />
* Partage de dossiers, fichiers et liens externes.<br />
* Création de tâches, pouvant être manipuler et organiser dans des Kanban ou des Gantt.<br />
* Suivi de l'évolution d'un projet depuis le calendrier. Ce dernier répertorie tous les évènements passés et futurs, a propos d'un ou plusieurs projets suivis.<br />
* Organisation d'atelier (Brain-storming, tableau blanc, visio, Business Model, Lean et SWOT Canvas).<br />
* Gestion des ressources (nom, quantité, prix).<br />
* Sondages.<br />
* Création de publications (si le projet est publique, naturellement).<br />
* Gestion des contacts liés au projet.<br />
* Gestion de la finance du projet.<br />
* Demande de livrable, auprés des membres du projet.<br />
<br />
Notre objectif au cours de ce projet était de contribuer à EDCampus par de la correction de ''bugs'' et de l'ajout de fonctionnalités, ainsi que par la ''refactorisation'' d'un ''chat''.<br />
<br />
=Architecture du système=<br />
<br />
[[File:Architecture_EDCampus.jpg | 800px | thumb | center | Architecture générale]]<br />
<br />
<br />
Nous voyons donc que l'architecture est plutôt classique avec une partie ''front'', une partie ''back'' et une base de données. Cependant il y a également une deuxième partie back-node utilisée pour la fonctionnalité de ''chat''. Cette partie contient le serveur SocketIO qui permet d'informer les utilisateurs lors d'envoi de message. Ce serveur gère des salles pour chaque discussions qu'il est possible de rejoindre pour être notifié quand un message est envoyé. Le serveur ne contient ni les discussions, ni les messages envoyés, qui doivent ensuite être récupérés côté client en allant les chercher dans la BDD.<br />
<br />
= Technologies et outils=<br />
==Technologies==<br />
* PHP : technologie utilisée pour le ''BackEnd''<br />
* AngularJS : technologie utilisée pour le ''FrontEnd''<br />
* SQL : technologie utilisée pour la base de données<br />
* SocketIO : technologie utilisée pour le ''chat''<br />
** Il s'agit d'une bibliothèque JavaScript permettant une communication bidirectionnelle temps réel entre les clients et les serveurs. Cette bibliothèque facilite l'envoi et la réception d'évènement de différents type, de contenu varié. De plus, Socket.io permet facilement la création de "salles", des canaux pouvant être rejoint ou quitter par des sockets. Elles permettent notamment l'envoi de messages à un sous-ensemble précis de client (ceux ayant rejoint la même salle).<br />
<br />
[[File:Edcampus-rooms-socketIO.png|500px|thumb|center| Le concept de "salles" de socket.io]]<br />
<br />
==Outils==<br />
* GitLab : Plateforme pour le travail collaboratif<br />
* GitKraken : Outil pour utiliser ''Git'' plus facilement<br />
* PHPStorm : Editeur pour le developpement ''BackEnd''<br />
* WebStorm : Editeur pour le developpement ''FrontEnd''<br />
* MySQL : Outil pour accéder a la base de données<br />
* Docker : Outil d'empaquetage d'une application et de ces dépendances<br />
<br />
= Réalisations techniques=<br />
<br />
==Correction de bugs==<br />
<br />
[[File:Edcampus-correction-bug1.png|500px|thumb|right| Une issue de test et de correction de bug]]<br />
<br />
Nous avions plusieurs types d'''issues'' de correction de ''bugs''<br />
* Traduction manquante<br />
* Erreurs d'affichage<br />
* Fonctionnalités ne se comportant pas de la bonne façon<br />
<br />
==Ajout de fonctionnalités==<br />
* Envoi de notifications aux utilisateurs<br />
* Ajout d'un bouton de suppression<br />
* Affichage des prochaines échéances dans un projet<br />
==Ajout du chat==<br />
Le ''chat'' d'EDCampus était déjà présent mais de nombreuses fonctionnalités ne fonctionnaient pas correctement. Notre objectif était donc de débuguer les fonctionnalités déjà présentes, tout en effectuant une refonte du chat en remplaçant Firebase (l'outil hébergeant le serveur de chat) par socket.io. L'intérêt de cela était de pouvoir se libérer de l'utilisation d'un service tier dans EDCampus, en hébergeant soi-même le chat. L'ensemble des discussions et messages était déjà stocké dans la BDD. L'idée était donc d'utiliser socket.io pour créer un serveur de notification, informant les clients lors de la réception et de l'envoi d'un message.<br />
<br />
=Organisation=<br />
<br />
==Méthode==<br />
Nous avons travaillé en méthodologie agile avec GitLab. Nous avons repartis notre travail en ''sprints'' d'une semaine chacun pour un total de 6 ''sprints''. A chaque sprint nous organisions au moins une réunion le lundi matin avec Anthony Geourjon afin de s'organiser pour la semaine et faire un récapitulatif de la semaine précédente. Pendant chaque sprint nous avions des issues données par Anthony Geourjon que nous nous répartitions selon nos préférence et notre avancement.<br />
<br />
==Le contenu==<br />
<br />
[[File:Edcampus-issues.png|350px|thumb|right| Organisation de nos issues]]<br />
<br />
Notre travail s'organisait en deux parties :<br />
* Dans les 4 premiers ''sprints'' nous avons travaillé sur de la correction de ''bugs'' et de l'ajout de fonctionnalités, choisies chaque semaine par Anthony Geourjon.<br />
** L'idée était de commencer par des issues faciles pour se familiariser avec le code et sa structure avant de se lancer dans la refonte du chat. Ces quelques semaines nous ont permis de rapidement monter en compétences.<br />
* Dans les 2 derniers ''sprints'' nous avons travaillé sur la fonctionnalité de ''chat''.<br />
<br />
==Rôles==<br />
* Dans la première partie nous choisissions les ''issues'' selon nos préférences, certaines ''issues'' nécessitaient doc des modifications coté ''front'' et ''back'', Nous avions donc tous un rôle de développeur ''FullStack''. <br />
* Dans la deuxième partie Samuel travaillait sur SocketIO alors que Robin et Sebastian travaillaient sur des issues d'ajout de fonctionnalités du chat et de la correction de bugs des fonctionnalités existantes. Puis une fois les fonctionnalités ajoutées nous avons tous travaillés sur l'intégration de SocketIO et sur les tests.<br />
<br />
<br />
=Métriques=<br />
<br />
==Répartition du travail==<br />
Nous avons réalisés des métriques sur le nombre de lignes de code ainsi que sur le nombre d'''issues''; Cependant celles ci ne sont pas forcement représentatives puisque certaines ''issues'' nécessitaient plus de travail que d'autres sans forcement nécessiter plus de code.<br />
* Nombre d'issues : 33 issues au total<br />
** Robin Delbos : 24.2%<br />
** Samuel Courthial : 39.4%<br />
** Sebastian Fougere : 36.4%<br />
* Lignes de code : 930 lignes au total <br />
** Robin Delbos : 16.0%<br />
** Samuel Courthial : 48.9%<br />
** Sebastian Fougere : 35.1%<br />
<br />
==Coût développeur==<br />
<br />
Nous avons calculé à partir d'un salaire annuel de 26000€ (soit 26000*1.45=37700€ avec les charges patronales) et de 235 jour par an, un coût journalier de 37 700/235 = 160€ par jour<br />
Nous avons travaillé 22 jours à 7h par jour, ce qui nous donne finalement un coût total de 10 560€ pour toute l'équipe pendant notre projet.<br />
<br />
[[File:cocomo-edcampus.JPG|1000px|thumb|center| Cocomo EDCampus]]<br />
<br />
Sur le graphique ci dessus, on peut voir que notre contribution, qui correspond à 930 lignes de codes écrites, nous donne un effort de 2.766 qui correspond au nombre de mois qu'il faudrait pour qu'un seul développeur fasse ce même travail. Il est aussi indiqué que pour ce projet, le modèle COCOMO nous suggère d'être seulement 0.775 personne (colonne STAFFING), soit une personne à 3/4 temps, et que si c'était le cas, cette contribution au projet EDCampus prendrait 3.569 mois (colonne DURATION). Or, nous sommes 3 pour ce projet donc cela nous donne un effort de 2.766/3 = 0.922 mois de travail par personne ce qui est sensiblement le temps que nous avons consacré à ce projet puisqu'il est de 22 jours.<br />
<br />
=Conclusion=<br />
Finalement le projet était enrichissant nous avons pu travailler sur un projet concret et même avoir des retours d'utilisateur sur notre travail. De plus nous avons eu l'occasion de travailler sur des fonctionnalités ''front'' et ''back'' avec des langages que nous n'avions que peu utilisé jusqu'à présent.<br />
<br />
Cependant le projet manque de documentation. De plus le projet ayant eu de nombreux contributeurs il est parfois compliqué de comprendre comment fonctionne le code avec toute les façons différentes de coder.<br />
<br />
=Glossaire=<br />
''Bug'' : Défaut de conception d'un programme informatique à l'origine d'un dysfonctionnement.<br />
<br />
''Back/BackEnd'' : Partie d'un système avec laquelle un utilisateur n'interagis pas directement.<br />
<br />
''Chat'' : Fenêtre de discussion.<br />
<br />
''Front/FrontEnd'' : Partie d'un système avec laquelle un utilisateur interagis.<br />
<br />
''Fullstack'' : Un développeur fullstack travaille sur toute les parties du système.<br />
<br />
''Git'' : Git est un logiciel de gestion de versions décentralisé.<br />
<br />
''Issue'' : Tâche à réaliser lors d’un sprint.<br />
<br />
''Refactorisation'' : réécriture d'un programme pour l’améliorer.<br />
<br />
''Sprint'' : Période de travail définie avec un certain nombre d'issues.<br />
<br />
=Bibliographie=<br />
<br />
[https://platform-edcampus.univ-grenoble-alpes.fr/app/ EDCampus]<br />
<br />
[https://gricad-gitlab.univ-grenoble-alpes.fr/edcampus/edcampus-platform Gitlab EDCampus]<br />
<br />
[https://air.imag.fr/index.php/PROJET-INFO5_2021_Contributions_open_source_au_projet_EdCampus Fiche de suivi]<br />
<br />
[https://air.imag.fr/images/9/96/Flyer_EDCampus.pdf Flyer]<br />
<br />
[https://air.imag.fr/images/0/04/Poster_EDCampus.pdf Poster]<br />
<br />
[https://air.imag.fr/images/8/89/Pitch_EDCampus.pdf Pitch]<br />
<br />
[ Présentation finale]</div>Robin.Delboshttps://air.imag.fr/index.php?title=Projets_2020-2021&diff=50467Projets 2020-20212021-02-04T15:55:04Z<p>Robin.Delbos: </p>
<hr />
<div><<[[Projets 2019-2020]] | [[Projets]] | [[Projets 2021-2022]]>><br />
=INFO=<br />
==INFO3==<br />
<br />
==INFO4==<br />
===Projet Semestre S8===<br />
<br />
Enseignants responsables : Olivier Richard, Didier Donsez<br />
<br />
* Dates : Lundi après-midi, Mardi après-midi <br />
* Lancement: 18 Janvier 2021 après midi<br />
* Soutenance à mi-parcours: A définir<br />
* Soutenance: A définir<br />
<br />
* '''Evaluation à mi-parcours le lundi/mardi ???''': Format: 10min (5min de présentation 3 slides au plus, 5min de discussion). Cette évaluation sera prise en compte dans la note finale.<br />
<br />
'''Consignes générales:'''<br />
<br />
* '''Vous devez être pro-actifs !!!''': Si des points sont pas ou mals spécifiés, vous le faîtes et vous justifiez vos choix. Pour les problèmes techniques éventuels vous pouvez: creuser la question, contacter l'auteur du code si il y a lieu, écrire un rapport de bug ('''Attention:''' ca se prépare !), soumettre un patch/pull request, contacter l'enseignant ou la personne référente du projet.<br />
<br />
* '''Vous devez maintenir une fiche de suivi de projet''': elle doit être mise à jour chaque semaine, elle rassemble les élements essentiels du projet, elle indique les évolutions du projet et présente sa feuille de route. '''Note:''' le nom de la fiche doit être composé du nom du projet et suffixé par info4_2020_2021. '''Cette fiche compte pour la note finale'''<br />
<br />
* '''Votre code''' pour doit être hébergé sur le gitlab et à l'URL suivante https://gricad-gitlab.univ-grenoble-alpes.fr/Projets-INFO4/20-21 , vous utiliserez votre compte UGA.<br />
<br />
* Chaque projet doit avoir '''aux moins 2 dépôts git''':<br />
** '''Un pour les documents''' demandés rapport, présentation de pré-soutenante, de soutenance, flyer. '''Il sera appelé documents.'''<br />
** Un ou plusieurs pour le code, les tests, les évaluations, les preuves de concept, la ou les documentations afférentes. <br />
<br />
* Les '''documents public doivent être rédigés en anglais (README, documentation, commentaires de code, nom de variables et de fonctions)'''. Le *rapport* sera aussi demandé en *anglais* (il fera la taille d'un rapport de TP). Les transparents des présentation peuvent être en anglais ou en francais, la soutenance sera taire en francais.<br />
<br />
* '''La note obtenue''' tiendra compte du '''nombre et de la qualité des commits''' observé dans '''vos dépots git et la branche master''' (or depot documents). La qualité comprend l'intitulé du commit et son contenu. Les notes pourront être différentiées dans un groupe, il n'est pas acceptable de pas avoir de commit dans le(s) dépôt(s) du projet (or dépôt documents).<br />
<br />
* Il est fortement conseillé de suivre un '''développement incrémental''' qui permette d'avoir à tout moment un démonstrateur à présenter, un projet peut être constituer d'une succession de '''démonstrateurs présentables séparément'''.<br />
<br />
* Vous devez faire aussi des '''schémas d'architectures générales et/ou spéficiques, des diagrammes de séquence''', et autre documents de spécification si nécessaire. Ces documents vous serviront de base de discussion/brainstorming interne ainsi que dans vos différents documents (rapport, présentations, documentation). Ces schémas sont avant tout conceptuels et techniques.<br />
<br />
===Propositions de projets S8===<br />
<br />
* 1. [[Contribution au projet STM32Python]], Didier DONSEZ.<br />
* 2. [[Portage du kit station LoRa LRWAN2 de ST sur RIOT OS]], Didier DONSEZ.<br />
* 3+4. [[Portage de la carte de prototypage IoT Nucleo-WL55JC sur RIOT OS]] + [[Portage de la carte de communication LoRa LLCC68MB2BAS sur RIOT OS]], Didier DONSEZ (1 seul groupe de 3 élèves pour les 2 cartes).<br />
* 5. [[Service Web d'équipements embarqués communicant sur bus CAN]] (2 groupes de 2 élèves), Didier DONSEZ.<br />
* 6. [[Application mobile d'enregistrements de noeuds IoT LoRaWAN dans plusieurs réseaux]], Didier DONSEZ.<br />
* 7. [[Evaluation du toolkit AI de STM32 pour l'analyse de l'environnement sonore]], Didier DONSEZ.<br />
* 8. [[Godot Game Engine et tables tactiles]] : démonstration d'un jeu en réseau sur les 3 tables tactiles : (gaming spirit) Olivier RICHARD.<br />
* 9. [[Serveur filière INFO]], Nicolas Palix<br />
* Agriculture connectée en partenariat avec les projets collectifs IESE/MAT<br />
** 10. [[ASAC/AP|Polytech]] : Nicolas Palix<br />
** 11. [[ASAC/SJC|St Cassien]] : Nicolas Palix<br />
* 12. [[ENT Polytech]] avec XMPP/Mumble/BBB/Mattermost/OpenBoard : Nicolas Palix<br />
* 13. [[Polytech Helper Service | Outils d'aide à la gestion de service]], (professionel) Olivier Richard<br />
* 14. [[Rust Engine | Executeur de tâche en Rust]], (exigeant techniquement) Olivier Richard<br />
* 15. [[Retrocompute simulateur | RetroComputing]]: (vintage style) Coupler le simulateur Digital avec un simulateur de processeur 8bits, Olivier Richard<br />
* 16. [[FPGA et Deep Learnning]] Olivier Richard<br />
* 17. [[OpenAPI OAR | OpenAPI pour la gestion de tâches de ressources OAR]], (professionel) Olivier Richard <br />
* 18. [[Monitoring de la plateforme CampusIoT]] : Didier Donsez<br />
<br />
==== Reporté INFO5 21-22 ==== <br />
* 1 heure 1 heure (échange de compétence), etudiant.e.s Emilie Tondeux + ?, tuteur ?<br />
==== Reporté ====<br />
[[Simulateur de réseaux simples avec un FPGA]], (typé recherche/prospectif)<br />
<br />
==== Affectation ====<br />
{|class="wikitable alternance"<br />
|+ Affectation des projets INFO4 20-21<br />
|-<br />
|<br />
!scope="col"| Sujet<br />
!scope="col"| Etudiants<br />
!scope="col"| Enseignant(s)<br />
!scope="col"| Fiche de suivi<br />
!scope="col"| Documents<br />
|-<br />
!scope="row"| 1<br />
| [[TODO]]<br />
| BAUDEUR BERTRAND,LANQUETIN ALEXIS,TONDEUX EMILIE<br />
| TODO<br />
| [https://gricad-gitlab.univ-grenoble-alpes.fr/Projets-INFO4/20-21/01/docs/README.md Fiche]<br />
| [[Media:xxx.pdf|Rapport final]] - [[Media:xxx.pdf|Final Presentation]] - [[Media:xxx.pdf|Flyer]] - [[Media:xxx.pdf|Presentation de mi-parcours]]<br />
|-<br />
!scope="row"| 2<br />
| [[TODO]]<br />
| HERQUE ERIC,MALLEN GUILLAUME,PORTIER BARNAB<br />
| TODO<br />
| [https://gricad-gitlab.univ-grenoble-alpes.fr/Projets-INFO4/20-21/02/docs/README.md Fiche]<br />
| [[Media:xxx.pdf|Rapport final]] - [[Media:xxx.pdf|Final Presentation]] - [[Media:xxx.pdf|Flyer]] - [[Media:xxx.pdf|Presentation de mi-parcours]]<br />
|-<br />
!scope="row"| 5<br />
| [[TODO]]<br />
| ANDRIEUX LIAM,DREZET LUCAS,REGOUIN ROMA<br />
| TODO<br />
| [https://gricad-gitlab.univ-grenoble-alpes.fr/Projets-INFO4/20-21/05/docs/README.md Fiche]<br />
| [[Media:xxx.pdf|Rapport final]] - [[Media:xxx.pdf|Final Presentation]] - [[Media:xxx.pdf|Flyer]] - [[Media:xxx.pdf|Presentation de mi-parcours]]<br />
|-<br />
!scope="row"| 6<br />
| [[TODO]]<br />
| CAMBUS QUENTIN,EL YANDOUZI ELIAS,JULIENNE MALON<br />
| TODO<br />
| [https://gricad-gitlab.univ-grenoble-alpes.fr/Projets-INFO4/20-21/06/docs/README.md Fiche]<br />
| [[Media:xxx.pdf|Rapport final]] - [[Media:xxx.pdf|Final Presentation]] - [[Media:xxx.pdf|Flyer]] - [[Media:xxx.pdf|Presentation de mi-parcours]]<br />
|-<br />
!scope="row"| 7<br />
| [[TODO]]<br />
| COSOTTI KEVIN,GRANGER OSCAR,GUIGNARD JULIE<br />
| TODO<br />
| [https://gricad-gitlab.univ-grenoble-alpes.fr/Projets-INFO4/20-21/07/docs/README.md Fiche]<br />
| [[Media:xxx.pdf|Rapport final]] - [[Media:xxx.pdf|Final Presentation]] - [[Media:xxx.pdf|Flyer]] - [[Media:xxx.pdf|Presentation de mi-parcours]]<br />
|-<br />
!scope="row"| 8<br />
| [[Godot Game Engine et tables tactiles|Sujet]]<br />
| CIRSTEA PAUL,DE MULATIER JEAN-THEOPHANE,SOULARD ALEXANDR<br />
| Olivier Richard<br />
| [https://gricad-gitlab.univ-grenoble-alpes.fr/Projets-INFO4/20-21/08/docs/README.md Fiche]<br />
| [[Media:xxx.pdf|Rapport final]] - [[Media:xxx.pdf|Final Presentation]] - [[Media:xxx.pdf|Flyer]] - [[Media:xxx.pdf|Presentation de mi-parcours]]<br />
|-<br />
!scope="row"| 9<br />
| [[Serveur_filière_INFO|Sujet]]<br />
| GITTON ANTOINE,MERTENS GILLES,SUEUR CORENTIN<br />
| Nicolas Palix<br />
| [https://gricad-gitlab.univ-grenoble-alpes.fr/Projets-INFO4/20-21/09/docs/README.md Fiche]<br />
| [[Media:xxx.pdf|Rapport final]] - [[Media:xxx.pdf|Final Presentation]] - [[Media:xxx.pdf|Flyer]] - [[Media:xxx.pdf|Presentation de mi-parcours]]<br />
|-<br />
!scope="row"| 10<br />
| [[ASAC/AP|Sujet]]<br />
| AGUIAR MATHILDE,HAJJI OUMAIMA,SIDIBE ROKIATOU DITE ROSE<br />
| Nicolas Palix<br />
| [https://gricad-gitlab.univ-grenoble-alpes.fr/Projets-INFO4/20-21/10/docs/README.md Fiche]<br />
| [[Media:xxx.pdf|Rapport final]] - [[Media:xxx.pdf|Final Presentation]] - [[Media:xxx.pdf|Flyer]] - [[Media:xxx.pdf|Presentation de mi-parcours]]<br />
|-<br />
!scope="row"| 11<br />
| [[TODO]]<br />
| BUISINE JULIEN,PRAT-CAPILLA HUGO,TEYSSIER THEO<br />
| TODO<br />
| [https://gricad-gitlab.univ-grenoble-alpes.fr/Projets-INFO4/20-21/11/docs/README.md Fiche]<br />
| [[Media:xxx.pdf|Rapport final]] - [[Media:xxx.pdf|Final Presentation]] - [[Media:xxx.pdf|Flyer]] - [[Media:xxx.pdf|Presentation de mi-parcours]]<br />
|-<br />
!scope="row"| 12<br />
| [[TODO]]<br />
| HERY JULES,SALMON AMAD,VACHERIAS GUILLAUME<br />
| TODO<br />
| [https://gricad-gitlab.univ-grenoble-alpes.fr/Projets-INFO4/20-21/12/docs/README.md Fiche]<br />
| [[Media:xxx.pdf|Rapport final]] - [[Media:xxx.pdf|Final Presentation]] - [[Media:xxx.pdf|Flyer]] - [[Media:xxx.pdf|Presentation de mi-parcours]]<br />
|-<br />
!scope="row"| 13<br />
| [[Polytech_Helper_Service|Polytech Helper Service]]<br />
| ALIBERT ANGELO,NOERIE SOPHIE,SARRE MARGAUX<br />
| Olivier Richard<br />
| [https://gricad-gitlab.univ-grenoble-alpes.fr/Projets-INFO4/20-21/13/docs/ Fiche]<br />
| [[Media:xxx.pdf|Rapport final]] - [[Media:xxx.pdf|Final Presentation]] - [[Media:xxx.pdf|Flyer]] - [[Media:xxx.pdf|Presentation de mi-parcours]]<br />
|-<br />
!scope="row"| 14<br />
| [[Rust Engine|Rust Engine]]<br />
| BARET DORIAN,CHALOYARD LUCAS,MALOD VICTOR,PARA YAEL<br />
| Olivier Richard<br />
| [https://gricad-gitlab.univ-grenoble-alpes.fr/Projets-INFO4/20-21/14/docs/-/blob/master/tracking-sheet.md Fiche]<br />
| [[Media:xxx.pdf|Rapport final]] - [[Media:xxx.pdf|Final Presentation]] - [[Media:xxx.pdf|Flyer]] - [[Media:xxx.pdf|Presentation de mi-parcours]]<br />
|-<br />
!scope="row"| 15<br />
| [[TODO]]<br />
| ELHADJI TCHIAMBOU SAMI,HUMBERT CORENTIN,MUTEL MATHIS<br />
| TODO<br />
| [https://gricad-gitlab.univ-grenoble-alpes.fr/Projets-INFO4/20-21/15/docs/README.md Fiche]<br />
| [[Media:xxx.pdf|Rapport final]] - [[Media:xxx.pdf|Final Presentation]] - [[Media:xxx.pdf|Flyer]] - [[Media:xxx.pdf|Presentation de mi-parcours]]<br />
|-<br />
!scope="row"| 16<br />
| [[FPGA et Deep Learning]]<br />
| GEITNER TEVA,GONZALEZ JULES,MALECOT ETHAN<br />
| Olivier Richard<br />
| [https://gricad-gitlab.univ-grenoble-alpes.fr/Projets-INFO4/20-21/16/docs/-/blob/master/FPGA_info4_2020_2021.md Fiche]<br />
| [[Media:xxx.pdf|Rapport final]] - [[Media:xxx.pdf|Final Presentation]] - [[Media:xxx.pdf|Flyer]] - [[Media:xxx.pdf|Presentation de mi-parcours]]<br />
|-<br />
!scope="row"| 17<br />
| [[OpenAPI OAR]]<br />
| LAMBERT DAPHNE,MINIER-MANCINI TITOUAN,TOUE TIOYE<br />
| Olivier Richard<br />
| [https://gricad-gitlab.univ-grenoble-alpes.fr/Projets-INFO4/20-21/17/docs/-/blob/master/TRACKING_SHEET.md Fiche]<br />
| [[Media:xxx.pdf|Rapport final]] - [[Media:xxx.pdf|Final Presentation]] - [[Media:xxx.pdf|Flyer]] - [[Media:xxx.pdf|Presentation de mi-parcours]]<br />
|-<br />
!scope="row"| 18<br />
| [[Monitoring de la plateforme CampusIoT]]<br />
| BLANQUET ANTOINE,LAMBERT PAUL,YUNG KEVIN<br />
| Didier Donsez<br />
| [https://gricad-gitlab.univ-grenoble-alpes.fr/Projets-INFO4/20-21/18/docs/-/blob/master/README.md Fiche]<br />
| [[Media:xxx.pdf|Rapport final]] - [[Media:xxx.pdf|Final Presentation]] - [[Media:xxx.pdf|Flyer]] - [[Media:xxx.pdf|Presentation de mi-parcours]]<br />
|-<br />
|}<br />
<br />
==INFO5==<br />
===Projet IoT S9===<br />
Enseignants responsables : Bernard Tourancheau<br />
<br />
Calendrier: ??? Septembre à ??? Décembre 2020.<br />
<br />
<br />
===Projet Semestre S10===<br />
<br />
Enseignants responsables : [[user:Donsez|Didier Donsez]]<br />
<br />
Calendrier: 28/01 (13H30-17H30) au 19/03.<br />
<br />
Séances de Management de projets innovants: A voir dessus.<br />
<br />
Réunion de présentation et choix des sujets: 28/01 (13H30-17H30) en salle P257 (voir ADE)<br />
<br />
Démarrage : 29/01 (13H30-17H30)<br />
<br />
Soutenance à mi-parcours : 26/02/2021 13H30-17H30 en distantiel (15 minutes par équipe).<br />
<br />
Soutenance finale : 19/03/2021 (8H30-12H00 et 13H30-17H00). 30 minutes par équipe, questions/réponses et démonstration incluse. Prière de rapporter au fablab le matériel emprunté juste après votre soutenance. <br />
<br />
====Séances MPI====<br />
<br />
Les séances MPI seront en distanciel (mais ADE fait foi).<br />
<br />
<pre><br />
Séance Thématique Date Horaires Intervenante Salle<br />
1 Définir la problématique 03-févr. 14h-18h Stéphanie Diligent distanciel<br />
2 Gérer le projet en restant agile 10-févr. 8h30 - 12h30 Stéphanie Diligent distanciel<br />
3 Communiquer 24-févr. 8h30 - 12h30 Emmanuelle Tréhoust distanciel<br />
4 Evaluer et valoriser 03-mars 8h30 - 12h30 Emmanuelle Tréhoust distanciel<br />
5 Evaluation 10-mars 8h30 - 12h30 Stéphanie Diligent distanciel<br />
</pre><br />
<br />
==== Affectations S10====<br />
{|class="wikitable alternance"<br />
|+ Affectation des projets INFO5 2020-2021<br />
|-<br />
|<br />
!scope="col"| Sujet<br />
!scope="col"| Etudiants<br />
!scope="col"| Enseignant(s)<br />
!scope="col"| Fiche de suivi<br />
!scope="col"| Documents<br />
!scope="col"| Dépôt Git<br />
!scope="col"| Soutenance intermédiaire<br />
|-<br />
!scope="row"| 1<br />
| [[Infrastructure de communication interne au cubesat ATISE du CSUG | ATISE]]<br />
| Alexandre SALMON, Myriam LOMBARD, Killian PAREILLEUX, Adrien ARTAUD<br />
| Imane El-Khantouti (CSUG, UGA), Frédéric Martin (CSUG, UGA)<br />
| [[PROJET-INFO5 2021 ATISE| Fiche de suivi]]<br />
| [https://air.imag.fr/index.php/Infrastructure_de_communication_interne_au_cubesat_ATISE_du_CSUG Documents], Flyer, Poster, Pitch, Screencast<br />
| Dépôt Git (privé ou public)<br />
| 13H30, [[Media:Presentation_Intermediaire_INFO5_ProjetS10_groupe_1.pdf|Présentation]]<br />
|-<br />
!scope="row"| 2<br />
| [[Wildcount:_Inexpensive_Edge_sensor_for_recognizing_and_counting_the_presence_of_humans_(anonymous)_and_animals_into_wild_and_protected_areas.|Wildcount]]<br />
| BEAUGRAND Elisa, DE GAUDENZI Louis, GRAUGNARD Tom, ROLLIN Alexis<br />
| DONSEZ Didier, QUENOT Georges<br />
| [[PROJET-INFO5 2021 Wildcount | Fiche de suivi]]<br />
| [https://air.imag.fr/index.php/Wildcount:_Inexpensive_Edge_sensor_for_recognizing_and_counting_the_presence_of_humans_(anonymous)_and_animals_into_wild_and_protected_areas. Documents], Flyer, Poster, Pitch, Screencast<br />
| Dépôt Git (privé ou public)<br />
| 13H45, [[Media:Presentation_Intermediaire_INFO5_ProjetS10_groupe_2.pdf|Présentation]]<br />
|-<br />
!scope="row"| 5<br />
| [[Signature électronique eIDAS|eIDAS]]<br />
| ASSI Dima, BILOUNGA Aleck, EL AJI Houda, ZERAMDINI Otba<br />
| Nicolas PALIX<br />
| [[PROJET-INFO5 2021 Signature électronique eIDAS| Fiche de suivi]]<br />
| [https://air.imag.fr/index.php/Signature_%C3%A9lectronique_eIDAS Documents], Flyer, Poster, Pitch, Screencast<br />
| Dépôt Git (privé ou public)<br />
| 14H00, [[Media:Presentation_Intermediaire_INFO5_ProjetS10_groupe_5.pdf|Présentation]]<br />
|-<br />
<br />
!scope="row"| 6<br />
| [[Contributions open source au projet EdCampus|EdCampus]]<br />
| COURTHIAL Samuel, FOUGERE Sebastien, DELBOS Robin<br />
| POLLIER Gérard, GEOURJON Anthony, DONSEZ Didier<br />
| [[PROJET-INFO5 2021 Contributions open source au projet EdCampus| Fiche de suivi]]<br />
| [https://air.imag.fr/index.php/Contributions_open_source_au_projet_EdCampus Documents], Flyer, Poster, Pitch, Screencast<br />
| [https://gricad-gitlab.univ-grenoble-alpes.fr/edcampus Dépôt GitLab]<br />
| 14H15, [[Media:Presentation_Intermediaire_INFO5_ProjetS10_groupe_6.pdf|Présentation]]<br />
|-<br />
<br />
!scope="row"| 8<br />
| [[Prototypage d'application mobile pour la vente en direct de produits producteur locaux]]<br />
| BOLEAT Baptiste, CHAIX Manon, MICHELARD Leila, PALOMO Rémy<br />
| DELANGUE Sylvain, Gérard POLLIER (Disrupt Campus)<br />
| [[PROJET-INFO5 2021 Go Farmer | Fiche de suivi]]<br />
| [], Flyer, Poster, Pitch, Screencast<br />
| Dépôt Git (privé ou public)<br />
| 14H30, [[Media:Presentation_Intermediaire_INFO5_ProjetS10_groupe_8.pdf|Présentation]]<br />
|-<br />
!scope="row"| 9<br />
| [[Secours Montagne avec LoRa|LoRa-valanche]]<br />
| CHATON Alexandra, FRION Thomas, PASDELOUP Romain<br />
| TOURANCHEAU Bernard<br />
| [[PROJET-INFO5 2021 Secours Montagne avec LoRa | Fiche de suivi]]<br />
| [https://gitlab.com/wildcount Documents], Flyer, Poster, Pitch, Screencast<br />
| Dépôt Git (privé ou public)<br />
| 15H00, [[Media:Presentation_Intermediaire_INFO5_ProjetS10_groupe_9.pdf|Présentation]]<br />
|-<br />
!scope="row"| 10<br />
| [[GenderedNews|GenderedNews]]<br />
| HO Nhat Quang, MURPHY Mica, NGUENA Gloria, SAGET Antoine<br />
| PORTET François, BASTIN Gilles<br />
| [[PROJET-INFO5 2021 GenderedNews | Fiche de suivi]]<br />
| [https://air.imag.fr/index.php/GenderedNews Documents], Flyer, Poster, Pitch, Screencast<br />
| Dépôt Git (privé ou public)<br />
| 15H15, [[Media:Presentation_Intermediaire_INFO5_ProjetS10_groupe_10.pdf|Présentation]]<br />
|-<br />
!scope="row"| 11<br />
| [[Réseaux social d'organisation de sortie|Réseaux social d'organisation de sortie]]<br />
| EL JRAIDI Rim, VERNET Maxime, SAJIDE Idriss, MANISSADJIAN Gabriel<br />
| RICHARD Olivier<br />
| [[PROJET-INFO5 2021 Réseaux social d'organisation de sortie | Fiche de suivi]]<br />
| [https://air.imag.fr/index.php/R%C3%A9seaux_social_d%27organisation_de_sortie Documents], Flyer, Poster, Pitch, Screencast<br />
| Dépôt Git (privé ou public)<br />
| 15H30, [[Media:Presentation_Intermediaire_INFO5_ProjetS10_groupe_11.pdf|Présentation]]<br />
|-<br />
!scope="row"| 13<br />
| [[Artiphonie (saison 2)|Artiphonie (saison 2)]]<br />
| CROCIATI Morgan, RIVAL Gaëtan, RUZAFA Rémy, VELUT Claire <br />
| Bastien De Araujo, Guillaume Denis, Estelle Gillet-Perret et Olivier Richard<br />
| [[PROJET-INFO5 2021 Artiphonie (saison 2) | Fiche de suivi]]<br />
| [https://air.imag.fr/index.php/Artiphonie_(saison_2) Documents], Flyer, Poster, Screencast<br />
| Dépôt Git (privé ou public)<br />
| 15H45, [[Media:Presentation_Intermediaire_INFO5_ProjetS10_groupe_13.pdf|Présentation]]<br />
|-<br />
|scope="row"| 14<br />
| [[Covoiturage solidaire avec borne d'appel|Covoiturage solidaire avec borne d'appel]]<br />
| EL MUFTI Ali, NELSON William<br />
| Christine Verdier, Fabrice Forest (Didier Donsez pour le support technique borne d'appel).<br />
| [[PROJET-INFO5 2021 Covoiturage solidaire avec borne d'appel| Fiche de suivi]]<br />
| [https://air.imag.fr/index.php/Covoiturage_solidaire_avec_borne_d%27appel Documents], Flyer, Poster, Pitch, Screencast<br />
| Dépôt Git (privé ou public)<br />
| 16H00, [[Media:Presentation_Intermediaire_INFO5_ProjetS10_groupe_14.pdf|Présentation]]<br />
|}<br />
<br />
====Projets non choisis====<br />
* [[LoRaWAN Roaming]] avec [[Chirpstack]] et [[TheThingStack]]: Didier Donsez, Bernard Tourancheau.<br />
* [[Contributions open-source au projet JHipster]] : Didier Donsez<br />
* [[Test d'infrastructures avec NixOS]] Olivier Richard et Quentin Guilloteau</div>Robin.Delboshttps://air.imag.fr/index.php?title=Projets_2020-2021&diff=50466Projets 2020-20212021-02-04T15:54:16Z<p>Robin.Delbos: </p>
<hr />
<div><<[[Projets 2019-2020]] | [[Projets]] | [[Projets 2021-2022]]>><br />
=INFO=<br />
==INFO3==<br />
<br />
==INFO4==<br />
===Projet Semestre S8===<br />
<br />
Enseignants responsables : Olivier Richard, Didier Donsez<br />
<br />
* Dates : Lundi après-midi, Mardi après-midi <br />
* Lancement: 18 Janvier 2021 après midi<br />
* Soutenance à mi-parcours: A définir<br />
* Soutenance: A définir<br />
<br />
* '''Evaluation à mi-parcours le lundi/mardi ???''': Format: 10min (5min de présentation 3 slides au plus, 5min de discussion). Cette évaluation sera prise en compte dans la note finale.<br />
<br />
'''Consignes générales:'''<br />
<br />
* '''Vous devez être pro-actifs !!!''': Si des points sont pas ou mals spécifiés, vous le faîtes et vous justifiez vos choix. Pour les problèmes techniques éventuels vous pouvez: creuser la question, contacter l'auteur du code si il y a lieu, écrire un rapport de bug ('''Attention:''' ca se prépare !), soumettre un patch/pull request, contacter l'enseignant ou la personne référente du projet.<br />
<br />
* '''Vous devez maintenir une fiche de suivi de projet''': elle doit être mise à jour chaque semaine, elle rassemble les élements essentiels du projet, elle indique les évolutions du projet et présente sa feuille de route. '''Note:''' le nom de la fiche doit être composé du nom du projet et suffixé par info4_2020_2021. '''Cette fiche compte pour la note finale'''<br />
<br />
* '''Votre code''' pour doit être hébergé sur le gitlab et à l'URL suivante https://gricad-gitlab.univ-grenoble-alpes.fr/Projets-INFO4/20-21 , vous utiliserez votre compte UGA.<br />
<br />
* Chaque projet doit avoir '''aux moins 2 dépôts git''':<br />
** '''Un pour les documents''' demandés rapport, présentation de pré-soutenante, de soutenance, flyer. '''Il sera appelé documents.'''<br />
** Un ou plusieurs pour le code, les tests, les évaluations, les preuves de concept, la ou les documentations afférentes. <br />
<br />
* Les '''documents public doivent être rédigés en anglais (README, documentation, commentaires de code, nom de variables et de fonctions)'''. Le *rapport* sera aussi demandé en *anglais* (il fera la taille d'un rapport de TP). Les transparents des présentation peuvent être en anglais ou en francais, la soutenance sera taire en francais.<br />
<br />
* '''La note obtenue''' tiendra compte du '''nombre et de la qualité des commits''' observé dans '''vos dépots git et la branche master''' (or depot documents). La qualité comprend l'intitulé du commit et son contenu. Les notes pourront être différentiées dans un groupe, il n'est pas acceptable de pas avoir de commit dans le(s) dépôt(s) du projet (or dépôt documents).<br />
<br />
* Il est fortement conseillé de suivre un '''développement incrémental''' qui permette d'avoir à tout moment un démonstrateur à présenter, un projet peut être constituer d'une succession de '''démonstrateurs présentables séparément'''.<br />
<br />
* Vous devez faire aussi des '''schémas d'architectures générales et/ou spéficiques, des diagrammes de séquence''', et autre documents de spécification si nécessaire. Ces documents vous serviront de base de discussion/brainstorming interne ainsi que dans vos différents documents (rapport, présentations, documentation). Ces schémas sont avant tout conceptuels et techniques.<br />
<br />
===Propositions de projets S8===<br />
<br />
* 1. [[Contribution au projet STM32Python]], Didier DONSEZ.<br />
* 2. [[Portage du kit station LoRa LRWAN2 de ST sur RIOT OS]], Didier DONSEZ.<br />
* 3+4. [[Portage de la carte de prototypage IoT Nucleo-WL55JC sur RIOT OS]] + [[Portage de la carte de communication LoRa LLCC68MB2BAS sur RIOT OS]], Didier DONSEZ (1 seul groupe de 3 élèves pour les 2 cartes).<br />
* 5. [[Service Web d'équipements embarqués communicant sur bus CAN]] (2 groupes de 2 élèves), Didier DONSEZ.<br />
* 6. [[Application mobile d'enregistrements de noeuds IoT LoRaWAN dans plusieurs réseaux]], Didier DONSEZ.<br />
* 7. [[Evaluation du toolkit AI de STM32 pour l'analyse de l'environnement sonore]], Didier DONSEZ.<br />
* 8. [[Godot Game Engine et tables tactiles]] : démonstration d'un jeu en réseau sur les 3 tables tactiles : (gaming spirit) Olivier RICHARD.<br />
* 9. [[Serveur filière INFO]], Nicolas Palix<br />
* Agriculture connectée en partenariat avec les projets collectifs IESE/MAT<br />
** 10. [[ASAC/AP|Polytech]] : Nicolas Palix<br />
** 11. [[ASAC/SJC|St Cassien]] : Nicolas Palix<br />
* 12. [[ENT Polytech]] avec XMPP/Mumble/BBB/Mattermost/OpenBoard : Nicolas Palix<br />
* 13. [[Polytech Helper Service | Outils d'aide à la gestion de service]], (professionel) Olivier Richard<br />
* 14. [[Rust Engine | Executeur de tâche en Rust]], (exigeant techniquement) Olivier Richard<br />
* 15. [[Retrocompute simulateur | RetroComputing]]: (vintage style) Coupler le simulateur Digital avec un simulateur de processeur 8bits, Olivier Richard<br />
* 16. [[FPGA et Deep Learnning]] Olivier Richard<br />
* 17. [[OpenAPI OAR | OpenAPI pour la gestion de tâches de ressources OAR]], (professionel) Olivier Richard <br />
* 18. [[Monitoring de la plateforme CampusIoT]] : Didier Donsez<br />
<br />
==== Reporté INFO5 21-22 ==== <br />
* 1 heure 1 heure (échange de compétence), etudiant.e.s Emilie Tondeux + ?, tuteur ?<br />
==== Reporté ====<br />
[[Simulateur de réseaux simples avec un FPGA]], (typé recherche/prospectif)<br />
<br />
==== Affectation ====<br />
{|class="wikitable alternance"<br />
|+ Affectation des projets INFO4 20-21<br />
|-<br />
|<br />
!scope="col"| Sujet<br />
!scope="col"| Etudiants<br />
!scope="col"| Enseignant(s)<br />
!scope="col"| Fiche de suivi<br />
!scope="col"| Documents<br />
|-<br />
!scope="row"| 1<br />
| [[TODO]]<br />
| BAUDEUR BERTRAND,LANQUETIN ALEXIS,TONDEUX EMILIE<br />
| TODO<br />
| [https://gricad-gitlab.univ-grenoble-alpes.fr/Projets-INFO4/20-21/01/docs/README.md Fiche]<br />
| [[Media:xxx.pdf|Rapport final]] - [[Media:xxx.pdf|Final Presentation]] - [[Media:xxx.pdf|Flyer]] - [[Media:xxx.pdf|Presentation de mi-parcours]]<br />
|-<br />
!scope="row"| 2<br />
| [[TODO]]<br />
| HERQUE ERIC,MALLEN GUILLAUME,PORTIER BARNAB<br />
| TODO<br />
| [https://gricad-gitlab.univ-grenoble-alpes.fr/Projets-INFO4/20-21/02/docs/README.md Fiche]<br />
| [[Media:xxx.pdf|Rapport final]] - [[Media:xxx.pdf|Final Presentation]] - [[Media:xxx.pdf|Flyer]] - [[Media:xxx.pdf|Presentation de mi-parcours]]<br />
|-<br />
!scope="row"| 5<br />
| [[TODO]]<br />
| ANDRIEUX LIAM,DREZET LUCAS,REGOUIN ROMA<br />
| TODO<br />
| [https://gricad-gitlab.univ-grenoble-alpes.fr/Projets-INFO4/20-21/05/docs/README.md Fiche]<br />
| [[Media:xxx.pdf|Rapport final]] - [[Media:xxx.pdf|Final Presentation]] - [[Media:xxx.pdf|Flyer]] - [[Media:xxx.pdf|Presentation de mi-parcours]]<br />
|-<br />
!scope="row"| 6<br />
| [[TODO]]<br />
| CAMBUS QUENTIN,EL YANDOUZI ELIAS,JULIENNE MALON<br />
| TODO<br />
| [https://gricad-gitlab.univ-grenoble-alpes.fr/Projets-INFO4/20-21/06/docs/README.md Fiche]<br />
| [[Media:xxx.pdf|Rapport final]] - [[Media:xxx.pdf|Final Presentation]] - [[Media:xxx.pdf|Flyer]] - [[Media:xxx.pdf|Presentation de mi-parcours]]<br />
|-<br />
!scope="row"| 7<br />
| [[TODO]]<br />
| COSOTTI KEVIN,GRANGER OSCAR,GUIGNARD JULIE<br />
| TODO<br />
| [https://gricad-gitlab.univ-grenoble-alpes.fr/Projets-INFO4/20-21/07/docs/README.md Fiche]<br />
| [[Media:xxx.pdf|Rapport final]] - [[Media:xxx.pdf|Final Presentation]] - [[Media:xxx.pdf|Flyer]] - [[Media:xxx.pdf|Presentation de mi-parcours]]<br />
|-<br />
!scope="row"| 8<br />
| [[Godot Game Engine et tables tactiles|Sujet]]<br />
| CIRSTEA PAUL,DE MULATIER JEAN-THEOPHANE,SOULARD ALEXANDR<br />
| Olivier Richard<br />
| [https://gricad-gitlab.univ-grenoble-alpes.fr/Projets-INFO4/20-21/08/docs/README.md Fiche]<br />
| [[Media:xxx.pdf|Rapport final]] - [[Media:xxx.pdf|Final Presentation]] - [[Media:xxx.pdf|Flyer]] - [[Media:xxx.pdf|Presentation de mi-parcours]]<br />
|-<br />
!scope="row"| 9<br />
| [[Serveur_filière_INFO|Sujet]]<br />
| GITTON ANTOINE,MERTENS GILLES,SUEUR CORENTIN<br />
| Nicolas Palix<br />
| [https://gricad-gitlab.univ-grenoble-alpes.fr/Projets-INFO4/20-21/09/docs/README.md Fiche]<br />
| [[Media:xxx.pdf|Rapport final]] - [[Media:xxx.pdf|Final Presentation]] - [[Media:xxx.pdf|Flyer]] - [[Media:xxx.pdf|Presentation de mi-parcours]]<br />
|-<br />
!scope="row"| 10<br />
| [[ASAC/AP|Sujet]]<br />
| AGUIAR MATHILDE,HAJJI OUMAIMA,SIDIBE ROKIATOU DITE ROSE<br />
| Nicolas Palix<br />
| [https://gricad-gitlab.univ-grenoble-alpes.fr/Projets-INFO4/20-21/10/docs/README.md Fiche]<br />
| [[Media:xxx.pdf|Rapport final]] - [[Media:xxx.pdf|Final Presentation]] - [[Media:xxx.pdf|Flyer]] - [[Media:xxx.pdf|Presentation de mi-parcours]]<br />
|-<br />
!scope="row"| 11<br />
| [[TODO]]<br />
| BUISINE JULIEN,PRAT-CAPILLA HUGO,TEYSSIER THEO<br />
| TODO<br />
| [https://gricad-gitlab.univ-grenoble-alpes.fr/Projets-INFO4/20-21/11/docs/README.md Fiche]<br />
| [[Media:xxx.pdf|Rapport final]] - [[Media:xxx.pdf|Final Presentation]] - [[Media:xxx.pdf|Flyer]] - [[Media:xxx.pdf|Presentation de mi-parcours]]<br />
|-<br />
!scope="row"| 12<br />
| [[TODO]]<br />
| HERY JULES,SALMON AMAD,VACHERIAS GUILLAUME<br />
| TODO<br />
| [https://gricad-gitlab.univ-grenoble-alpes.fr/Projets-INFO4/20-21/12/docs/README.md Fiche]<br />
| [[Media:xxx.pdf|Rapport final]] - [[Media:xxx.pdf|Final Presentation]] - [[Media:xxx.pdf|Flyer]] - [[Media:xxx.pdf|Presentation de mi-parcours]]<br />
|-<br />
!scope="row"| 13<br />
| [[Polytech_Helper_Service|Polytech Helper Service]]<br />
| ALIBERT ANGELO,NOERIE SOPHIE,SARRE MARGAUX<br />
| Olivier Richard<br />
| [https://gricad-gitlab.univ-grenoble-alpes.fr/Projets-INFO4/20-21/13/docs/ Fiche]<br />
| [[Media:xxx.pdf|Rapport final]] - [[Media:xxx.pdf|Final Presentation]] - [[Media:xxx.pdf|Flyer]] - [[Media:xxx.pdf|Presentation de mi-parcours]]<br />
|-<br />
!scope="row"| 14<br />
| [[Rust Engine|Rust Engine]]<br />
| BARET DORIAN,CHALOYARD LUCAS,MALOD VICTOR,PARA YAEL<br />
| Olivier Richard<br />
| [https://gricad-gitlab.univ-grenoble-alpes.fr/Projets-INFO4/20-21/14/docs/-/blob/master/tracking-sheet.md Fiche]<br />
| [[Media:xxx.pdf|Rapport final]] - [[Media:xxx.pdf|Final Presentation]] - [[Media:xxx.pdf|Flyer]] - [[Media:xxx.pdf|Presentation de mi-parcours]]<br />
|-<br />
!scope="row"| 15<br />
| [[TODO]]<br />
| ELHADJI TCHIAMBOU SAMI,HUMBERT CORENTIN,MUTEL MATHIS<br />
| TODO<br />
| [https://gricad-gitlab.univ-grenoble-alpes.fr/Projets-INFO4/20-21/15/docs/README.md Fiche]<br />
| [[Media:xxx.pdf|Rapport final]] - [[Media:xxx.pdf|Final Presentation]] - [[Media:xxx.pdf|Flyer]] - [[Media:xxx.pdf|Presentation de mi-parcours]]<br />
|-<br />
!scope="row"| 16<br />
| [[FPGA et Deep Learning]]<br />
| GEITNER TEVA,GONZALEZ JULES,MALECOT ETHAN<br />
| Olivier Richard<br />
| [https://gricad-gitlab.univ-grenoble-alpes.fr/Projets-INFO4/20-21/16/docs/-/blob/master/FPGA_info4_2020_2021.md Fiche]<br />
| [[Media:xxx.pdf|Rapport final]] - [[Media:xxx.pdf|Final Presentation]] - [[Media:xxx.pdf|Flyer]] - [[Media:xxx.pdf|Presentation de mi-parcours]]<br />
|-<br />
!scope="row"| 17<br />
| [[OpenAPI OAR]]<br />
| LAMBERT DAPHNE,MINIER-MANCINI TITOUAN,TOUE TIOYE<br />
| Olivier Richard<br />
| [https://gricad-gitlab.univ-grenoble-alpes.fr/Projets-INFO4/20-21/17/docs/-/blob/master/TRACKING_SHEET.md Fiche]<br />
| [[Media:xxx.pdf|Rapport final]] - [[Media:xxx.pdf|Final Presentation]] - [[Media:xxx.pdf|Flyer]] - [[Media:xxx.pdf|Presentation de mi-parcours]]<br />
|-<br />
!scope="row"| 18<br />
| [[Monitoring de la plateforme CampusIoT]]<br />
| BLANQUET ANTOINE,LAMBERT PAUL,YUNG KEVIN<br />
| Didier Donsez<br />
| [https://gricad-gitlab.univ-grenoble-alpes.fr/Projets-INFO4/20-21/18/docs/-/blob/master/README.md Fiche]<br />
| [[Media:xxx.pdf|Rapport final]] - [[Media:xxx.pdf|Final Presentation]] - [[Media:xxx.pdf|Flyer]] - [[Media:xxx.pdf|Presentation de mi-parcours]]<br />
|-<br />
|}<br />
<br />
==INFO5==<br />
===Projet IoT S9===<br />
Enseignants responsables : Bernard Tourancheau<br />
<br />
Calendrier: ??? Septembre à ??? Décembre 2020.<br />
<br />
<br />
===Projet Semestre S10===<br />
<br />
Enseignants responsables : [[user:Donsez|Didier Donsez]]<br />
<br />
Calendrier: 28/01 (13H30-17H30) au 19/03.<br />
<br />
Séances de Management de projets innovants: A voir dessus.<br />
<br />
Réunion de présentation et choix des sujets: 28/01 (13H30-17H30) en salle P257 (voir ADE)<br />
<br />
Démarrage : 29/01 (13H30-17H30)<br />
<br />
Soutenance à mi-parcours : 26/02/2021 13H30-17H30 en distantiel (15 minutes par équipe).<br />
<br />
Soutenance finale : 19/03/2021 (8H30-12H00 et 13H30-17H00). 30 minutes par équipe, questions/réponses et démonstration incluse. Prière de rapporter au fablab le matériel emprunté juste après votre soutenance. <br />
<br />
====Séances MPI====<br />
<br />
Les séances MPI seront en distanciel (mais ADE fait foi).<br />
<br />
<pre><br />
Séance Thématique Date Horaires Intervenante Salle<br />
1 Définir la problématique 03-févr. 14h-18h Stéphanie Diligent distanciel<br />
2 Gérer le projet en restant agile 10-févr. 8h30 - 12h30 Stéphanie Diligent distanciel<br />
3 Communiquer 24-févr. 8h30 - 12h30 Emmanuelle Tréhoust distanciel<br />
4 Evaluer et valoriser 03-mars 8h30 - 12h30 Emmanuelle Tréhoust distanciel<br />
5 Evaluation 10-mars 8h30 - 12h30 Stéphanie Diligent distanciel<br />
</pre><br />
<br />
==== Affectations S10====<br />
{|class="wikitable alternance"<br />
|+ Affectation des projets INFO5 2020-2021<br />
|-<br />
|<br />
!scope="col"| Sujet<br />
!scope="col"| Etudiants<br />
!scope="col"| Enseignant(s)<br />
!scope="col"| Fiche de suivi<br />
!scope="col"| Documents<br />
!scope="col"| Dépôt Git<br />
!scope="col"| Soutenance intermédiaire<br />
|-<br />
!scope="row"| 1<br />
| [[Infrastructure de communication interne au cubesat ATISE du CSUG | ATISE]]<br />
| Alexandre SALMON, Myriam LOMBARD, Killian PAREILLEUX, Adrien ARTAUD<br />
| Imane El-Khantouti (CSUG, UGA), Frédéric Martin (CSUG, UGA)<br />
| [[PROJET-INFO5 2021 ATISE| Fiche de suivi]]<br />
| [https://air.imag.fr/index.php/Infrastructure_de_communication_interne_au_cubesat_ATISE_du_CSUG Documents], Flyer, Poster, Pitch, Screencast<br />
| Dépôt Git (privé ou public)<br />
| 13H30, [[Media:Presentation_Intermediaire_INFO5_ProjetS10_groupe_1.pdf|Présentation]]<br />
|-<br />
!scope="row"| 2<br />
| [[Wildcount:_Inexpensive_Edge_sensor_for_recognizing_and_counting_the_presence_of_humans_(anonymous)_and_animals_into_wild_and_protected_areas.|Wildcount]]<br />
| BEAUGRAND Elisa, DE GAUDENZI Louis, GRAUGNARD Tom, ROLLIN Alexis<br />
| DONSEZ Didier, QUENOT Georges<br />
| [[PROJET-INFO5 2021 Wildcount | Fiche de suivi]]<br />
| [https://air.imag.fr/index.php/Wildcount:_Inexpensive_Edge_sensor_for_recognizing_and_counting_the_presence_of_humans_(anonymous)_and_animals_into_wild_and_protected_areas. Documents], Flyer, Poster, Pitch, Screencast<br />
| Dépôt Git (privé ou public)<br />
| 13H45, [[Media:Presentation_Intermediaire_INFO5_ProjetS10_groupe_2.pdf|Présentation]]<br />
|-<br />
!scope="row"| 5<br />
| [[Signature électronique eIDAS|eIDAS]]<br />
| ASSI Dima, BILOUNGA Aleck, EL AJI Houda, ZERAMDINI Otba<br />
| Nicolas PALIX<br />
| [[PROJET-INFO5 2021 Signature électronique eIDAS| Fiche de suivi]]<br />
| [https://air.imag.fr/index.php/Signature_%C3%A9lectronique_eIDAS Documents], Flyer, Poster, Pitch, Screencast<br />
| Dépôt Git (privé ou public)<br />
| 14H00, [[Media:Presentation_Intermediaire_INFO5_ProjetS10_groupe_5.pdf|Présentation]]<br />
|-<br />
<br />
!scope="row"| 6<br />
| [[Contributions open source au projet EdCampus|EdCampus]]<br />
| COURTHIAL Samuel, FOUGERE Sebastien, DELBOS Robin<br />
| POLLIER Gérard, GEOURJON Anthony, DONSEZ Didier<br />
| [[PROJET-INFO5 2021 Contributions open source au projet EdCampus| Fiche de suivi]]<br />
| [https://air.imag.fr/index.php/Contributions_open_source_au_projet_EdCampus Documents], Flyer, Poster, Pitch, Screencast<br />
| [https://gricad-gitlab.univ-grenoble-alpes.fr/edcampus]<br />
| 14H15, [[Media:Presentation_Intermediaire_INFO5_ProjetS10_groupe_6.pdf|Présentation]]<br />
|-<br />
<br />
!scope="row"| 8<br />
| [[Prototypage d'application mobile pour la vente en direct de produits producteur locaux]]<br />
| BOLEAT Baptiste, CHAIX Manon, MICHELARD Leila, PALOMO Rémy<br />
| DELANGUE Sylvain, Gérard POLLIER (Disrupt Campus)<br />
| [[PROJET-INFO5 2021 Go Farmer | Fiche de suivi]]<br />
| [], Flyer, Poster, Pitch, Screencast<br />
| Dépôt Git (privé ou public)<br />
| 14H30, [[Media:Presentation_Intermediaire_INFO5_ProjetS10_groupe_8.pdf|Présentation]]<br />
|-<br />
!scope="row"| 9<br />
| [[Secours Montagne avec LoRa|LoRa-valanche]]<br />
| CHATON Alexandra, FRION Thomas, PASDELOUP Romain<br />
| TOURANCHEAU Bernard<br />
| [[PROJET-INFO5 2021 Secours Montagne avec LoRa | Fiche de suivi]]<br />
| [https://gitlab.com/wildcount Documents], Flyer, Poster, Pitch, Screencast<br />
| Dépôt Git (privé ou public)<br />
| 15H00, [[Media:Presentation_Intermediaire_INFO5_ProjetS10_groupe_9.pdf|Présentation]]<br />
|-<br />
!scope="row"| 10<br />
| [[GenderedNews|GenderedNews]]<br />
| HO Nhat Quang, MURPHY Mica, NGUENA Gloria, SAGET Antoine<br />
| PORTET François, BASTIN Gilles<br />
| [[PROJET-INFO5 2021 GenderedNews | Fiche de suivi]]<br />
| [https://air.imag.fr/index.php/GenderedNews Documents], Flyer, Poster, Pitch, Screencast<br />
| Dépôt Git (privé ou public)<br />
| 15H15, [[Media:Presentation_Intermediaire_INFO5_ProjetS10_groupe_10.pdf|Présentation]]<br />
|-<br />
!scope="row"| 11<br />
| [[Réseaux social d'organisation de sortie|Réseaux social d'organisation de sortie]]<br />
| EL JRAIDI Rim, VERNET Maxime, SAJIDE Idriss, MANISSADJIAN Gabriel<br />
| RICHARD Olivier<br />
| [[PROJET-INFO5 2021 Réseaux social d'organisation de sortie | Fiche de suivi]]<br />
| [https://air.imag.fr/index.php/R%C3%A9seaux_social_d%27organisation_de_sortie Documents], Flyer, Poster, Pitch, Screencast<br />
| Dépôt Git (privé ou public)<br />
| 15H30, [[Media:Presentation_Intermediaire_INFO5_ProjetS10_groupe_11.pdf|Présentation]]<br />
|-<br />
!scope="row"| 13<br />
| [[Artiphonie (saison 2)|Artiphonie (saison 2)]]<br />
| CROCIATI Morgan, RIVAL Gaëtan, RUZAFA Rémy, VELUT Claire <br />
| Bastien De Araujo, Guillaume Denis, Estelle Gillet-Perret et Olivier Richard<br />
| [[PROJET-INFO5 2021 Artiphonie (saison 2) | Fiche de suivi]]<br />
| [https://air.imag.fr/index.php/Artiphonie_(saison_2) Documents], Flyer, Poster, Screencast<br />
| Dépôt Git (privé ou public)<br />
| 15H45, [[Media:Presentation_Intermediaire_INFO5_ProjetS10_groupe_13.pdf|Présentation]]<br />
|-<br />
|scope="row"| 14<br />
| [[Covoiturage solidaire avec borne d'appel|Covoiturage solidaire avec borne d'appel]]<br />
| EL MUFTI Ali, NELSON William<br />
| Christine Verdier, Fabrice Forest (Didier Donsez pour le support technique borne d'appel).<br />
| [[PROJET-INFO5 2021 Covoiturage solidaire avec borne d'appel| Fiche de suivi]]<br />
| [https://air.imag.fr/index.php/Covoiturage_solidaire_avec_borne_d%27appel Documents], Flyer, Poster, Pitch, Screencast<br />
| Dépôt Git (privé ou public)<br />
| 16H00, [[Media:Presentation_Intermediaire_INFO5_ProjetS10_groupe_14.pdf|Présentation]]<br />
|}<br />
<br />
====Projets non choisis====<br />
* [[LoRaWAN Roaming]] avec [[Chirpstack]] et [[TheThingStack]]: Didier Donsez, Bernard Tourancheau.<br />
* [[Contributions open-source au projet JHipster]] : Didier Donsez<br />
* [[Test d'infrastructures avec NixOS]] Olivier Richard et Quentin Guilloteau</div>Robin.Delboshttps://air.imag.fr/index.php?title=PROJET-INFO5_2021_Contributions_open_source_au_projet_EdCampus&diff=50406PROJET-INFO5 2021 Contributions open source au projet EdCampus2021-01-29T13:07:25Z<p>Robin.Delbos: </p>
<hr />
<div>=Le projet= <br />
=L'équipe=<br />
* Samuel Courthial (chef de projet)<br />
* Sebastien Fougère<br />
* Robin Delbos<br />
<br />
Supervisé par : Gérard Pollier, Anthony Geourjon, Didier Donsez<br />
<br />
=Journal=<br />
<br />
=Liens=</div>Robin.Delboshttps://air.imag.fr/index.php?title=PROJET-INFO5_2021_Contributions_open_source_au_projet_EdCampus&diff=50405PROJET-INFO5 2021 Contributions open source au projet EdCampus2021-01-29T13:02:48Z<p>Robin.Delbos: </p>
<hr />
<div>=Le projet= <br />
=L'équipe=<br />
* Samuel Courthial (chef de projet)<br />
* Sebastien Fougere<br />
* Robin Delbos<br />
<br />
Supervisé par : Gérard Pollier, Anthony Geourjon, Didier Donsez<br />
<br />
=Journal=<br />
<br />
=Liens=</div>Robin.Delboshttps://air.imag.fr/index.php?title=PROJET-INFO5_2021_Contributions_open_source_au_projet_EdCampus&diff=50404PROJET-INFO5 2021 Contributions open source au projet EdCampus2021-01-29T13:02:39Z<p>Robin.Delbos: </p>
<hr />
<div>=Le projet= <br />
=L'équipe=<br />
* Samuel Courthial (chef de projey)<br />
* Sebastien Fougere<br />
* Robin Delbos<br />
<br />
Supervisé par : Gérard Pollier, Anthony Geourjon, Didier Donsez<br />
<br />
=Journal=<br />
<br />
=Liens=</div>Robin.Delboshttps://air.imag.fr/index.php?title=Projets_2020-2021&diff=50403Projets 2020-20212021-01-29T13:01:52Z<p>Robin.Delbos: </p>
<hr />
<div><<[[Projets 2019-2020]] | [[Projets]] | [[Projets 2021-2022]]>><br />
=INFO=<br />
==INFO3==<br />
<br />
==INFO4==<br />
===Projet Semestre S8===<br />
<br />
Enseignants responsables : Olivier Richard, Didier Donsez<br />
<br />
* Dates : Lundi après-midi, Mardi après-midi <br />
* Lancement: 18 Janvier 2021 après midi<br />
* Soutenance à mi-parcours: A définir<br />
* Soutenance: A définir<br />
<br />
* '''Evaluation à mi-parcours le lundi/mardi ???''': Format: 10min (5min de présentation 3 slides au plus, 5min de discussion). Cette évaluation sera prise en compte dans la note finale.<br />
<br />
'''Consignes générales:'''<br />
<br />
* '''Vous devez être pro-actifs !!!''': Si des points sont pas ou mals spécifiés, vous le faîtes et vous justifiez vos choix. Pour les problèmes techniques éventuels vous pouvez: creuser la question, contacter l'auteur du code si il y a lieu, écrire un rapport de bug ('''Attention:''' ca se prépare !), soumettre un patch/pull request, contacter l'enseignant ou la personne référente du projet.<br />
<br />
* '''Vous devez maintenir une fiche de suivi de projet''': elle doit être mise à jour chaque semaine, elle rassemble les élements essentiels du projet, elle indique les évolutions du projet et présente sa feuille de route. '''Note:''' le nom de la fiche doit être composé du nom du projet et suffixé par info4_2020_2021. '''Cette fiche compte pour la note finale'''<br />
<br />
* '''Votre code''' pour doit être hébergé sur le gitlab et à l'URL suivante https://gricad-gitlab.univ-grenoble-alpes.fr/Projets-INFO4/20-21 , vous utiliserez votre compte UGA.<br />
<br />
* Chaque projet doit avoir '''aux moins 2 dépôts git''':<br />
** '''Un pour les documents''' demandés rapport, présentation de pré-soutenante, de soutenance, flyer. '''Il sera appelé documents.'''<br />
** Un ou plusieurs pour le code, les tests, les évaluations, les preuves de concept, la ou les documentations afférentes. <br />
<br />
* Les '''documents public doivent être rédigés en anglais (README, documentation, commentaires de code, nom de variables et de fonctions)'''. Le *rapport* sera aussi demandé en *anglais* (il fera la taille d'un rapport de TP). Les transparents des présentation peuvent être en anglais ou en francais, la soutenance sera taire en francais.<br />
<br />
* '''La note obtenue''' tiendra compte du '''nombre et de la qualité des commits''' observé dans '''vos dépots git et la branche master''' (or depot documents). La qualité comprend l'intitulé du commit et son contenu. Les notes pourront être différentiées dans un groupe, il n'est pas acceptable de pas avoir de commit dans le(s) dépôt(s) du projet (or dépôt documents).<br />
<br />
* Il est fortement conseillé de suivre un '''développement incrémental''' qui permette d'avoir à tout moment un démonstrateur à présenter, un projet peut être constituer d'une succession de '''démonstrateurs présentables séparément'''.<br />
<br />
* Vous devez faire aussi des '''schémas d'architectures générales et/ou spéficiques, des diagrammes de séquence''', et autre documents de spécification si nécessaire. Ces documents vous serviront de base de discussion/brainstorming interne ainsi que dans vos différents documents (rapport, présentations, documentation). Ces schémas sont avant tout conceptuels et techniques.<br />
<br />
===Propositions de projets S8===<br />
<br />
* 1. [[Contribution au projet STM32Python]], Didier DONSEZ.<br />
* 2. [[Portage du kit station LoRa LRWAN2 de ST sur RIOT OS]], Didier DONSEZ.<br />
* 3+4. [[Portage de la carte de prototypage IoT Nucleo-WL55JC sur RIOT OS]] + [[Portage de la carte de communication LoRa LLCC68MB2BAS sur RIOT OS]], Didier DONSEZ (1 seul groupe de 3 élèves pour les 2 cartes).<br />
* 5. [[Service Web d'équipements embarqués communicant sur bus CAN]] (2 groupes de 2 élèves), Didier DONSEZ.<br />
* 6. [[Application mobile d'enregistrements de noeuds IoT LoRaWAN dans plusieurs réseaux]], Didier DONSEZ.<br />
* 7. [[Evaluation du toolkit AI de STM32 pour l'analyse de l'environnement sonore]], Didier DONSEZ.<br />
* 8. [[Godot Game Engine et tables tactiles]] : démonstration d'un jeu en réseau sur les 3 tables tactiles : (gaming spirit) Olivier RICHARD.<br />
* 9. [[Serveur filière INFO]], Nicolas Palix<br />
* Agriculture connectée en partenariat avec les projets collectifs IESE/MAT<br />
** 10. [[ASAC/AP|Polytech]] : Nicolas Palix<br />
** 11. [[ASAC/SJC|St Cassien]] : Nicolas Palix<br />
* 12. [[ENT Polytech]] avec XMPP/Mumble/BBB/Mattermost/OpenBoard : Nicolas Palix<br />
* 13. [[Polytech Helper Service | Outils d'aide à la gestion de service]], (professionel) Olivier Richard<br />
* 14. [[Rust Engine | Executeur de tâche en Rust]], (exigeant techniquement) Olivier Richard<br />
* 15. [[Retrocompute simulateur | RetroComputing]]: (vintage style) Coupler le simulateur Digital avec un simulateur de processeur 8bits, Olivier Richard<br />
* 16. [[FPGA et Deep Learnning]] Olivier Richard<br />
* 17. [[OpenAPI OAR | OpenAPI pour la gestion de tâches de ressources OAR]], (professionel) Olivier Richard <br />
* 18. [[Monitoring de la plateforme CampusIoT]] : Didier Donsez<br />
<br />
==== Reporté INFO5 21-22 ==== <br />
* 1 heure 1 heure (échange de compétence), etudiant.e.s Emilie Tondeux + ?, tuteur ?<br />
==== Reporté ====<br />
[[Simulateur de réseaux simples avec un FPGA]], (typé recherche/prospectif)<br />
<br />
==== Affectation ====<br />
{|class="wikitable alternance"<br />
|+ Affectation des projets INFO4 2020-2021<br />
|-<br />
|<br />
!scope="col"| Sujet<br />
!scope="col"| Etudiants<br />
!scope="col"| Enseignant(s)<br />
!scope="col"| Fiche de suivi<br />
!scope="col"| Documents<br />
|-<br />
|}<br />
<br />
==INFO5==<br />
===Projet IoT S9===<br />
Enseignants responsables : Bernard Tourancheau<br />
<br />
Calendrier: ??? Septembre à ??? Décembre 2020.<br />
<br />
<br />
===Projet Semestre S10===<br />
<br />
Enseignants responsables : [[user:Donsez|Didier Donsez]]<br />
<br />
Calendrier: 28/01 (13H30-17H30) au 19/03.<br />
<br />
Séances de Management de projets innovants: A voir dessus.<br />
<br />
Réunion de présentation et choix des sujets: 28/01 (13H30-17H30) en salle P257 (voir ADE)<br />
<br />
Démarrage : 29/01 (13H30-17H30)<br />
<br />
Soutenance à mi-parcours : Début Mars, 9H00-11H30 (15 minutes par équipe).<br />
<br />
Soutenance : 19/03/2021.<br />
<br />
====Séances MPI====<br />
<br />
Les séances MPI seront en distanciel (mais ADE fait foi).<br />
<br />
<pre><br />
Séance Thématique Date Horaires Intervenante Salle<br />
1 Définir la problématique 03-févr. 14h-18h Stéphanie Diligent distanciel<br />
2 Gérer le projet en restant agile 10-févr. 8h30 - 12h30 Stéphanie Diligent distanciel<br />
3 Communiquer 24-févr. 8h30 - 12h30 Emmanuelle Tréhoust distanciel<br />
4 Evaluer et valoriser 03-mars 8h30 - 12h30 Emmanuelle Tréhoust distanciel<br />
5 Evaluation 10-mars 8h30 - 12h30 Stéphanie Diligent distanciel<br />
</pre><br />
<br />
====Propositions de projets S10====<br />
# [[Infrastructure de communication interne au cubesat ATISE du CSUG]] basé sur [[LibCSP]]: Imane El Khantouti ([https://www.csug.fr CSUG]), Frédéric Martin ([https://www.csug.fr CSUG])<br />
# [[Wildcount: Inexpensive Edge sensor for recognizing and counting the presence of humans (anonymous) and animals into wild and protected areas.]] : Didier Donsez, Georges Quénot<br />
# [[LoRaWAN Roaming]] avec [[Chirpstack]] et [[TheThingStack]]: Didier Donsez, Bernard Tourancheau.<br />
# [[Contributions open-source au projet JHipster]] : Didier Donsez<br />
# [[Signature électronique eIDAS]] (JHipster, Apache FOP, visualisateurs PDF pour Angular/Vue/React ..., services tiers de confiance) : Nicolas Palix (Didier DONSEZ).<br />
# [[Contributions open source au projet EdCampus]] : Gérard Pollier (Disrupt Campus), Anthony Geourjon (Disrupt Campus)<br />
# [[Contributions open source au projet SmartRecruiting]] : Gérard Pollier (Disrupt Campus), Anthony Geourjon (Disrupt Campus)<br />
# [[Prototypage d'application mobile pour la vente en direct de produits producteur locaux]], Sylvain Delangue, Gérard Pollier<br />
# [[Secours Montagne avec LoRa|LoRa-valanche: Secours Montagne avec LoRa]] : Bernard Tourancheau en lien avec le PGHM Isère<br />
# [[GenderedNews]], François Portet, Gilles Bastin<br />
# [[Réseaux social d'organisation de sortie]] Olivier Richard<br />
# [[Test d'infrastructures avec NixOS]] Olivier Richard et Quentin Guilloteau<br />
# [[Artiphonie (saison 2)]] Aides aux enfants pour le traitement les troubles Ortophoniques Bastien De Araujo, Guillaume Denis, Estelle Gillet-Perret et Olivier Richard<br />
# [[Covoiturage solidaire avec borne d'appel]] Christine Verdier, Fabrice Forest<br />
<br />
==== Affectations S10====<br />
{|class="wikitable alternance"<br />
|+ Affectation des projets INFO5 2020-2021<br />
|-<br />
|<br />
!scope="col"| Sujet<br />
!scope="col"| Etudiants<br />
!scope="col"| Enseignant(s)<br />
!scope="col"| Fiche de suivi<br />
!scope="col"| Documents<br />
!scope="col"| Dépôt Git<br />
|-<br />
!scope="row"| 1<br />
| [[Infrastructure de communication interne au cubesat ATISE du CSUG | ATISE]]<br />
| Alexandre SALMON, Myriam LOMBARD, Killian PAREILLEUX, Adrien ARTAUD<br />
| Imane El-Khantouti (CSUG, UGA), Frédéric Martin (CSUG, UGA)<br />
| [[PROJET-INFO5 2021 ATISE| Fiche de suivi]]<br />
| [https://air.imag.fr/index.php/Infrastructure_de_communication_interne_au_cubesat_ATISE_du_CSUG Documents], Flyer, Poster, Screencast<br />
| Dépôt Git (privé ou public)<br />
|-<br />
!scope="row"| 2<br />
| [[Wildcount:_Inexpensive_Edge_sensor_for_recognizing_and_counting_the_presence_of_humans_(anonymous)_and_animals_into_wild_and_protected_areas.|Wildcount]]<br />
| BEAUGRAND Elisa, DE GAUDENZI Louis, GRAUGNARD Tom, ROLLIN Alexis<br />
| DONSEZ Didier, QUENOT Georges<br />
| [[PROJET-INFO5 2021 Wildcount | Fiche de suivi]]<br />
| [https://air.imag.fr/index.php/Wildcount:_Inexpensive_Edge_sensor_for_recognizing_and_counting_the_presence_of_humans_(anonymous)_and_animals_into_wild_and_protected_areas. Documents], Flyer, Poster, Screencast<br />
| Dépôt Git (privé ou public)<br />
|-<br />
!scope="row"| 5<br />
| [[Signature électronique eIDAS|eIDAS]]<br />
| ASSI Dima, BILOUNGA Aleck, EL AJI Houda, ZERAMDINI Otba<br />
| Nicolas PALIX<br />
| [[PROJET-INFO5 2021 Signature électronique eIDAS| Fiche de suivi]]<br />
| [https://air.imag.fr/index.php/Signature_%C3%A9lectronique_eIDAS Documents], Flyer, Poster, Screencast<br />
| Dépôt Git (privé ou public)<br />
|-<br />
<br />
!scope="row"| 6<br />
| [[Contributions open source au projet EdCampus|EdCampus]]<br />
| COURTHIAL Samuel, FOUGERE Sebastien, DELBOS Robin<br />
| POLLIER Gérard, GEOURJON Anthony, DONSEZ Didier<br />
| [[PROJET-INFO5 2021 Contributions open source au projet EdCampus| Fiche de suivi]]<br />
| [https://air.imag.fr/index.php/Contributions_open_source_au_projet_EdCampus Documents], Flyer, Poster, Screencast<br />
| Dépôt Git (privé ou public)<br />
|-<br />
<br />
!scope="row"| 8<br />
| [[Prototypage d’application mobile pour la vente en direct de produits producteurs locaux]]<br />
| BOLEAT Baptiste, CHAIX Manon, MICHELARD Leila, PALOMO Rémy<br />
| DELANGUE Sylvain<br />
| [[PROJET-INFO5 2021 Go Farmer | Fiche de suivi]]<br />
| [], Flyer, Poster, Screencast<br />
| Dépôt Git (privé ou public)<br />
|-<br />
<br />
!scope="row"| 9<br />
| [[Secours Montagne avec LoRa|LoRa-valanche]]<br />
| CHATON Alexandra, FRION Thomas, PASDELOUP Romain<br />
| TOURANCHEAU Bernard<br />
| [[PROJET-INFO5 2021 Secours Montagne avec LoRa | Fiche de suivi]]<br />
| [https://gitlab.com/wildcount Documents], Flyer, Poster, Screencast<br />
| Dépôt Git (privé ou public)<br />
|-<br />
!scope="row"| 10<br />
| [[GenderedNews|GenderedNews]]<br />
| HO Nhat Quang, MURPHY Mica, NGUENA Gloria, SAGET Antoine<br />
| PORTET François, BASTIN Gilles<br />
| [[PROJET-INFO5 2021 GenderedNews | Fiche de suivi]]<br />
| [https://air.imag.fr/index.php/GenderedNews Documents], Flyer, Poster, Screencast<br />
| Dépôt Git (privé ou public)<br />
|-<br />
!scope="row"| 13<br />
| [[Artiphonie (saison 2)|Artiphonie (saison 2)]]<br />
| CROCIATI Morgan, RIVAL Gaëtan, RUZAFA Rémy, VELUT Claire <br />
| Bastien De Araujo, Guillaume Denis, Estelle Gillet-Perret et Olivier Richard<br />
| [[PROJET-INFO5 2021 Artiphonie (saison 2) | Fiche de suivi]]<br />
| [https://air.imag.fr/index.php/Artiphonie_(saison_2) Documents], Flyer, Poster, Screencast<br />
| Dépôt Git (privé ou public)<br />
|}<br />
<br />
====Projets non choisis====<br />
* [[LoRaWAN Roaming]] avec [[Chirpstack]] et [[TheThingStack]]: Didier Donsez, Bernard Tourancheau.<br />
* [[Contributions open-source au projet JHipster]] : Didier Donsez<br />
* [[Test d'infrastructures avec NixOS]] Olivier Richard et Quentin Guilloteau</div>Robin.Delboshttps://air.imag.fr/index.php?title=PROJET-INFO5_2021_Contributions_open_source_au_projet_EdCampus&diff=50402PROJET-INFO5 2021 Contributions open source au projet EdCampus2021-01-29T13:00:35Z<p>Robin.Delbos: Created page with "=Le projet= =L'équipe= * Samuel Courthial (chef de projey) * Sebastien Fougere * Robin Delbos Supervisé par : Pollier Gérard, Geourjon Anthony =Journal= =Liens= * [http..."</p>
<hr />
<div>=Le projet= <br />
=L'équipe=<br />
* Samuel Courthial (chef de projey)<br />
* Sebastien Fougere<br />
* Robin Delbos<br />
<br />
Supervisé par : Pollier Gérard, Geourjon Anthony<br />
<br />
=Journal=<br />
<br />
=Liens=<br />
* [https://gitlab.com/info5-lora-avalanche Gitlab]</div>Robin.Delboshttps://air.imag.fr/index.php?title=Projets_2020-2021&diff=50401Projets 2020-20212021-01-29T12:58:39Z<p>Robin.Delbos: </p>
<hr />
<div><<[[Projets 2019-2020]] | [[Projets]] | [[Projets 2021-2022]]>><br />
=INFO=<br />
==INFO3==<br />
<br />
==INFO4==<br />
===Projet Semestre S8===<br />
<br />
Enseignants responsables : Olivier Richard, Didier Donsez<br />
<br />
* Dates : Lundi après-midi, Mardi après-midi <br />
* Lancement: 18 Janvier 2021 après midi<br />
* Soutenance à mi-parcours: A définir<br />
* Soutenance: A définir<br />
<br />
* '''Evaluation à mi-parcours le lundi/mardi ???''': Format: 10min (5min de présentation 3 slides au plus, 5min de discussion). Cette évaluation sera prise en compte dans la note finale.<br />
<br />
'''Consignes générales:'''<br />
<br />
* '''Vous devez être pro-actifs !!!''': Si des points sont pas ou mals spécifiés, vous le faîtes et vous justifiez vos choix. Pour les problèmes techniques éventuels vous pouvez: creuser la question, contacter l'auteur du code si il y a lieu, écrire un rapport de bug ('''Attention:''' ca se prépare !), soumettre un patch/pull request, contacter l'enseignant ou la personne référente du projet.<br />
<br />
* '''Vous devez maintenir une fiche de suivi de projet''': elle doit être mise à jour chaque semaine, elle rassemble les élements essentiels du projet, elle indique les évolutions du projet et présente sa feuille de route. '''Note:''' le nom de la fiche doit être composé du nom du projet et suffixé par info4_2020_2021. '''Cette fiche compte pour la note finale'''<br />
<br />
* '''Votre code''' pour doit être hébergé sur le gitlab et à l'URL suivante https://gricad-gitlab.univ-grenoble-alpes.fr/Projets-INFO4/20-21 , vous utiliserez votre compte UGA.<br />
<br />
* Chaque projet doit avoir '''aux moins 2 dépôts git''':<br />
** '''Un pour les documents''' demandés rapport, présentation de pré-soutenante, de soutenance, flyer. '''Il sera appelé documents.'''<br />
** Un ou plusieurs pour le code, les tests, les évaluations, les preuves de concept, la ou les documentations afférentes. <br />
<br />
* Les '''documents public doivent être rédigés en anglais (README, documentation, commentaires de code, nom de variables et de fonctions)'''. Le *rapport* sera aussi demandé en *anglais* (il fera la taille d'un rapport de TP). Les transparents des présentation peuvent être en anglais ou en francais, la soutenance sera taire en francais.<br />
<br />
* '''La note obtenue''' tiendra compte du '''nombre et de la qualité des commits''' observé dans '''vos dépots git et la branche master''' (or depot documents). La qualité comprend l'intitulé du commit et son contenu. Les notes pourront être différentiées dans un groupe, il n'est pas acceptable de pas avoir de commit dans le(s) dépôt(s) du projet (or dépôt documents).<br />
<br />
* Il est fortement conseillé de suivre un '''développement incrémental''' qui permette d'avoir à tout moment un démonstrateur à présenter, un projet peut être constituer d'une succession de '''démonstrateurs présentables séparément'''.<br />
<br />
* Vous devez faire aussi des '''schémas d'architectures générales et/ou spéficiques, des diagrammes de séquence''', et autre documents de spécification si nécessaire. Ces documents vous serviront de base de discussion/brainstorming interne ainsi que dans vos différents documents (rapport, présentations, documentation). Ces schémas sont avant tout conceptuels et techniques.<br />
<br />
===Propositions de projets S8===<br />
<br />
* 1. [[Contribution au projet STM32Python]], Didier DONSEZ.<br />
* 2. [[Portage du kit station LoRa LRWAN2 de ST sur RIOT OS]], Didier DONSEZ.<br />
* 3+4. [[Portage de la carte de prototypage IoT Nucleo-WL55JC sur RIOT OS]] + [[Portage de la carte de communication LoRa LLCC68MB2BAS sur RIOT OS]], Didier DONSEZ (1 seul groupe de 3 élèves pour les 2 cartes).<br />
* 5. [[Service Web d'équipements embarqués communicant sur bus CAN]] (2 groupes de 2 élèves), Didier DONSEZ.<br />
* 6. [[Application mobile d'enregistrements de noeuds IoT LoRaWAN dans plusieurs réseaux]], Didier DONSEZ.<br />
* 7. [[Evaluation du toolkit AI de STM32 pour l'analyse de l'environnement sonore]], Didier DONSEZ.<br />
* 8. [[Godot Game Engine et tables tactiles]] : démonstration d'un jeu en réseau sur les 3 tables tactiles : (gaming spirit) Olivier RICHARD.<br />
* 9. [[Serveur filière INFO]], Nicolas Palix<br />
* Agriculture connectée en partenariat avec les projets collectifs IESE/MAT<br />
** 10. [[ASAC/AP|Polytech]] : Nicolas Palix<br />
** 11. [[ASAC/SJC|St Cassien]] : Nicolas Palix<br />
* 12. [[ENT Polytech]] avec XMPP/Mumble/BBB/Mattermost/OpenBoard : Nicolas Palix<br />
* 13. [[Polytech Helper Service | Outils d'aide à la gestion de service]], (professionel) Olivier Richard<br />
* 14. [[Rust Engine | Executeur de tâche en Rust]], (exigeant techniquement) Olivier Richard<br />
* 15. [[Retrocompute simulateur | RetroComputing]]: (vintage style) Coupler le simulateur Digital avec un simulateur de processeur 8bits, Olivier Richard<br />
* 16. [[FPGA et Deep Learnning]] Olivier Richard<br />
* 17. [[OpenAPI OAR | OpenAPI pour la gestion de tâches de ressources OAR]], (professionel) Olivier Richard <br />
* 18. [[Monitoring de la plateforme CampusIoT]] : Didier Donsez<br />
<br />
==== Reporté INFO5 21-22 ==== <br />
* 1 heure 1 heure (échange de compétence), etudiant.e.s Emilie Tondeux + ?, tuteur ?<br />
==== Reporté ====<br />
[[Simulateur de réseaux simples avec un FPGA]], (typé recherche/prospectif)<br />
<br />
==== Affectation ====<br />
{|class="wikitable alternance"<br />
|+ Affectation des projets INFO4 2020-2021<br />
|-<br />
|<br />
!scope="col"| Sujet<br />
!scope="col"| Etudiants<br />
!scope="col"| Enseignant(s)<br />
!scope="col"| Fiche de suivi<br />
!scope="col"| Documents<br />
|-<br />
|}<br />
<br />
==INFO5==<br />
===Projet IoT S9===<br />
Enseignants responsables : Bernard Tourancheau<br />
<br />
Calendrier: ??? Septembre à ??? Décembre 2020.<br />
<br />
<br />
===Projet Semestre S10===<br />
<br />
Enseignants responsables : [[user:Donsez|Didier Donsez]]<br />
<br />
Calendrier: 28/01 (13H30-17H30) au 19/03.<br />
<br />
Séances de Management de projets innovants: A voir dessus.<br />
<br />
Réunion de présentation et choix des sujets: 28/01 (13H30-17H30) en salle P257 (voir ADE)<br />
<br />
Démarrage : 29/01 (13H30-17H30)<br />
<br />
Soutenance à mi-parcours : Début Mars, 9H00-11H30 (15 minutes par équipe).<br />
<br />
Soutenance : 19/03/2021.<br />
<br />
====Séances MPI====<br />
<br />
Les séances MPI seront en distanciel (mais ADE fait foi).<br />
<br />
<pre><br />
Séance Thématique Date Horaires Intervenante Salle<br />
1 Définir la problématique 03-févr. 14h-18h Stéphanie Diligent distanciel<br />
2 Gérer le projet en restant agile 10-févr. 8h30 - 12h30 Stéphanie Diligent distanciel<br />
3 Communiquer 24-févr. 8h30 - 12h30 Emmanuelle Tréhoust distanciel<br />
4 Evaluer et valoriser 03-mars 8h30 - 12h30 Emmanuelle Tréhoust distanciel<br />
5 Evaluation 10-mars 8h30 - 12h30 Stéphanie Diligent distanciel<br />
</pre><br />
<br />
====Propositions de projets S10====<br />
# [[Infrastructure de communication interne au cubesat ATISE du CSUG]] basé sur [[LibCSP]]: Imane El Khantouti ([https://www.csug.fr CSUG]), Frédéric Martin ([https://www.csug.fr CSUG])<br />
# [[Wildcount: Inexpensive Edge sensor for recognizing and counting the presence of humans (anonymous) and animals into wild and protected areas.]] : Didier Donsez, Georges Quénot<br />
# [[LoRaWAN Roaming]] avec [[Chirpstack]] et [[TheThingStack]]: Didier Donsez, Bernard Tourancheau.<br />
# [[Contributions open-source au projet JHipster]] : Didier Donsez<br />
# [[Signature électronique eIDAS]] (JHipster, Apache FOP, visualisateurs PDF pour Angular/Vue/React ..., services tiers de confiance) : Nicolas Palix (Didier DONSEZ).<br />
# [[Contributions open source au projet EdCampus]] : Gérard Pollier (Disrupt Campus), Anthony Geourjon (Disrupt Campus)<br />
# [[Contributions open source au projet SmartRecruiting]] : Gérard Pollier (Disrupt Campus), Anthony Geourjon (Disrupt Campus)<br />
# [[Prototypage d'application mobile pour la vente en direct de produits producteur locaux]], Sylvain Delangue, Gérard Pollier<br />
# [[Secours Montagne avec LoRa|LoRa-valanche: Secours Montagne avec LoRa]] : Bernard Tourancheau en lien avec le PGHM Isère<br />
# [[GenderedNews]], François Portet, Gilles Bastin<br />
# [[Réseaux social d'organisation de sortie]] Olivier Richard<br />
# [[Test d'infrastructures avec NixOS]] Olivier Richard et Quentin Guilloteau<br />
# [[Artiphonie (saison 2)]] Aides aux enfants pour le traitement les troubles Ortophoniques Bastien De Araujo, Guillaume Denis, Estelle Gillet-Perret et Olivier Richard<br />
# [[Covoiturage solidaire avec borne d'appel]] Christine Verdier, Fabrice Forest<br />
<br />
==== Affectations S10====<br />
{|class="wikitable alternance"<br />
|+ Affectation des projets INFO5 2020-2021<br />
|-<br />
|<br />
!scope="col"| Sujet<br />
!scope="col"| Etudiants<br />
!scope="col"| Enseignant(s)<br />
!scope="col"| Fiche de suivi<br />
!scope="col"| Documents<br />
!scope="col"| Dépôt Git<br />
|-<br />
!scope="row"| 1<br />
| [[Infrastructure de communication interne au cubesat ATISE du CSUG | ATISE]]<br />
| Alexandre SALMON, Myriam LOMBARD, Killian PAREILLEUX, Adrien ARTAUD<br />
| Imane El-Khantouti (CSUG, UGA), Frédéric Martin (CSUG, UGA)<br />
| [[PROJET-INFO5 2021 ATISE| Fiche de suivi]]<br />
| [https://air.imag.fr/index.php/Infrastructure_de_communication_interne_au_cubesat_ATISE_du_CSUG Documents], Flyer, Poster, Screencast<br />
| Dépôt Git (privé ou public)<br />
|-<br />
!scope="row"| 2<br />
| [[Wildcount:_Inexpensive_Edge_sensor_for_recognizing_and_counting_the_presence_of_humans_(anonymous)_and_animals_into_wild_and_protected_areas.|Wildcount]]<br />
| BEAUGRAND Elisa, DE GAUDENZI Louis, GRAUGNARD Tom, ROLLIN Alexis<br />
| DONSEZ Didier, QUENOT Georges<br />
| [[PROJET-INFO5 2021 Wildcount | Fiche de suivi]]<br />
| [https://air.imag.fr/index.php/Wildcount:_Inexpensive_Edge_sensor_for_recognizing_and_counting_the_presence_of_humans_(anonymous)_and_animals_into_wild_and_protected_areas. Documents], Flyer, Poster, Screencast<br />
| Dépôt Git (privé ou public)<br />
|-<br />
!scope="row"| 5<br />
| [[Signature électronique eIDAS|eIDAS]]<br />
| ASSI Dima, BILOUNGA Aleck, EL AJI Houda, ZERAMDINI Otba<br />
| Nicolas PALIX<br />
| [[PROJET-INFO5 2021 Signature électronique eIDAS| Fiche de suivi]]<br />
| [https://air.imag.fr/index.php/Signature_%C3%A9lectronique_eIDAS Documents], Flyer, Poster, Screencast<br />
| Dépôt Git (privé ou public)<br />
|-<br />
<br />
!scope="row"| 6<br />
| [[Contributions open source au projet EdCampus|EdCampus]]<br />
| COURTHIAL Samuel, FOUGERE Sebastien, DELBOS Robin<br />
| Pollier Gérard, Geourjon Anthony<br />
| [[PROJET-INFO5 2021 Contributions open source au projet EdCampus| Fiche de suivi]]<br />
| [https://air.imag.fr/index.php/Contributions_open_source_au_projet_EdCampus Documents], Flyer, Poster, Screencast<br />
| Dépôt Git (privé ou public)<br />
|-<br />
<br />
!scope="row"| 8<br />
| [[Prototypage d’application mobile pour la vente en direct de produits producteurs locaux]]<br />
| BOLEAT Baptiste, CHAIX Manon, MICHELARD Leila, PALOMO Rémy<br />
| DELANGUE Sylvain<br />
| [[PROJET-INFO5 2021 Go Farmer | Fiche de suivi]]<br />
| [], Flyer, Poster, Screencast<br />
| Dépôt Git (privé ou public)<br />
|-<br />
<br />
!scope="row"| 9<br />
| [[Secours Montagne avec LoRa|LoRa-valanche]]<br />
| CHATON Alexandra, FRION Thomas, PASDELOUP Romain<br />
| TOURANCHEAU Bernard<br />
| [[PROJET-INFO5 2021 Secours Montagne avec LoRa | Fiche de suivi]]<br />
| [https://gitlab.com/wildcount Documents], Flyer, Poster, Screencast<br />
| Dépôt Git (privé ou public)<br />
|-<br />
!scope="row"| 10<br />
| [[GenderedNews|GenderedNews]]<br />
| HO Nhat Quang, MURPHY Mica, NGUENA Gloria, SAGET Antoine<br />
| PORTET François, BASTIN Gilles<br />
| [[PROJET-INFO5 2021 GenderedNews | Fiche de suivi]]<br />
| [https://air.imag.fr/index.php/GenderedNews Documents], Flyer, Poster, Screencast<br />
| Dépôt Git (privé ou public)<br />
|-<br />
!scope="row"| 13<br />
| [[Artiphonie (saison 2)|Artiphonie (saison 2)]]<br />
| CROCIATI Morgan, RIVAL Gaëtan, RUZAFA Rémy, VELUT Claire <br />
| Bastien De Araujo, Guillaume Denis, Estelle Gillet-Perret et Olivier Richard<br />
| [[PROJET-INFO5 2021 Artiphonie (saison 2) | Fiche de suivi]]<br />
| [https://air.imag.fr/index.php/Artiphonie_(saison_2) Documents], Flyer, Poster, Screencast<br />
| Dépôt Git (privé ou public)<br />
|}<br />
<br />
====Projets non choisis====<br />
* [[LoRaWAN Roaming]] avec [[Chirpstack]] et [[TheThingStack]]: Didier Donsez, Bernard Tourancheau.<br />
* [[Contributions open-source au projet JHipster]] : Didier Donsez<br />
* [[Test d'infrastructures avec NixOS]] Olivier Richard et Quentin Guilloteau</div>Robin.Delboshttps://air.imag.fr/index.php?title=VT2020-Apache_Arrow-Fiche&diff=49313VT2020-Apache Arrow-Fiche2020-12-07T17:23:41Z<p>Robin.Delbos: </p>
<hr />
<div>[[File:Arrow_Logo.png|400px|thumb|Logo de Apache Arrow]]<br />
<br />
<br />
= Introduction =<br />
<br />
Apache arrow a été créé en octobre 2016 et est toujours en développement: la dernière version stable (v2.0.0) est sortie le 19 octobre 2020.<br />
<br />
Apache Arrow possède des bibliothèques pour:<br />
*C<br />
*C++<br />
*C#<br />
*Go<br />
*Java<br />
*JavaScript<br />
*Rust<br />
*MATLAB (via la bibliothèque C++)<br />
*Python (via la bibliothèque C++)<br />
*R (via la bibliothèque C++)<br />
*Ruby (via la bibliothèque C++). <br />
<br />
Ces bibliothèques font l'objet de tests d'intégration les unes par rapport aux autres afin de garantir leur fidélité au format.<br />
Ces bibliothèques officielles permettent à des projets tiers de travailler avec les données Arrow sans avoir à implémenter eux-mêmes le format en colonnes Arrow. <br />
<br />
<br />
= Qu'est ce que Apache Arrow =<br />
<br />
Apache Arrow est une plate-forme de développement logiciel pour la création d'applications hautes performances qui traitent et transportent de grands ensembles de données. Elle est conçue pour améliorer à la fois les performances des algorithmes analytiques et l'efficacité du transfert de données d'un système ou d'un langage de programmation à un autre.<br />
<br />
<br />
[[File:Arrow1.png|300px|frame|center|Transfert de données sans Arrow]]<br />
<br />
<br />
[[File:Arrow2.png|300px|frame|center|Transfert de données avec Arrow]]<br />
<br />
<br />
Un élément essentiel d'Apache Arrow est son format en colonne en mémoire, une spécification standardisée et agnostique du langage pour représenter des ensembles de données structurés et semblables à des tableaux en mémoire. Le format Apache Arrow permet aux moteurs d'exécution de maximiser leur efficacité lors de l'analyse et de l'itération de gros volumes de données. <br />
Sans un format standard de données en colonnes, chaque base de données et chaque langage possède son propre format de données interne ce qui génère beaucoup de gaspillage. <br />
Le déplacement des données d'un système à l'autre implique une sérialisation et une désérialisation coûteuses en temps et en mémoire. En outre, les algorithmes communs doivent souvent être réécrits pour chaque format de données :<br />
<br />
<br />
[[File:Arrow3.jpg|300px|center|Transfert de données sans Arrow]]<br />
<br />
<br />
Le format de données en colonnes en mémoire de Arrow est une solution toute prête pour résoudre ces problèmes. Les systèmes qui utilisent ou prennent en charge Arrow peuvent transférer des données entre eux à un coût minime, voire nul. De plus, ils n'ont pas besoin de mettre en place des connecteurs personnalisés pour tous les autres systèmes. En plus de ces économies, un format de mémoire standardisé facilite la réutilisation des bibliothèques d'algorithmes, même entre les langages :<br />
<br />
<br />
[[File:Arrow4.jpg|300px|center|Transfert de données sans Arrow]]<br />
<br />
<br />
Dans la plupart des systèmes de stockage, la donnée est stockée sur disque ligne par ligne. Maintenant imaginons que l’on souhaite agréger la donnée, il faudra alors lire toutes les lignes, entièrement, une à une et extraire la donnée à agréger. Le stockage row-wise est une perte de temps, d’espace de stockage et de performance.<br />
<br />
Si l’on pense maintenant en format colonne où chaque colonne et ses valeurs sont stockées au même endroit, nous n’aurons besoin d’accéder qu’à la colonne à agréger pour faire notre calcul. Le stockage colonne nous permet de gagner en efficacité et en rapidité.<br />
<br />
<br />
[[File:Arrow5.png|500px|frame|center|Format traditionnel et format utilisé par Apache Arrow ]]<br />
<br />
= Alternatives =<br />
<br />
Apache Parquet et Apache ORC sont des exemples populaires de formats de données en colonnes sur disque. Apache Arrow est conçu comme un complément à ces formats pour le traitement des données en mémoire. Les projets Arrow et Parquet comprennent des bibliothèques qui permettent de lire et d'écrire des données entre les deux formats. Ces projets sont donc plus complémentaires que concurrents et peuvent s'utiliser simultanément.<br />
<br />
Apache Arrow peut être utilisé avec Apache Parquet, Apache Spark, NumPy, PySpark, Pandas et d'autres bibliothèques de traitement de données. Cependant Apache Arrow reste la solution la plus complète actuellement pour un transfert efficace de données volumineuses.<br />
<br />
<br />
= Désavantage =<br />
<br />
Le principal désavantage avec Apache Arrow va avec son principal avantage: il est très complet, ce qui le rend difficile à prendre en main pour les débutants malgré une communauté active et une documentation fournie.<br />
<br />
<br />
= Référence =<br />
# https://en.wikipedia.org/wiki/Apache_Arrow<br />
# https://github.com/apache/arrow<br />
# https://arrow.apache.org/<br />
# https://blog.ippon.fr/2020/10/28/apache-arrow/<br />
# https://big-data.developpez.com/actu/307542/Big-Data-la-plateforme-de-developpement-pour-l-analyse-in-memory-Apache-Arrow-1-0-0-est-disponible-et-s-accompagne-de-nombreuses-ameliorations/<br />
# https://www.dremio.com/data-lake/apache-arrow/ <br />
# https://www.youtube.com/watch?v=y7zGnKzaKIw<br />
# https://github.com/animeshtrivedi/blog/blob/master/post/2017-12-26-arrow.md<br />
<br />
<br />
= Veille Technologique 2020 =<br />
* Année : [[VT2020|VT2020]]<br />
* Sujet : Apache Arrow<br />
* [[Media:Présentation_Apache_Arrow.pdf|Présentation]]<br />
*[[VT2020-Apache Arrow-Demo|Démonstration]]<br />
* Auteurs : [[User:Robin.Delbos|Robin Delbos]]</div>Robin.Delboshttps://air.imag.fr/index.php?title=VT2020-Apache_Arrow-Fiche&diff=49311VT2020-Apache Arrow-Fiche2020-12-07T15:00:55Z<p>Robin.Delbos: </p>
<hr />
<div>[[File:Arrow_Logo.png|400px|thumb|Logo de Apache Arrow]]<br />
<br />
<br />
= Introduction =<br />
<br />
Apache arrow a été créé en octobre 2016 et est toujours en développement: la dernière version stable (v2.0.0) est sortie le 19 octobre 2020.<br />
<br />
Apache Arrow possède des bibliothèques pour:<br />
*C<br />
*C++<br />
*C#<br />
*Go<br />
*Java<br />
*JavaScript<br />
*Rust<br />
*MATLAB (via la bibliothèque C++)<br />
*Python (via la bibliothèque C++)<br />
*R (via la bibliothèque C++)<br />
*Ruby (via la bibliothèque C++). <br />
<br />
Ces bibliothèques font l'objet de tests d'intégration les unes par rapport aux autres afin de garantir leur fidélité au format.<br />
Ces bibliothèques officielles permettent à des projets tiers de travailler avec les données Arrow sans avoir à implémenter eux-mêmes le format en colonnes Arrow. <br />
<br />
<br />
= Qu'est ce que Apache Arrow =<br />
<br />
Apache Arrow est une plate-forme de développement logiciel pour la création d'applications hautes performances qui traitent et transportent de grands ensembles de données. Elle est conçue pour améliorer à la fois les performances des algorithmes analytiques et l'efficacité du transfert de données d'un système ou d'un langage de programmation à un autre.<br />
<br />
<br />
[[File:Arrow1.png|300px|frame|center|Transfert de données sans Arrow]]<br />
<br />
<br />
[[File:Arrow2.png|300px|frame|center|Transfert de données avec Arrow]]<br />
<br />
<br />
Un élément essentiel d'Apache Arrow est son format en colonne en mémoire, une spécification standardisée et agnostique du langage pour représenter des ensembles de données structurés et semblables à des tableaux en mémoire. Le format Apache Arrow permet aux moteurs d'exécution de maximiser leur efficacité lors de l'analyse et de l'itération de gros volumes de données. <br />
Sans un format standard de données en colonnes, chaque base de données et chaque langage possède son propre format de données interne ce qui génère beaucoup de gaspillage. <br />
Le déplacement des données d'un système à l'autre implique une sérialisation et une désérialisation coûteuses en temps et en mémoire. En outre, les algorithmes communs doivent souvent être réécrits pour chaque format de données :<br />
<br />
<br />
[[File:Arrow3.jpg|300px|center|Transfert de données sans Arrow]]<br />
<br />
<br />
Le format de données en colonnes en mémoire de Arrow est une solution toute prête pour résoudre ces problèmes. Les systèmes qui utilisent ou prennent en charge Arrow peuvent transférer des données entre eux à un coût minime, voire nul. De plus, ils n'ont pas besoin de mettre en place des connecteurs personnalisés pour tous les autres systèmes. En plus de ces économies, un format de mémoire standardisé facilite la réutilisation des bibliothèques d'algorithmes, même entre les langages :<br />
<br />
<br />
[[File:Arrow4.jpg|300px|center|Transfert de données sans Arrow]]<br />
<br />
<br />
Dans la plupart des systèmes de stockage, la donnée est stockée sur disque ligne par ligne. Maintenant imaginons que l’on souhaite agréger la donnée, il faudra alors lire toutes les lignes, entièrement, une à une et extraire la donnée à agréger. Le stockage row-wise est une perte de temps, d’espace de stockage et de performance.<br />
<br />
Si l’on pense maintenant en format colonne où chaque colonne et ses valeurs sont stockées au même endroit, nous n’aurons besoin d’accéder qu’à la colonne à agréger pour faire notre calcul. Le stockage colonne nous permet de gagner en efficacité et en rapidité.<br />
<br />
<br />
[[File:Arrow5.png|500px|frame|center|Format traditionnel et format utilisé par Apache Arrow ]]<br />
<br />
= Alternatives =<br />
<br />
Arrow peut être utilisé avec Apache Parquet, Apache Spark, NumPy, PySpark, Pandas et d'autres bibliothèques de traitement de données. Cependant Apache Arrow reste la solution la plus complète actuellement.<br />
<br />
Apache Parquet et Apache ORC sont des exemples populaires de formats de données en colonnes sur disque. Arrow est conçu comme un complément à ces formats pour le traitement des données en mémoire. Les compromis d'ingénierie des ressources matérielles pour le traitement en mémoire varient de ceux associés au stockage sur disque. Les projets Arrow et Parquet comprennent des bibliothèques qui permettent de lire et d'écrire des données entre les deux formats. Ces projets sont donc plus complémentaires que concurrents.<br />
<br />
<br />
= Désavantage =<br />
<br />
Le principal désavantage avec Apache Arrow va avec son principal avantage: il est très complet, ce qui le rend difficile à prendre en main pour les débutants. malgré une communauté active et une documentation fournie.<br />
<br />
<br />
= Référence =<br />
# https://en.wikipedia.org/wiki/Apache_Arrow<br />
# https://github.com/apache/arrow<br />
# https://arrow.apache.org/<br />
# https://blog.ippon.fr/2020/10/28/apache-arrow/<br />
# https://big-data.developpez.com/actu/307542/Big-Data-la-plateforme-de-developpement-pour-l-analyse-in-memory-Apache-Arrow-1-0-0-est-disponible-et-s-accompagne-de-nombreuses-ameliorations/<br />
# https://www.dremio.com/data-lake/apache-arrow/ <br />
# https://www.youtube.com/watch?v=y7zGnKzaKIw<br />
# https://github.com/animeshtrivedi/blog/blob/master/post/2017-12-26-arrow.md<br />
<br />
<br />
= Veille Technologique 2020 =<br />
* Année : [[VT2020|VT2020]]<br />
* Sujet : Apache Arrow<br />
* [[Media:Présentation_Apache_Arrow.pdf|Présentation]]<br />
*[[VT2020-Apache Arrow-Demo|Démonstration]]<br />
* Auteurs : [[User:Robin.Delbos|Robin Delbos]]</div>Robin.Delboshttps://air.imag.fr/index.php?title=VT2020-Apache_Arrow-Fiche&diff=49310VT2020-Apache Arrow-Fiche2020-12-07T14:53:49Z<p>Robin.Delbos: </p>
<hr />
<div>[[File:Arrow_Logo.png|400px|thumb|Logo de Apache Arrow]]<br />
<br />
<br />
= Introduction =<br />
<br />
Apache arrow a été créé en octobre 2016 et est toujours en développement: la dernière version stable (v2.0.0) est sortie le 19 octobre 2020.<br />
<br />
Apache Arrow possède des bibliothèques pour:<br />
*C<br />
*C++<br />
*C#<br />
*Go<br />
*Java<br />
*JavaScript<br />
*Rust<br />
*MATLAB (via la librairie C++)<br />
*Python (via la librairie C++)<br />
*R (via la librairie C++)<br />
*Ruby (via la librairie C++). <br />
<br />
Ces bibliothèques font l'objet de tests d'intégration les unes par rapport aux autres afin de garantir leur fidélité au format.<br />
Ces bibliothèques officielles permettent à des projets tiers de travailler avec les données Arrow sans avoir à implémenter eux-mêmes le format en colonnes Arrow. <br />
<br />
<br />
= Qu'est ce que Apache Arrow =<br />
<br />
Apache Arrow est une plate-forme de développement logiciel pour la création d'applications hautes performances qui traitent et transportent de grands ensembles de données. Elle est conçue pour améliorer à la fois les performances des algorithmes analytiques et l'efficacité du transfert de données d'un système ou d'un langage de programmation à un autre.<br />
<br />
<br />
[[File:Arrow1.png|300px|frame|center|Transfert de données sans Arrow]]<br />
<br />
<br />
[[File:Arrow2.png|300px|frame|center|Transfert de données avec Arrow]]<br />
<br />
<br />
Un élément essentiel d'Apache Arrow est son format en colonne en mémoire, une spécification standardisée et agnostique du langage pour représenter des ensembles de données structurés et semblables à des tableaux en mémoire. Le format Apache Arrow permet aux moteurs d'exécution de maximiser leur efficacité lors de l'analyse et de l'itération de gros volumes de données. <br />
Sans un format standard de données en colonnes, chaque base de données et chaque langage possède son propre format de données interne ce qui génère beaucoup de gaspillage. <br />
Le déplacement des données d'un système à l'autre implique une sérialisation et une désérialisation coûteuses en temps et en mémoire. En outre, les algorithmes communs doivent souvent être réécrits pour chaque format de données :<br />
<br />
<br />
[[File:Arrow3.jpg|300px|center|Transfert de données sans Arrow]]<br />
<br />
<br />
Le format de données en colonnes en mémoire de Arrow est une solution toute prête pour résoudre ces problèmes. Les systèmes qui utilisent ou prennent en charge Arrow peuvent transférer des données entre eux à un coût minime, voire nul. De plus, ils n'ont pas besoin de mettre en place des connecteurs personnalisés pour tous les autres systèmes. En plus de ces économies, un format de mémoire standardisé facilite la réutilisation des bibliothèques d'algorithmes, même entre les langages :<br />
<br />
<br />
[[File:Arrow4.jpg|300px|center|Transfert de données sans Arrow]]<br />
<br />
<br />
Dans la plupart des systèmes de stockage, la donnée est stockée sur disque ligne par ligne. Maintenant imaginons que l’on souhaite agréger la donnée, il faudra alors lire toutes les lignes, entièrement, une à une et extraire la donnée à agréger. Le stockage row-wise est une perte de temps, d’espace de stockage et de performance.<br />
<br />
Si l’on pense maintenant en format colonne où chaque colonne et ses valeurs sont stockées au même endroit, nous n’aurons besoin d’accéder qu’à la colonne à agréger pour faire notre calcul. Le stockage colonne nous permet de gagner en efficacité et en rapidité.<br />
<br />
<br />
[[File:Arrow5.png|500px|frame|center|Format traditionnel et format utilisé par Apache Arrow ]]<br />
<br />
= Alternatives =<br />
<br />
Arrow peut être utilisé avec Apache Parquet, Apache Spark, NumPy, PySpark, Pandas et d'autres bibliothèques de traitement de données. Cependant Apache Arrow reste la solution la plus complète actuellement.<br />
<br />
Apache Parquet et Apache ORC sont des exemples populaires de formats de données en colonnes sur disque. Arrow est conçu comme un complément à ces formats pour le traitement des données en mémoire. Les compromis d'ingénierie des ressources matérielles pour le traitement en mémoire varient de ceux associés au stockage sur disque. Les projets Arrow et Parquet comprennent des bibliothèques qui permettent de lire et d'écrire des données entre les deux formats. Ces projets sont donc plus complémentaires que concurrents.<br />
<br />
<br />
= Désavantage =<br />
<br />
Le principal désavantage avec Apache Arrow va avec son principal avantage: il est très complet, ce qui le rend difficile à prendre en main pour les débutants. malgré une communauté active et une documentation fournie.<br />
<br />
<br />
= Référence =<br />
# https://en.wikipedia.org/wiki/Apache_Arrow<br />
# https://github.com/apache/arrow<br />
# https://arrow.apache.org/<br />
# https://blog.ippon.fr/2020/10/28/apache-arrow/<br />
# https://big-data.developpez.com/actu/307542/Big-Data-la-plateforme-de-developpement-pour-l-analyse-in-memory-Apache-Arrow-1-0-0-est-disponible-et-s-accompagne-de-nombreuses-ameliorations/<br />
# https://www.dremio.com/data-lake/apache-arrow/ <br />
# https://www.youtube.com/watch?v=y7zGnKzaKIw<br />
# https://github.com/animeshtrivedi/blog/blob/master/post/2017-12-26-arrow.md<br />
<br />
<br />
= Veille Technologique 2020 =<br />
* Année : [[VT2020|VT2020]]<br />
* Sujet : Apache Arrow<br />
* [[Media:Présentation_Apache_Arrow.pdf|Présentation]]<br />
*[[VT2020-Apache Arrow-Demo|Démonstration]]<br />
* Auteurs : [[User:Robin.Delbos|Robin Delbos]]</div>Robin.Delboshttps://air.imag.fr/index.php?title=VT2020-Apache_Arrow-Fiche&diff=49309VT2020-Apache Arrow-Fiche2020-12-07T14:18:02Z<p>Robin.Delbos: /* Qu'est ce que Apache Arrow */</p>
<hr />
<div>[[File:Arrow_Logo.png|400px|thumb|Logo de Apache Arrow]]<br />
<br />
<br />
= Introduction =<br />
<br />
Apache arrow a été créé en octobre 2016 et est toujours en développement: la dernière version stable (v2.0.0) est sortie le 19 octobre 2020.<br />
<br />
Apache Arrow possède des bibliothèques pour:<br />
*C<br />
*C++<br />
*C#<br />
*Go<br />
*Java<br />
*JavaScript<br />
*Rust<br />
*MATLAB (via la librairie C++)<br />
*Python (via la librairie C++)<br />
*R (via la librairie C++)<br />
*Ruby (via la librairie C++). <br />
<br />
Ces bibliothèques font l'objet de tests d'intégration les unes par rapport aux autres afin de garantir leur fidélité au format.<br />
Ces bibliothèques officielles permettent à des projets tiers de travailler avec les données Arrow sans avoir à implémenter eux-mêmes le format en colonnes Arrow. <br />
<br />
<br />
= Qu'est ce que Apache Arrow =<br />
<br />
Apache Arrow est une plate-forme de développement logiciel pour la création d'applications hautes performances qui traitent et transportent de grands ensembles de données. Elle est conçue pour améliorer à la fois les performances des algorithmes analytiques et l'efficacité du transfert de données d'un système ou d'un langage de programmation à un autre.<br />
<br />
<br />
[[File:Arrow1.png|300px|frame|center|Transfert de données sans Arrow]]<br />
<br />
<br />
[[File:Arrow2.png|300px|frame|center|Transfert de données avec Arrow]]<br />
<br />
<br />
Un élément essentiel d'Apache Arrow est son format en colonne en mémoire, une spécification standardisée et agnostique du langage pour représenter des ensembles de données structurés et semblables à des tableaux en mémoire. Le format Apache Arrow permet aux moteurs d'exécution de maximiser leur efficacité lors de l'analyse et de l'itération de gros volumes de données. <br />
Sans un format standard de données en colonnes, chaque base de données et chaque langage doit mettre en œuvre son propre format de données interne. Cela génère beaucoup de gaspillage. <br />
Le déplacement des données d'un système à l'autre implique une sérialisation et une désérialisation coûteuses en temps et en mémoire. En outre, les algorithmes communs doivent souvent être réécrits pour chaque format de données :<br />
<br />
<br />
[[File:Arrow3.jpg|300px|center|Transfert de données sans Arrow]]<br />
<br />
<br />
Le format de données en colonnes en mémoire de Arrow est une solution toute prête pour résoudre ces problèmes. Les systèmes qui utilisent ou prennent en charge Arrow peuvent transférer des données entre eux à un coût minime, voire nul. De plus, ils n'ont pas besoin de mettre en place des connecteurs personnalisés pour tous les autres systèmes. En plus de ces économies, un format de mémoire standardisé facilite la réutilisation des bibliothèques d'algorithmes, même entre les langages :<br />
<br />
<br />
[[File:Arrow4.jpg|300px|center|Transfert de données sans Arrow]]<br />
<br />
<br />
Dans la plupart des systèmes de stockage, la donnée est stockée sur disque ligne par ligne. Maintenant imaginons que l’on souhaite agréger la donnée, il faudra alors lire toutes les lignes, entièrement, une à une et extraire la donnée à agréger. Le stockage row-wise est une perte de temps, d’espace de stockage et de performance.<br />
<br />
Si l’on pense maintenant en format colonne où chaque colonne et ses valeurs sont stockées au même endroit, nous n’aurons besoin d’accéder qu’à la colonne à agréger pour faire notre calcul. Le stockage colonne nous permet de gagner en efficacité et en rapidité.<br />
<br />
<br />
[[File:Arrow5.png|500px|frame|center|Format traditionnel et format utilisé par Apache Arrow ]]<br />
<br />
= Alternatives =<br />
<br />
Arrow peut être utilisé avec Apache Parquet, Apache Spark, NumPy, PySpark, Pandas et d'autres bibliothèques de traitement de données. Cependant Apache Arrow reste la solution la plus complète actuellement.<br />
<br />
Apache Parquet et Apache ORC sont des exemples populaires de formats de données en colonnes sur disque. Arrow est conçu comme un complément à ces formats pour le traitement des données en mémoire. Les compromis d'ingénierie des ressources matérielles pour le traitement en mémoire varient de ceux associés au stockage sur disque. Les projets Arrow et Parquet comprennent des bibliothèques qui permettent de lire et d'écrire des données entre les deux formats. Ces projets sont donc plus complémentaires que concurrents.<br />
<br />
<br />
= Désavantage =<br />
<br />
Le principal désavantage avec Apache Arrow va avec son principal avantage: il est très complet, ce qui le rend difficile à prendre en main pour les débutants. malgré une communauté active et une documentation fournie.<br />
<br />
<br />
= Référence =<br />
# https://en.wikipedia.org/wiki/Apache_Arrow<br />
# https://github.com/apache/arrow<br />
# https://arrow.apache.org/<br />
# https://blog.ippon.fr/2020/10/28/apache-arrow/<br />
# https://big-data.developpez.com/actu/307542/Big-Data-la-plateforme-de-developpement-pour-l-analyse-in-memory-Apache-Arrow-1-0-0-est-disponible-et-s-accompagne-de-nombreuses-ameliorations/<br />
# https://www.dremio.com/data-lake/apache-arrow/ <br />
# https://www.youtube.com/watch?v=y7zGnKzaKIw<br />
# https://github.com/animeshtrivedi/blog/blob/master/post/2017-12-26-arrow.md<br />
<br />
<br />
= Veille Technologique 2020 =<br />
* Année : [[VT2020|VT2020]]<br />
* Sujet : Apache Arrow<br />
* [[Media:Présentation_Apache_Arrow.pdf|Présentation]]<br />
*[[VT2020-Apache Arrow-Demo|Démonstration]]<br />
* Auteurs : [[User:Robin.Delbos|Robin Delbos]]</div>Robin.Delboshttps://air.imag.fr/index.php?title=VT2020-Apache_Arrow-Demo&diff=49308VT2020-Apache Arrow-Demo2020-12-07T14:13:28Z<p>Robin.Delbos: </p>
<hr />
<div>= Code utilisé =<br />
<br />
Pour cette démonstration, le code que j'ai utilisé ne m'appartient pas.<br />
Vous pouvez retrouver ce code sur le github suivant : https://github.com/animeshtrivedi/ArrowExample<br />
<br />
= Démonstration =<br />
<br />
Une fois le code téléchargé, il vous faudra exécuter le script build-single-assembly.sh afin de créer un fichier jar contenant toutes les classes.<br />
<br />
<pre><br />
./build-single-assembly.sh<br />
</pre><br />
<br />
Ensuite il vous faudra exécuter le script run-write.sh afin de générer des données aléatoires en format Arrow et de les écrire dans le fichier "example.arrow".<br />
<br />
<pre><br />
./run-write.sh<br />
</pre><br />
<br />
Enfin, il vous faudra exécuter le script run-read.sh afin de pouvoir lire les données générer dans le fichier "example.arrow".<br />
<br />
<pre><br />
./run-read.sh<br />
</pre><br />
<br />
On obtient un tableau a 4 colonnes (intAccessor, bigIntAccessor, varBinaryAccessor et float) où chacune d'elle contient les éléments qui lui sont associés : La colonne intAccessor ne contient que des short int, la colonne bigIntAccessor ne contient que des long int, la colonne varBinaryAccessor ne contient que des variables binaires et la colonne float ne contient que des float.<br />
<br />
Maintenant que les données sont sous le format Apache Arrow, elles pourront être transférées à tout autre système ou langage de programmation supporté par Arrow, et cela, sans devoir copier ni convertir les données. Cela va donc nous permettre de gagner du temps et de la mémoire et de rendre le transfert plus efficace.<br />
<br />
= Veille Technologique 2020 =<br />
* Année : [[VT2020|VT2020]]<br />
* Sujet : Apache Arrow<br />
* [[VT2020-Apache Arrow-Fiche|Fiche de synthèse]]<br />
* [[Media:Présentation_Apache_Arrow.pdf|Présentation]]<br />
* Auteurs : [[User:Robin.Delbos|Robin Delbos]]</div>Robin.Delboshttps://air.imag.fr/index.php?title=VT2020-Apache_Arrow-Demo&diff=49307VT2020-Apache Arrow-Demo2020-12-07T14:12:19Z<p>Robin.Delbos: </p>
<hr />
<div>= Code utilisé =<br />
<br />
Pour cette démonstration, le code que j'ai utilisé ne m'appartient pas.<br />
Vous pouvez retrouver ce code sur le github suivant : https://github.com/animeshtrivedi/ArrowExample<br />
<br />
= Démonstration =<br />
<br />
Une fois le code téléchargé, il vous faudra exécuter le script build-single-assembly.sh afin de créer un fichier jar contenant toutes les classes.<br />
<br />
<pre><br />
./build-single-assembly.sh<br />
</pre><br />
<br />
Ensuite il vous faudra exécuter le script run-write.sh afin de générer des données aléatoires en format Arrow et de les écrire dans le fichier "example.arrow".<br />
<br />
<pre><br />
./run-write.sh<br />
</pre><br />
<br />
Enfin, il vous faudra exécuter le script run-read.sh afin de pouvoir lire les données générer dans le fichier "example.arrow".<br />
<br />
<pre><br />
./run-read.sh<br />
</pre><br />
<br />
On obtient un tableau a 4 colonnes (intAccessor, bigIntAccessor, varBinaryAccessor et float) où chacune d'elle contient les éléments qui lui sont associés : La colonne intAccessor ne contient que des short int, la colonne bigIntAccessor ne contient que des long int, la colonne varBinaryAccessor ne contient que des variables binaires et la colonne float ne contient que des float.<br />
<br />
Maintenant que les données sont sous le format Apache Arrow, elles pourront être transférées à tout autre système ou langage de programmation supporté par Arrow, et cela, sans devoir copier ni convertir les données. Cela va donc nous permettre de gagner du temps et de la mémoire et de rendre le transfert plus efficace.<br />
<br />
= Veille Technologique 2020 =<br />
* Année : [[VT2020|VT2020]]<br />
* Sujet : Apache Arrow<br />
* [[Media:Présentation_Apache_Arrow.pdf|Présentation]]<br />
* [[VT2020-Apache Arrow-Demo|Démonstration]]<br />
* Auteurs : [[User:Robin.Delbos|Robin Delbos]]</div>Robin.Delboshttps://air.imag.fr/index.php?title=VT2020-Apache_Arrow-Demo&diff=49306VT2020-Apache Arrow-Demo2020-12-07T14:12:00Z<p>Robin.Delbos: /* Démonstration */</p>
<hr />
<div>= Code utilisé =<br />
<br />
Pour cette démonstration, le code que j'ai utilisé ne m'appartient pas.<br />
Vous pouvez retrouver ce code sur le github suivant : https://github.com/animeshtrivedi/ArrowExample<br />
<br />
= Démonstration =<br />
<br />
Une fois le code téléchargé, il vous faudra exécuter le script build-single-assembly.sh afin de créer un fichier jar contenant toutes les classes.<br />
<br />
<pre><br />
./build-single-assembly.sh<br />
</pre><br />
<br />
Ensuite il vous faudra exécuter le script run-write.sh afin de générer des données aléatoires en format Arrow et de les écrire dans le fichier "example.arrow".<br />
<br />
<pre><br />
./run-write.sh<br />
</pre><br />
<br />
Enfin, il vous faudra exécuter le script run-read.sh afin de pouvoir lire les données générer dans le fichier "example.arrow".<br />
<br />
<pre><br />
./run-read.sh<br />
</pre><br />
<br />
On obtient un tableau a 4 colonnes (intAccessor, bigIntAccessor, varBinaryAccessor et float) où chacune d'elle contient les éléments qui lui sont associés : La colonne intAccessor ne contient que des short int, la colonne bigIntAccessor ne contient que des long int, la colonne varBinaryAccessor ne contient que des variables binaires et la colonne float ne contient que des float.<br />
<br />
Maintenant que les données sont sous le format Apache Arrow, elles pourront être transférées à tout autre système ou langage de programmation supporté par Arrow, et cela, sans devoir copier ni convertir les données. Cela va donc nous permettre de gagner du temps et de la mémoire et de rendre le transfert plus efficace.<br />
<br />
= Veille Technologique 2020 =<br />
* Année : [[VT2020|VT2020]]<br />
* Sujet : Apache Arrow<br />
* [[Media:Présentation_Apache_Arrow.pdf|Présentation]]<br />
*[[VT2020-Apache Arrow-Demo|Démonstration]]<br />
* Auteurs : [[User:Robin.Delbos|Robin Delbos]]</div>Robin.Delboshttps://air.imag.fr/index.php?title=VT2020-Apache_Arrow-Demo&diff=49305VT2020-Apache Arrow-Demo2020-12-07T14:08:27Z<p>Robin.Delbos: </p>
<hr />
<div>= Code utilisé =<br />
<br />
Pour cette démonstration, le code que j'ai utilisé ne m'appartient pas.<br />
Vous pouvez retrouver ce code sur le github suivant : https://github.com/animeshtrivedi/ArrowExample<br />
<br />
= Démonstration =<br />
<br />
Une fois le code téléchargé, il vous faudra exécuter le script build-single-assembly.sh afin de créer un fichier jar contenant toutes les classes.<br />
<br />
<pre><br />
./build-single-assembly.sh<br />
</pre><br />
<br />
Ensuite il vous faudra exécuter le script run-write.sh afin de générer des données aléatoires Arrow et de les écrire dans le fichier "example.arrow".<br />
<br />
<pre><br />
./run-write.sh<br />
</pre><br />
<br />
Enfin, il vous faudra exécuter le script run-read.sh afin de pouvoir lire les données générer dans le fichier "example.arrow".<br />
<br />
<pre><br />
./run-read.sh<br />
</pre><br />
<br />
On obtient un tableau a 4 colonnes (intAccessor, bigIntAccessor, varBinaryAccessor et float) où chacune de ces colonnes contient les éléments qui lui sont associés : La colonne intAccessor ne contient que des short int, la colonne float ne contient que des float, ...<br />
<br />
Maintenant que les données sous le format Apache Arrow, elles pourront être transféré à tout autre système où langage de programmation supporté par Arrow, et cela, sans devoir copié ni convertir les données. Cela va donc nous permettre de gagner du temps et de la mémoire et de rendre le transfert efficace.<br />
<br />
<br />
= Veille Technologique 2020 =<br />
* Année : [[VT2020|VT2020]]<br />
* Sujet : Apache Arrow<br />
* [[Media:Présentation_Apache_Arrow.pdf|Présentation]]<br />
*[[VT2020-Apache Arrow-Demo|Démonstration]]<br />
* Auteurs : [[User:Robin.Delbos|Robin Delbos]]</div>Robin.Delboshttps://air.imag.fr/index.php?title=VT2020-Apache_Arrow-Fiche&diff=49304VT2020-Apache Arrow-Fiche2020-12-07T14:06:03Z<p>Robin.Delbos: </p>
<hr />
<div>[[File:Arrow_Logo.png|400px|thumb|Logo de Apache Arrow]]<br />
<br />
<br />
= Introduction =<br />
<br />
Apache arrow a été créé en octobre 2016 et est toujours en développement: la dernière version stable (v2.0.0) est sortie le 19 octobre 2020.<br />
<br />
Apache Arrow possède des bibliothèques pour:<br />
*C<br />
*C++<br />
*C#<br />
*Go<br />
*Java<br />
*JavaScript<br />
*Rust<br />
*MATLAB (via la librairie C++)<br />
*Python (via la librairie C++)<br />
*R (via la librairie C++)<br />
*Ruby (via la librairie C++). <br />
<br />
Ces bibliothèques font l'objet de tests d'intégration les unes par rapport aux autres afin de garantir leur fidélité au format.<br />
Ces bibliothèques officielles permettent à des projets tiers de travailler avec les données Arrow sans avoir à implémenter eux-mêmes le format en colonnes Arrow. <br />
<br />
<br />
= Qu'est ce que Apache Arrow =<br />
<br />
Apache Arrow est une plate-forme de développement logiciel pour la création d'applications hautes performances qui traitent et transportent de grands ensembles de données. Elle est conçue pour améliorer à la fois les performances des algorithmes analytiques et l'efficacité du transfert de données d'un système ou d'un langage de programmation à un autre.<br />
<br />
<br />
[[File:Arrow1.png|300px|frame|center|Transfert de données sans Arrow]]<br />
<br />
<br />
[[File:Arrow2.png|300px|frame|center|Transfert de données avec Arrow]]<br />
<br />
<br />
Un élément essentiel d'Apache Arrow est son format en colonne en mémoire, une spécification standardisée et agnostique du langage pour représenter des ensembles de données structurés et semblables à des tableaux en mémoire. Le format Apache Arrow permet aux moteurs d'exécution de maximiser leur efficacité lors de l'analyse et de l'itération de gros volumes de données. <br />
Sans un format standard de données en colonnes, chaque base de données et chaque langue doit mettre en œuvre son propre format de données interne. Cela génère beaucoup de gaspillage. <br />
Le déplacement des données d'un système à l'autre implique une sérialisation et une désérialisation coûteuses en temps et en mémoire. En outre, les algorithmes communs doivent souvent être réécrits pour chaque format de données :<br />
<br />
<br />
[[File:Arrow3.jpg|300px|center|Transfert de données sans Arrow]]<br />
<br />
<br />
Le format de données en colonnes en mémoire de Arrow est une solution toute prête pour résoudre ces problèmes. Les systèmes qui utilisent ou prennent en charge Arrow peuvent transférer des données entre eux à un coût minime, voire nul. De plus, ils n'ont pas besoin de mettre en place des connecteurs personnalisés pour tous les autres systèmes. En plus de ces économies, un format de mémoire standardisé facilite la réutilisation des bibliothèques d'algorithmes, même entre les langages :<br />
<br />
<br />
[[File:Arrow4.jpg|300px|center|Transfert de données sans Arrow]]<br />
<br />
<br />
Dans la plupart des systèmes de stockage, la donnée est stockée sur disque ligne par ligne. Maintenant imaginons que l’on souhaite agréger la donnée, il faudra alors lire toutes les lignes, entièrement, une à une et extraire la donnée à agréger. Le stockage row-wise est une perte de temps, d’espace de stockage et de performance.<br />
<br />
Si l’on pense maintenant en format colonne où chaque colonne et ses valeurs sont stockées au même endroit, nous n’aurons besoin d’accéder qu’à la colonne à agréger pour faire notre calcul. Le stockage colonne nous permet de gagner en efficacité et en rapidité.<br />
<br />
<br />
[[File:Arrow5.png|500px|frame|center|Format traditionnel et format utilisé par Apache Arrow ]]<br />
<br />
<br />
= Alternatives =<br />
<br />
Arrow peut être utilisé avec Apache Parquet, Apache Spark, NumPy, PySpark, Pandas et d'autres bibliothèques de traitement de données. Cependant Apache Arrow reste la solution la plus complète actuellement.<br />
<br />
Apache Parquet et Apache ORC sont des exemples populaires de formats de données en colonnes sur disque. Arrow est conçu comme un complément à ces formats pour le traitement des données en mémoire. Les compromis d'ingénierie des ressources matérielles pour le traitement en mémoire varient de ceux associés au stockage sur disque. Les projets Arrow et Parquet comprennent des bibliothèques qui permettent de lire et d'écrire des données entre les deux formats. Ces projets sont donc plus complémentaires que concurrents.<br />
<br />
<br />
= Désavantage =<br />
<br />
Le principal désavantage avec Apache Arrow va avec son principal avantage: il est très complet, ce qui le rend difficile à prendre en main pour les débutants. malgré une communauté active et une documentation fournie.<br />
<br />
<br />
= Référence =<br />
# https://en.wikipedia.org/wiki/Apache_Arrow<br />
# https://github.com/apache/arrow<br />
# https://arrow.apache.org/<br />
# https://blog.ippon.fr/2020/10/28/apache-arrow/<br />
# https://big-data.developpez.com/actu/307542/Big-Data-la-plateforme-de-developpement-pour-l-analyse-in-memory-Apache-Arrow-1-0-0-est-disponible-et-s-accompagne-de-nombreuses-ameliorations/<br />
# https://www.dremio.com/data-lake/apache-arrow/ <br />
# https://www.youtube.com/watch?v=y7zGnKzaKIw<br />
# https://github.com/animeshtrivedi/blog/blob/master/post/2017-12-26-arrow.md<br />
<br />
<br />
= Veille Technologique 2020 =<br />
* Année : [[VT2020|VT2020]]<br />
* Sujet : Apache Arrow<br />
* [[Media:Présentation_Apache_Arrow.pdf|Présentation]]<br />
*[[VT2020-Apache Arrow-Demo|Démonstration]]<br />
* Auteurs : [[User:Robin.Delbos|Robin Delbos]]</div>Robin.Delboshttps://air.imag.fr/index.php?title=VT2020-Apache_Arrow-Demo&diff=49303VT2020-Apache Arrow-Demo2020-12-07T13:58:08Z<p>Robin.Delbos: Created page with "= Code utilisé = Pour cette démonstration, le code que j'ai utilisé ne m'appartient pas. Vous pouvez retrouver ce code sur le github suivant : https://github.com/animeshtr..."</p>
<hr />
<div>= Code utilisé =<br />
<br />
Pour cette démonstration, le code que j'ai utilisé ne m'appartient pas.<br />
Vous pouvez retrouver ce code sur le github suivant : https://github.com/animeshtrivedi/ArrowExample<br />
<br />
= Démonstration =<br />
<br />
Une fois le code téléchargé, il vous faudra exécuter le script build-single-assembly.sh afin de créer un fichier jar contenant toutes les classes.<br />
<br />
<pre><br />
./build-single-assembly.sh<br />
</pre><br />
<br />
Ensuite il vous faudra exécuter le script run-write.sh afin de générer des données aléatoires et de les écrire dans le fichier "example.arrow".<br />
<br />
<pre><br />
./run-write.sh<br />
</pre><br />
<br />
Enfin, il vous faudra exécuter le script run-read.sh afin de pouvoir lire les données générer dans le fichier "example.arrow".<br />
<br />
<pre><br />
./run-read.sh<br />
</pre><br />
<br />
<br />
= Veille Technologique 2020 =<br />
* Année : [[VT2020|VT2020]]<br />
* Sujet : Apache Arrow<br />
* [[Media:Présentation_Apache_Arrow.pdf|Présentation]]<br />
*[[VT2020-Apache Arrow-Demo|Démonstration]]<br />
* Auteurs : [[User:Robin.Delbos|Robin Delbos]]</div>Robin.Delboshttps://air.imag.fr/index.php?title=VT2020-Apache_Arrow-Fiche&diff=49302VT2020-Apache Arrow-Fiche2020-12-07T13:44:32Z<p>Robin.Delbos: </p>
<hr />
<div>[[File:Arrow_Logo.png|400px|thumb|Logo de Apache Arrow]]<br />
<br />
<br />
= Introduction =<br />
<br />
Apache arrow a été créé en octobre 2016 et est toujours en développement: la dernière version stable (v2.0.0) est sortie le 19 octobre 2020.<br />
<br />
Apache Arrow possède des bibliothèques pour:<br />
*C<br />
*C++<br />
*C#<br />
*Go<br />
*Java<br />
*JavaScript<br />
*Rust<br />
*MATLAB (via la librairie C++)<br />
*Python (via la librairie C++)<br />
*R (via la librairie C++)<br />
*Ruby (via la librairie C++). <br />
<br />
Ces bibliothèques font l'objet de tests d'intégration les unes par rapport aux autres afin de garantir leur fidélité au format.<br />
Ces bibliothèques officielles permettent à des projets tiers de travailler avec les données Arrow sans avoir à implémenter eux-mêmes le format en colonnes Arrow. <br />
<br />
<br />
= Qu'est ce que Apache Arrow =<br />
<br />
Apache Arrow est une plate-forme de développement logiciel pour la création d'applications hautes performances qui traitent et transportent de grands ensembles de données. Elle est conçue pour améliorer à la fois les performances des algorithmes analytiques et l'efficacité du transfert de données d'un système ou d'un langage de programmation à un autre.<br />
<br />
<br />
[[File:Arrow1.png|300px|frame|center|Transfert de données sans Arrow]]<br />
<br />
<br />
[[File:Arrow2.png|300px|frame|center|Transfert de données avec Arrow]]<br />
<br />
<br />
Un élément essentiel d'Apache Arrow est son format en colonne en mémoire, une spécification standardisée et agnostique du langage pour représenter des ensembles de données structurés et semblables à des tableaux en mémoire. Le format Apache Arrow permet aux moteurs d'exécution de maximiser leur efficacité lors de l'analyse et de l'itération de gros volumes de données. <br />
Sans un format standard de données en colonnes, chaque base de données et chaque langue doit mettre en œuvre son propre format de données interne. Cela génère beaucoup de gaspillage. <br />
Le déplacement des données d'un système à l'autre implique une sérialisation et une désérialisation coûteuses en temps et en mémoire. En outre, les algorithmes communs doivent souvent être réécrits pour chaque format de données :<br />
<br />
<br />
[[File:Arrow3.jpg|300px|center|Transfert de données sans Arrow]]<br />
<br />
<br />
Le format de données en colonnes en mémoire de Arrow est une solution toute prête pour résoudre ces problèmes. Les systèmes qui utilisent ou prennent en charge Arrow peuvent transférer des données entre eux à un coût minime, voire nul. De plus, ils n'ont pas besoin de mettre en place des connecteurs personnalisés pour tous les autres systèmes. En plus de ces économies, un format de mémoire standardisé facilite la réutilisation des bibliothèques d'algorithmes, même entre les langues :<br />
<br />
<br />
[[File:Arrow4.jpg|300px|center|Transfert de données sans Arrow]]<br />
<br />
<br />
Dans la plupart des systèmes de stockage, la donnée est stockée sur disque ligne par ligne. Maintenant imaginons que l’on souhaite agréger la donnée, il faudra alors lire toutes les lignes, entièrement, une à une et extraire la donnée à agréger. Le stockage row-wise est une perte de temps, d’espace de stockage et de performance.<br />
<br />
Si l’on pense maintenant en format colonne où chaque colonne et ses valeurs sont stockées au même endroit, nous n’aurons besoin d’accéder qu’à la colonne à agréger pour faire notre calcul. Le stockage colonne nous permet de gagner en efficacité et en rapidité.<br />
<br />
<br />
[[File:Arrow5.png|500px|frame|center|Format traditionnel et format utilisé par Apache Arrow ]]<br />
<br />
= Alternatives =<br />
<br />
Arrow peut être utilisé avec Apache Parquet, Apache Spark, NumPy, PySpark, Pandas et d'autres bibliothèques de traitement de données. Cependant Apache Arrow reste la solution la plus complète actuellement.<br />
<br />
Apache Parquet et Apache ORC sont des exemples populaires de formats de données en colonnes sur disque. Arrow est conçu comme un complément à ces formats pour le traitement des données en mémoire. Les compromis d'ingénierie des ressources matérielles pour le traitement en mémoire varient de ceux associés au stockage sur disque. Les projets Arrow et Parquet comprennent des bibliothèques qui permettent de lire et d'écrire des données entre les deux formats. Ces projets sont donc plus complémentaires que concurrents.<br />
<br />
<br />
= Désavantage =<br />
<br />
Le principal désavantage avec Apache Arrow va avec son principal avantage: il est très complet, ce qui le rend difficile à prendre en main pour les débutants. malgré une communauté active et une documentation fournie.<br />
<br />
<br />
= Référence =<br />
# https://en.wikipedia.org/wiki/Apache_Arrow<br />
# https://github.com/apache/arrow<br />
# https://arrow.apache.org/<br />
# https://blog.ippon.fr/2020/10/28/apache-arrow/<br />
# https://big-data.developpez.com/actu/307542/Big-Data-la-plateforme-de-developpement-pour-l-analyse-in-memory-Apache-Arrow-1-0-0-est-disponible-et-s-accompagne-de-nombreuses-ameliorations/<br />
# https://www.dremio.com/data-lake/apache-arrow/ <br />
# https://www.youtube.com/watch?v=y7zGnKzaKIw<br />
# https://github.com/animeshtrivedi/blog/blob/master/post/2017-12-26-arrow.md<br />
<br />
<br />
= Veille Technologique 2020 =<br />
* Année : [[VT2020|VT2020]]<br />
* Sujet : Apache Arrow<br />
* [[Media:Présentation_Apache_Arrow.pdf|Présentation]]<br />
*[[VT2020-Apache Arrow-Demo|Démonstration]]<br />
* Auteurs : [[User:Robin.Delbos|Robin Delbos]]</div>Robin.Delboshttps://air.imag.fr/index.php?title=VT2020-Apache_Arrow-Fiche&diff=49301VT2020-Apache Arrow-Fiche2020-12-07T13:42:55Z<p>Robin.Delbos: /* Qu'est ce que Apache Arrow */</p>
<hr />
<div>[[File:Arrow_Logo.png|400px|thumb|Logo de Apache Arrow]]<br />
<br />
<br />
= Introduction =<br />
<br />
Apache arrow a été créé en octobre 2016 et est toujours en développement: la dernière version stable (v2.0.0) est sortie le 19 octobre 2020.<br />
<br />
Apache Arrow possède des bibliothèques pour:<br />
*C<br />
*C++<br />
*C#<br />
*Go<br />
*Java<br />
*JavaScript<br />
*Rust<br />
*MATLAB (via la librairie C++)<br />
*Python (via la librairie C++)<br />
*R (via la librairie C++)<br />
*Ruby (via la librairie C++). <br />
<br />
Ces bibliothèques font l'objet de tests d'intégration les unes par rapport aux autres afin de garantir leur fidélité au format.<br />
Ces bibliothèques officielles permettent à des projets tiers de travailler avec les données Arrow sans avoir à implémenter eux-mêmes le format en colonnes Arrow. <br />
<br />
<br />
= Qu'est ce que Apache Arrow =<br />
<br />
Apache Arrow est une plate-forme de développement logiciel pour la création d'applications hautes performances qui traitent et transportent de grands ensembles de données. Elle est conçue pour améliorer à la fois les performances des algorithmes analytiques et l'efficacité du transfert de données d'un système ou d'un langage de programmation à un autre.<br />
<br />
<br />
[[File:Arrow1.png|300px|frame|center|Transfert de données sans Arrow]]<br />
<br />
<br />
[[File:Arrow2.png|300px|frame|center|Transfert de données avec Arrow]]<br />
<br />
<br />
Un élément essentiel d'Apache Arrow est son format en colonne en mémoire, une spécification standardisée et agnostique du langage pour représenter des ensembles de données structurés et semblables à des tableaux en mémoire. Le format Apache Arrow permet aux moteurs d'exécution de maximiser leur efficacité lors de l'analyse et de l'itération de gros volumes de données. <br />
Sans un format standard de données en colonnes, chaque base de données et chaque langue doit mettre en œuvre son propre format de données interne. Cela génère beaucoup de gaspillage. <br />
Le déplacement des données d'un système à l'autre implique une sérialisation et une désérialisation coûteuses en temps et en mémoire. En outre, les algorithmes communs doivent souvent être réécrits pour chaque format de données :<br />
<br />
<br />
[[File:Arrow3.jpg|300px|center|Transfert de données sans Arrow]]<br />
<br />
<br />
Le format de données en colonnes en mémoire de Arrow est une solution toute prête pour résoudre ces problèmes. Les systèmes qui utilisent ou prennent en charge Arrow peuvent transférer des données entre eux à un coût minime, voire nul. De plus, ils n'ont pas besoin de mettre en place des connecteurs personnalisés pour tous les autres systèmes. En plus de ces économies, un format de mémoire standardisé facilite la réutilisation des bibliothèques d'algorithmes, même entre les langues :<br />
<br />
<br />
[[File:Arrow4.jpg|300px|center|Transfert de données sans Arrow]]<br />
<br />
<br />
Dans la plupart des systèmes de stockage, la donnée est stockée sur disque ligne par ligne. Maintenant imaginons que l’on souhaite agréger la donnée, il faudra alors lire toutes les lignes, entièrement, une à une et extraire la donnée à agréger. Le stockage row-wise est une perte de temps, d’espace de stockage et de performance.<br />
<br />
Si l’on pense maintenant en format colonne où chaque colonne et ses valeurs sont stockées au même endroit, nous n’aurons besoin d’accéder qu’à la colonne à agréger pour faire notre calcul. Le stockage colonne nous permet de gagner en efficacité et en rapidité.<br />
<br />
<br />
[[File:Arrow5.png|500px|frame|center|Format traditionnel et format utilisé par Apache Arrow ]]<br />
<br />
= Alternatives =<br />
<br />
Arrow peut être utilisé avec Apache Parquet, Apache Spark, NumPy, PySpark, Pandas et d'autres bibliothèques de traitement de données. Cependant Apache Arrow reste la solution la plus complète actuellement.<br />
<br />
Apache Parquet et Apache ORC sont des exemples populaires de formats de données en colonnes sur disque. Arrow est conçu comme un complément à ces formats pour le traitement des données en mémoire. Les compromis d'ingénierie des ressources matérielles pour le traitement en mémoire varient de ceux associés au stockage sur disque. Les projets Arrow et Parquet comprennent des bibliothèques qui permettent de lire et d'écrire des données entre les deux formats. Ces projets sont donc plus complémentaires que concurrents.<br />
<br />
<br />
= Désavantage =<br />
<br />
Le principal désavantage avec Apache Arrow va avec son principal avantage: il est très complet, ce qui le rend difficile à prendre en main pour les débutants. malgré une communauté active et une documentation fournie.<br />
<br />
<br />
= Référence =<br />
# https://en.wikipedia.org/wiki/Apache_Arrow<br />
# https://github.com/apache/arrow<br />
# https://arrow.apache.org/<br />
# https://blog.ippon.fr/2020/10/28/apache-arrow/<br />
# https://big-data.developpez.com/actu/307542/Big-Data-la-plateforme-de-developpement-pour-l-analyse-in-memory-Apache-Arrow-1-0-0-est-disponible-et-s-accompagne-de-nombreuses-ameliorations/<br />
# https://www.dremio.com/data-lake/apache-arrow/ <br />
# https://www.youtube.com/watch?v=y7zGnKzaKIw<br />
# https://github.com/animeshtrivedi/blog/blob/master/post/2017-12-26-arrow.md<br />
<br />
<br />
= Veille Technologique 2020 =<br />
* Année : [[VT2020|VT2020]]<br />
* Sujet : Apache Arrow<br />
* Auteurs : [[User:Robin.Delbos|Robin Delbos]]</div>Robin.Delboshttps://air.imag.fr/index.php?title=VT2020-Apache_Arrow-Fiche&diff=49300VT2020-Apache Arrow-Fiche2020-12-07T13:40:43Z<p>Robin.Delbos: /* Qu'est ce que Apache Arrow */</p>
<hr />
<div>[[File:Arrow_Logo.png|400px|thumb|Logo de Apache Arrow]]<br />
<br />
<br />
= Introduction =<br />
<br />
Apache arrow a été créé en octobre 2016 et est toujours en développement: la dernière version stable (v2.0.0) est sortie le 19 octobre 2020.<br />
<br />
Apache Arrow possède des bibliothèques pour:<br />
*C<br />
*C++<br />
*C#<br />
*Go<br />
*Java<br />
*JavaScript<br />
*Rust<br />
*MATLAB (via la librairie C++)<br />
*Python (via la librairie C++)<br />
*R (via la librairie C++)<br />
*Ruby (via la librairie C++). <br />
<br />
Ces bibliothèques font l'objet de tests d'intégration les unes par rapport aux autres afin de garantir leur fidélité au format.<br />
Ces bibliothèques officielles permettent à des projets tiers de travailler avec les données Arrow sans avoir à implémenter eux-mêmes le format en colonnes Arrow. <br />
<br />
<br />
= Qu'est ce que Apache Arrow =<br />
<br />
Apache Arrow est une plate-forme de développement logiciel pour la création d'applications hautes performances qui traitent et transportent de grands ensembles de données. Elle est conçue pour améliorer à la fois les performances des algorithmes analytiques et l'efficacité du transfert de données d'un système ou d'un langage de programmation à un autre.<br />
<br />
<br />
[[File:Arrow1.png|300px|frame|center|Transfert de données sans Arrow]]<br />
<br />
<br />
[[File:Arrow2.png|300px|frame|center|Transfert de données avec Arrow]]<br />
<br />
<br />
Un élément essentiel d'Apache Arrow est son format en colonne en mémoire, une spécification standardisée et agnostique du langage pour représenter des ensembles de données structurés et semblables à des tableaux en mémoire. Le format Apache Arrow permet aux moteurs d'exécution de maximiser leur efficacité lors de l'analyse et de l'itération de gros volumes de données. <br />
Sans un format standard de données en colonnes, chaque base de données et chaque langue doit mettre en œuvre son propre format de données interne. Cela génère beaucoup de gaspillage. <br />
Le déplacement des données d'un système à l'autre implique une sérialisation et une désérialisation coûteuses en temps et en mémoire. En outre, les algorithmes communs doivent souvent être réécrits pour chaque format de données :<br />
<br />
<br />
[[File:Arrow3.jpg|300px|center|Transfert de données sans Arrow]]<br />
<br />
<br />
Le format de données en colonnes en mémoire de Arrow est une solution toute prête pour résoudre ces problèmes. Les systèmes qui utilisent ou prennent en charge Arrow peuvent transférer des données entre eux à un coût minime, voire nul. De plus, ils n'ont pas besoin de mettre en place des connecteurs personnalisés pour tous les autres systèmes. En plus de ces économies, un format de mémoire standardisé facilite la réutilisation des bibliothèques d'algorithmes, même entre les langues :<br />
<br />
<br />
[[File:Arrow4.jpg|300px|center|Transfert de données sans Arrow]]<br />
<br />
<br />
Dans la plupart des systèmes de stockage, la donnée est stockée sur disque ligne par ligne. Maintenant imaginons que l’on souhaite agréger la donnée, il faudra alors lire toutes les lignes, entièrement, une à une et extraire la donnée à agréger. Le stockage row-wise est une perte de temps, d’espace de stockage et de performance.<br />
<br />
Si l’on pense maintenant en format colonne où chaque colonne et ses valeurs sont stockées au même endroit, nous n’aurons besoin d’accéder qu’à la colonne à agréger pour faire notre calcul. Le stockage colonne nous permet de gagner en efficacité et en rapidité.<br />
<br />
<br />
[[File:Arrow5.png|500px|frame|center|Transfert de données sans Arrow]]<br />
<br />
= Alternatives =<br />
<br />
Arrow peut être utilisé avec Apache Parquet, Apache Spark, NumPy, PySpark, Pandas et d'autres bibliothèques de traitement de données. Cependant Apache Arrow reste la solution la plus complète actuellement.<br />
<br />
Apache Parquet et Apache ORC sont des exemples populaires de formats de données en colonnes sur disque. Arrow est conçu comme un complément à ces formats pour le traitement des données en mémoire. Les compromis d'ingénierie des ressources matérielles pour le traitement en mémoire varient de ceux associés au stockage sur disque. Les projets Arrow et Parquet comprennent des bibliothèques qui permettent de lire et d'écrire des données entre les deux formats. Ces projets sont donc plus complémentaires que concurrents.<br />
<br />
<br />
= Désavantage =<br />
<br />
Le principal désavantage avec Apache Arrow va avec son principal avantage: il est très complet, ce qui le rend difficile à prendre en main pour les débutants. malgré une communauté active et une documentation fournie.<br />
<br />
<br />
= Référence =<br />
# https://en.wikipedia.org/wiki/Apache_Arrow<br />
# https://github.com/apache/arrow<br />
# https://arrow.apache.org/<br />
# https://blog.ippon.fr/2020/10/28/apache-arrow/<br />
# https://big-data.developpez.com/actu/307542/Big-Data-la-plateforme-de-developpement-pour-l-analyse-in-memory-Apache-Arrow-1-0-0-est-disponible-et-s-accompagne-de-nombreuses-ameliorations/<br />
# https://www.dremio.com/data-lake/apache-arrow/ <br />
# https://www.youtube.com/watch?v=y7zGnKzaKIw<br />
# https://github.com/animeshtrivedi/blog/blob/master/post/2017-12-26-arrow.md<br />
<br />
<br />
= Veille Technologique 2020 =<br />
* Année : [[VT2020|VT2020]]<br />
* Sujet : Apache Arrow<br />
* Auteurs : [[User:Robin.Delbos|Robin Delbos]]</div>Robin.Delboshttps://air.imag.fr/index.php?title=File:Arrow5.png&diff=49299File:Arrow5.png2020-12-07T13:39:10Z<p>Robin.Delbos: Robin.Delbos uploaded a new version of File:Arrow5.png</p>
<hr />
<div></div>Robin.Delboshttps://air.imag.fr/index.php?title=File:Arrow5.png&diff=49298File:Arrow5.png2020-12-07T13:38:46Z<p>Robin.Delbos: </p>
<hr />
<div></div>Robin.Delboshttps://air.imag.fr/index.php?title=VT2020-Apache_Arrow-Fiche&diff=49297VT2020-Apache Arrow-Fiche2020-12-07T13:38:10Z<p>Robin.Delbos: /* Qu'est ce que Apache Arrow */</p>
<hr />
<div>[[File:Arrow_Logo.png|400px|thumb|Logo de Apache Arrow]]<br />
<br />
<br />
= Introduction =<br />
<br />
Apache arrow a été créé en octobre 2016 et est toujours en développement: la dernière version stable (v2.0.0) est sortie le 19 octobre 2020.<br />
<br />
Apache Arrow possède des bibliothèques pour:<br />
*C<br />
*C++<br />
*C#<br />
*Go<br />
*Java<br />
*JavaScript<br />
*Rust<br />
*MATLAB (via la librairie C++)<br />
*Python (via la librairie C++)<br />
*R (via la librairie C++)<br />
*Ruby (via la librairie C++). <br />
<br />
Ces bibliothèques font l'objet de tests d'intégration les unes par rapport aux autres afin de garantir leur fidélité au format.<br />
Ces bibliothèques officielles permettent à des projets tiers de travailler avec les données Arrow sans avoir à implémenter eux-mêmes le format en colonnes Arrow. <br />
<br />
<br />
= Qu'est ce que Apache Arrow =<br />
<br />
Apache Arrow est une plate-forme de développement logiciel pour la création d'applications hautes performances qui traitent et transportent de grands ensembles de données. Elle est conçue pour améliorer à la fois les performances des algorithmes analytiques et l'efficacité du transfert de données d'un système ou d'un langage de programmation à un autre.<br />
<br />
<br />
[[File:Arrow1.png|300px|frame|center|Transfert de données sans Arrow]]<br />
<br />
<br />
[[File:Arrow2.png|300px|frame|center|Transfert de données avec Arrow]]<br />
<br />
<br />
Un élément essentiel d'Apache Arrow est son format en colonne en mémoire, une spécification standardisée et agnostique du langage pour représenter des ensembles de données structurés et semblables à des tableaux en mémoire. Le format Apache Arrow permet aux moteurs d'exécution de maximiser leur efficacité lors de l'analyse et de l'itération de gros volumes de données. <br />
Sans un format standard de données en colonnes, chaque base de données et chaque langue doit mettre en œuvre son propre format de données interne. Cela génère beaucoup de gaspillage. <br />
Le déplacement des données d'un système à l'autre implique une sérialisation et une désérialisation coûteuses en temps et en mémoire. En outre, les algorithmes communs doivent souvent être réécrits pour chaque format de données :<br />
<br />
<br />
[[File:Arrow3.jpg|300px|center|Transfert de données sans Arrow]]<br />
<br />
<br />
Le format de données en colonnes en mémoire de Arrow est une solution toute prête pour résoudre ces problèmes. Les systèmes qui utilisent ou prennent en charge Arrow peuvent transférer des données entre eux à un coût minime, voire nul. De plus, ils n'ont pas besoin de mettre en place des connecteurs personnalisés pour tous les autres systèmes. En plus de ces économies, un format de mémoire standardisé facilite la réutilisation des bibliothèques d'algorithmes, même entre les langues :<br />
<br />
<br />
[[File:Arrow4.jpg|300px|center|Transfert de données sans Arrow]]<br />
<br />
<br />
Dans la plupart des systèmes de stockage, la donnée est stockée sur disque ligne par ligne. Maintenant imaginons que l’on souhaite agréger la donnée, il faudra alors lire toutes les lignes, entièrement, une à une et extraire la donnée à agréger. Le stockage row-wise est une perte de temps, d’espace de stockage et de performance.<br />
<br />
Si l’on pense maintenant en format colonne où chaque colonne et ses valeurs sont stockées au même endroit, nous n’aurons besoin d’accéder qu’à la colonne à agréger pour faire notre calcul. Le stockage colonne nous permet de gagner en efficacité et en rapidité.<br />
<br />
<br />
[[File:Arrow5.png|300px|center|Transfert de données sans Arrow]]<br />
<br />
= Alternatives =<br />
<br />
Arrow peut être utilisé avec Apache Parquet, Apache Spark, NumPy, PySpark, Pandas et d'autres bibliothèques de traitement de données. Cependant Apache Arrow reste la solution la plus complète actuellement.<br />
<br />
Apache Parquet et Apache ORC sont des exemples populaires de formats de données en colonnes sur disque. Arrow est conçu comme un complément à ces formats pour le traitement des données en mémoire. Les compromis d'ingénierie des ressources matérielles pour le traitement en mémoire varient de ceux associés au stockage sur disque. Les projets Arrow et Parquet comprennent des bibliothèques qui permettent de lire et d'écrire des données entre les deux formats. Ces projets sont donc plus complémentaires que concurrents.<br />
<br />
<br />
= Désavantage =<br />
<br />
Le principal désavantage avec Apache Arrow va avec son principal avantage: il est très complet, ce qui le rend difficile à prendre en main pour les débutants. malgré une communauté active et une documentation fournie.<br />
<br />
<br />
= Référence =<br />
# https://en.wikipedia.org/wiki/Apache_Arrow<br />
# https://github.com/apache/arrow<br />
# https://arrow.apache.org/<br />
# https://blog.ippon.fr/2020/10/28/apache-arrow/<br />
# https://big-data.developpez.com/actu/307542/Big-Data-la-plateforme-de-developpement-pour-l-analyse-in-memory-Apache-Arrow-1-0-0-est-disponible-et-s-accompagne-de-nombreuses-ameliorations/<br />
# https://www.dremio.com/data-lake/apache-arrow/ <br />
# https://www.youtube.com/watch?v=y7zGnKzaKIw<br />
# https://github.com/animeshtrivedi/blog/blob/master/post/2017-12-26-arrow.md<br />
<br />
<br />
= Veille Technologique 2020 =<br />
* Année : [[VT2020|VT2020]]<br />
* Sujet : Apache Arrow<br />
* Auteurs : [[User:Robin.Delbos|Robin Delbos]]</div>Robin.Delboshttps://air.imag.fr/index.php?title=VT2020-Apache_Arrow-Fiche&diff=49296VT2020-Apache Arrow-Fiche2020-12-07T13:36:34Z<p>Robin.Delbos: /* Qu'est ce que Apache Arrow */</p>
<hr />
<div>[[File:Arrow_Logo.png|400px|thumb|Logo de Apache Arrow]]<br />
<br />
<br />
= Introduction =<br />
<br />
Apache arrow a été créé en octobre 2016 et est toujours en développement: la dernière version stable (v2.0.0) est sortie le 19 octobre 2020.<br />
<br />
Apache Arrow possède des bibliothèques pour:<br />
*C<br />
*C++<br />
*C#<br />
*Go<br />
*Java<br />
*JavaScript<br />
*Rust<br />
*MATLAB (via la librairie C++)<br />
*Python (via la librairie C++)<br />
*R (via la librairie C++)<br />
*Ruby (via la librairie C++). <br />
<br />
Ces bibliothèques font l'objet de tests d'intégration les unes par rapport aux autres afin de garantir leur fidélité au format.<br />
Ces bibliothèques officielles permettent à des projets tiers de travailler avec les données Arrow sans avoir à implémenter eux-mêmes le format en colonnes Arrow. <br />
<br />
<br />
= Qu'est ce que Apache Arrow =<br />
<br />
Apache Arrow est une plate-forme de développement logiciel pour la création d'applications hautes performances qui traitent et transportent de grands ensembles de données. Elle est conçue pour améliorer à la fois les performances des algorithmes analytiques et l'efficacité du transfert de données d'un système ou d'un langage de programmation à un autre.<br />
<br />
<br />
[[File:Arrow1.png|300px|frame|center|Transfert de données sans Arrow]]<br />
<br />
<br />
[[File:Arrow2.png|300px|frame|center|Transfert de données avec Arrow]]<br />
<br />
<br />
Un élément essentiel d'Apache Arrow est son format en colonne en mémoire, une spécification standardisée et agnostique du langage pour représenter des ensembles de données structurés et semblables à des tableaux en mémoire. Le format Apache Arrow permet aux moteurs d'exécution de maximiser leur efficacité lors de l'analyse et de l'itération de gros volumes de données. <br />
Sans un format standard de données en colonnes, chaque base de données et chaque langue doit mettre en œuvre son propre format de données interne. Cela génère beaucoup de gaspillage. <br />
Le déplacement des données d'un système à l'autre implique une sérialisation et une désérialisation coûteuses en temps et en mémoire. En outre, les algorithmes communs doivent souvent être réécrits pour chaque format de données.<br />
<br />
<br />
[[File:Arrow3.jpg|300px|center||Transfert de données sans Arrow]]<br />
<br />
<br />
[[File:Arrow4.jpg|300px|center|Transfert de données sans Arrow]]<br />
<br />
<br />
Le format de données en colonnes en mémoire de Arrow est une solution toute prête pour résoudre ces problèmes. Les systèmes qui utilisent ou prennent en charge Arrow peuvent transférer des données entre eux à un coût minime, voire nul. De plus, ils n'ont pas besoin de mettre en place des connecteurs personnalisés pour tous les autres systèmes. En plus de ces économies, un format de mémoire standardisé facilite la réutilisation des bibliothèques d'algorithmes, même entre les langues.<br />
<br />
Dans la plupart des systèmes de stockage, la donnée est stockée sur disque ligne par ligne. Maintenant imaginons que l’on souhaite agréger la donnée, il faudra alors lire toutes les lignes, entièrement, une à une et extraire la donnée à agréger. Le stockage row-wise est une perte de temps, d’espace de stockage et de performance.<br />
<br />
Si l’on pense maintenant en format colonne où chaque colonne et ses valeurs sont stockées au même endroit, nous n’aurons besoin d’accéder qu’à la colonne à agréger pour faire notre calcul. Le stockage colonne nous permet de gagner en efficacité et en rapidité.<br />
<br />
= Alternatives =<br />
<br />
Arrow peut être utilisé avec Apache Parquet, Apache Spark, NumPy, PySpark, Pandas et d'autres bibliothèques de traitement de données. Cependant Apache Arrow reste la solution la plus complète actuellement.<br />
<br />
Apache Parquet et Apache ORC sont des exemples populaires de formats de données en colonnes sur disque. Arrow est conçu comme un complément à ces formats pour le traitement des données en mémoire. Les compromis d'ingénierie des ressources matérielles pour le traitement en mémoire varient de ceux associés au stockage sur disque. Les projets Arrow et Parquet comprennent des bibliothèques qui permettent de lire et d'écrire des données entre les deux formats. Ces projets sont donc plus complémentaires que concurrents.<br />
<br />
<br />
= Désavantage =<br />
<br />
Le principal désavantage avec Apache Arrow va avec son principal avantage: il est très complet, ce qui le rend difficile à prendre en main pour les débutants. malgré une communauté active et une documentation fournie.<br />
<br />
<br />
= Référence =<br />
# https://en.wikipedia.org/wiki/Apache_Arrow<br />
# https://github.com/apache/arrow<br />
# https://arrow.apache.org/<br />
# https://blog.ippon.fr/2020/10/28/apache-arrow/<br />
# https://big-data.developpez.com/actu/307542/Big-Data-la-plateforme-de-developpement-pour-l-analyse-in-memory-Apache-Arrow-1-0-0-est-disponible-et-s-accompagne-de-nombreuses-ameliorations/<br />
# https://www.dremio.com/data-lake/apache-arrow/ <br />
# https://www.youtube.com/watch?v=y7zGnKzaKIw<br />
# https://github.com/animeshtrivedi/blog/blob/master/post/2017-12-26-arrow.md<br />
<br />
<br />
= Veille Technologique 2020 =<br />
* Année : [[VT2020|VT2020]]<br />
* Sujet : Apache Arrow<br />
* Auteurs : [[User:Robin.Delbos|Robin Delbos]]</div>Robin.Delboshttps://air.imag.fr/index.php?title=VT2020-Apache_Arrow-Fiche&diff=49295VT2020-Apache Arrow-Fiche2020-12-07T13:35:46Z<p>Robin.Delbos: </p>
<hr />
<div>[[File:Arrow_Logo.png|400px|thumb|Logo de Apache Arrow]]<br />
<br />
<br />
= Introduction =<br />
<br />
Apache arrow a été créé en octobre 2016 et est toujours en développement: la dernière version stable (v2.0.0) est sortie le 19 octobre 2020.<br />
<br />
Apache Arrow possède des bibliothèques pour:<br />
*C<br />
*C++<br />
*C#<br />
*Go<br />
*Java<br />
*JavaScript<br />
*Rust<br />
*MATLAB (via la librairie C++)<br />
*Python (via la librairie C++)<br />
*R (via la librairie C++)<br />
*Ruby (via la librairie C++). <br />
<br />
Ces bibliothèques font l'objet de tests d'intégration les unes par rapport aux autres afin de garantir leur fidélité au format.<br />
Ces bibliothèques officielles permettent à des projets tiers de travailler avec les données Arrow sans avoir à implémenter eux-mêmes le format en colonnes Arrow. <br />
<br />
<br />
= Qu'est ce que Apache Arrow =<br />
<br />
Apache Arrow est une plate-forme de développement logiciel pour la création d'applications hautes performances qui traitent et transportent de grands ensembles de données. Elle est conçue pour améliorer à la fois les performances des algorithmes analytiques et l'efficacité du transfert de données d'un système ou d'un langage de programmation à un autre.<br />
<br />
<br />
[[File:Arrow1.png|300px|frame|center|Transfert de données sans Arrow]]<br />
<br />
<br />
[[File:Arrow2.png|300px|frame|center|Transfert de données avec Arrow]]<br />
<br />
<br />
Un élément essentiel d'Apache Arrow est son format en colonne en mémoire, une spécification standardisée et agnostique du langage pour représenter des ensembles de données structurés et semblables à des tableaux en mémoire. Le format Apache Arrow permet aux moteurs d'exécution de maximiser leur efficacité lors de l'analyse et de l'itération de gros volumes de données. <br />
Sans un format standard de données en colonnes, chaque base de données et chaque langue doit mettre en œuvre son propre format de données interne. Cela génère beaucoup de gaspillage. <br />
Le déplacement des données d'un système à l'autre implique une sérialisation et une désérialisation coûteuses en temps et en mémoire. En outre, les algorithmes communs doivent souvent être réécrits pour chaque format de données.<br />
<br />
<br />
[[File:Arrow3.jpg|300px|thumb|Transfert de données sans Arrow]]<br />
<br />
<br />
[[File:Arrow4.jpg|300px|center|Transfert de données sans Arrow]]<br />
<br />
<br />
Le format de données en colonnes en mémoire de Arrow est une solution toute prête pour résoudre ces problèmes. Les systèmes qui utilisent ou prennent en charge Arrow peuvent transférer des données entre eux à un coût minime, voire nul. De plus, ils n'ont pas besoin de mettre en place des connecteurs personnalisés pour tous les autres systèmes. En plus de ces économies, un format de mémoire standardisé facilite la réutilisation des bibliothèques d'algorithmes, même entre les langues.<br />
<br />
Dans la plupart des systèmes de stockage, la donnée est stockée sur disque ligne par ligne. Maintenant imaginons que l’on souhaite agréger la donnée, il faudra alors lire toutes les lignes, entièrement, une à une et extraire la donnée à agréger. Le stockage row-wise est une perte de temps, d’espace de stockage et de performance.<br />
<br />
Si l’on pense maintenant en format colonne où chaque colonne et ses valeurs sont stockées au même endroit, nous n’aurons besoin d’accéder qu’à la colonne à agréger pour faire notre calcul. Le stockage colonne nous permet de gagner en efficacité et en rapidité.<br />
<br />
= Alternatives =<br />
<br />
Arrow peut être utilisé avec Apache Parquet, Apache Spark, NumPy, PySpark, Pandas et d'autres bibliothèques de traitement de données. Cependant Apache Arrow reste la solution la plus complète actuellement.<br />
<br />
Apache Parquet et Apache ORC sont des exemples populaires de formats de données en colonnes sur disque. Arrow est conçu comme un complément à ces formats pour le traitement des données en mémoire. Les compromis d'ingénierie des ressources matérielles pour le traitement en mémoire varient de ceux associés au stockage sur disque. Les projets Arrow et Parquet comprennent des bibliothèques qui permettent de lire et d'écrire des données entre les deux formats. Ces projets sont donc plus complémentaires que concurrents.<br />
<br />
<br />
= Désavantage =<br />
<br />
Le principal désavantage avec Apache Arrow va avec son principal avantage: il est très complet, ce qui le rend difficile à prendre en main pour les débutants. malgré une communauté active et une documentation fournie.<br />
<br />
<br />
= Référence =<br />
# https://en.wikipedia.org/wiki/Apache_Arrow<br />
# https://github.com/apache/arrow<br />
# https://arrow.apache.org/<br />
# https://blog.ippon.fr/2020/10/28/apache-arrow/<br />
# https://big-data.developpez.com/actu/307542/Big-Data-la-plateforme-de-developpement-pour-l-analyse-in-memory-Apache-Arrow-1-0-0-est-disponible-et-s-accompagne-de-nombreuses-ameliorations/<br />
# https://www.dremio.com/data-lake/apache-arrow/ <br />
# https://www.youtube.com/watch?v=y7zGnKzaKIw<br />
# https://github.com/animeshtrivedi/blog/blob/master/post/2017-12-26-arrow.md<br />
<br />
<br />
= Veille Technologique 2020 =<br />
* Année : [[VT2020|VT2020]]<br />
* Sujet : Apache Arrow<br />
* Auteurs : [[User:Robin.Delbos|Robin Delbos]]</div>Robin.Delboshttps://air.imag.fr/index.php?title=VT2020-Apache_Arrow-Fiche&diff=49294VT2020-Apache Arrow-Fiche2020-12-07T13:34:53Z<p>Robin.Delbos: /* Qu'est ce que Apache Arrow */</p>
<hr />
<div>[[File:Arrow_Logo.png|400px|thumb|Logo de Apache Arrow]]<br />
<br />
<br />
= Introduction =<br />
<br />
Apache arrow a été créé en octobre 2016 et est toujours en développement: la dernière version stable (v2.0.0) est sortie le 19 octobre 2020.<br />
<br />
Apache Arrow possède des bibliothèques pour:<br />
*C<br />
*C++<br />
*C#<br />
*Go<br />
*Java<br />
*JavaScript<br />
*Rust<br />
*MATLAB (via la librairie C++)<br />
*Python (via la librairie C++)<br />
*R (via la librairie C++)<br />
*Ruby (via la librairie C++). <br />
<br />
Ces bibliothèques font l'objet de tests d'intégration les unes par rapport aux autres afin de garantir leur fidélité au format.<br />
Ces bibliothèques officielles permettent à des projets tiers de travailler avec les données Arrow sans avoir à implémenter eux-mêmes le format en colonnes Arrow. <br />
<br />
<br />
= Qu'est ce que Apache Arrow =<br />
<br />
Apache Arrow est une plate-forme de développement logiciel pour la création d'applications hautes performances qui traitent et transportent de grands ensembles de données. Elle est conçue pour améliorer à la fois les performances des algorithmes analytiques et l'efficacité du transfert de données d'un système ou d'un langage de programmation à un autre.<br />
<br />
<br />
[[File:Arrow1.png|300px|frame|center|Transfert de données sans Arrow]]<br />
<br />
<br />
[[File:Arrow2.png|300px|frame|center|Transfert de données avec Arrow]]<br />
<br />
<br />
Un élément essentiel d'Apache Arrow est son format en colonne en mémoire, une spécification standardisée et agnostique du langage pour représenter des ensembles de données structurés et semblables à des tableaux en mémoire. Le format Apache Arrow permet aux moteurs d'exécution de maximiser leur efficacité lors de l'analyse et de l'itération de gros volumes de données. <br />
Sans un format standard de données en colonnes, chaque base de données et chaque langue doit mettre en œuvre son propre format de données interne. Cela génère beaucoup de gaspillage. <br />
Le déplacement des données d'un système à l'autre implique une sérialisation et une désérialisation coûteuses en temps et en mémoire. En outre, les algorithmes communs doivent souvent être réécrits pour chaque format de données.<br />
<br />
<br />
[[File:Arrow3.jpg|300px|center|Transfert de données sans Arrow]]<br />
<br />
<br />
[[File:Arrow4.jpg|300px|center|Transfert de données sans Arrow]]<br />
<br />
<br />
Le format de données en colonnes en mémoire de Arrow est une solution toute prête pour résoudre ces problèmes. Les systèmes qui utilisent ou prennent en charge Arrow peuvent transférer des données entre eux à un coût minime, voire nul. De plus, ils n'ont pas besoin de mettre en place des connecteurs personnalisés pour tous les autres systèmes. En plus de ces économies, un format de mémoire standardisé facilite la réutilisation des bibliothèques d'algorithmes, même entre les langues.<br />
<br />
Dans la plupart des systèmes de stockage, la donnée est stockée sur disque ligne par ligne. Maintenant imaginons que l’on souhaite agréger la donnée, il faudra alors lire toutes les lignes, entièrement, une à une et extraire la donnée à agréger. Le stockage row-wise est une perte de temps, d’espace de stockage et de performance.<br />
<br />
Si l’on pense maintenant en format colonne où chaque colonne et ses valeurs sont stockées au même endroit, nous n’aurons besoin d’accéder qu’à la colonne à agréger pour faire notre calcul. Le stockage colonne nous permet de gagner en efficacité et en rapidité.<br />
<br />
= Alternatives =<br />
<br />
Arrow peut être utilisé avec Apache Parquet, Apache Spark, NumPy, PySpark, Pandas et d'autres bibliothèques de traitement de données. Cependant Apache Arrow reste la solution la plus complète actuellement.<br />
<br />
Apache Parquet et Apache ORC sont des exemples populaires de formats de données en colonnes sur disque. Arrow est conçu comme un complément à ces formats pour le traitement des données en mémoire. Les compromis d'ingénierie des ressources matérielles pour le traitement en mémoire varient de ceux associés au stockage sur disque. Les projets Arrow et Parquet comprennent des bibliothèques qui permettent de lire et d'écrire des données entre les deux formats. Ces projets sont donc plus complémentaires que concurrents.<br />
<br />
<br />
= Désavantage =<br />
<br />
Le principal désavantage avec Apache Arrow va avec son principal avantage: il est très complet, ce qui le rend difficile à prendre en main pour les débutants. malgré une communauté active et une documentation fournie.<br />
<br />
<br />
= Référence =<br />
# https://en.wikipedia.org/wiki/Apache_Arrow<br />
# https://github.com/apache/arrow<br />
# https://arrow.apache.org/<br />
# https://blog.ippon.fr/2020/10/28/apache-arrow/<br />
# https://big-data.developpez.com/actu/307542/Big-Data-la-plateforme-de-developpement-pour-l-analyse-in-memory-Apache-Arrow-1-0-0-est-disponible-et-s-accompagne-de-nombreuses-ameliorations/<br />
# https://www.dremio.com/data-lake/apache-arrow/ <br />
# https://www.youtube.com/watch?v=y7zGnKzaKIw<br />
# https://github.com/animeshtrivedi/blog/blob/master/post/2017-12-26-arrow.md<br />
<br />
<br />
= Veille Technologique 2020 =<br />
* Année : [[VT2020|VT2020]]<br />
* Sujet : Apache Arrow<br />
* Auteurs : [[User:Robin.Delbos|Robin Delbos]]</div>Robin.Delboshttps://air.imag.fr/index.php?title=VT2020-Apache_Arrow-Fiche&diff=49293VT2020-Apache Arrow-Fiche2020-12-07T13:34:21Z<p>Robin.Delbos: /* Qu'est ce que Apache Arrow */</p>
<hr />
<div>[[File:Arrow_Logo.png|400px|thumb|Logo de Apache Arrow]]<br />
<br />
<br />
= Introduction =<br />
<br />
Apache arrow a été créé en octobre 2016 et est toujours en développement: la dernière version stable (v2.0.0) est sortie le 19 octobre 2020.<br />
<br />
Apache Arrow possède des bibliothèques pour:<br />
*C<br />
*C++<br />
*C#<br />
*Go<br />
*Java<br />
*JavaScript<br />
*Rust<br />
*MATLAB (via la librairie C++)<br />
*Python (via la librairie C++)<br />
*R (via la librairie C++)<br />
*Ruby (via la librairie C++). <br />
<br />
Ces bibliothèques font l'objet de tests d'intégration les unes par rapport aux autres afin de garantir leur fidélité au format.<br />
Ces bibliothèques officielles permettent à des projets tiers de travailler avec les données Arrow sans avoir à implémenter eux-mêmes le format en colonnes Arrow. <br />
<br />
<br />
= Qu'est ce que Apache Arrow =<br />
<br />
Apache Arrow est une plate-forme de développement logiciel pour la création d'applications hautes performances qui traitent et transportent de grands ensembles de données. Elle est conçue pour améliorer à la fois les performances des algorithmes analytiques et l'efficacité du transfert de données d'un système ou d'un langage de programmation à un autre.<br />
<br />
<br />
[[File:Arrow1.png|300px|frame|center|Transfert de données sans Arrow]]<br />
<br />
<br />
[[File:Arrow2.png|300px|frame|center|Transfert de données avec Arrow]]<br />
<br />
<br />
Un élément essentiel d'Apache Arrow est son format en colonne en mémoire, une spécification standardisée et agnostique du langage pour représenter des ensembles de données structurés et semblables à des tableaux en mémoire. Le format Apache Arrow permet aux moteurs d'exécution de maximiser leur efficacité lors de l'analyse et de l'itération de gros volumes de données. <br />
Sans un format standard de données en colonnes, chaque base de données et chaque langue doit mettre en œuvre son propre format de données interne. Cela génère beaucoup de gaspillage. <br />
Le déplacement des données d'un système à l'autre implique une sérialisation et une désérialisation coûteuses en temps et en mémoire. En outre, les algorithmes communs doivent souvent être réécrits pour chaque format de données.<br />
<br />
<br />
[[File:Arrow3.jpg|10px|center|Transfert de données sans Arrow]]<br />
<br />
<br />
[[File:Arrow4.jpg|10px|frame|center|Transfert de données sans Arrow]]<br />
<br />
<br />
Le format de données en colonnes en mémoire de Arrow est une solution toute prête pour résoudre ces problèmes. Les systèmes qui utilisent ou prennent en charge Arrow peuvent transférer des données entre eux à un coût minime, voire nul. De plus, ils n'ont pas besoin de mettre en place des connecteurs personnalisés pour tous les autres systèmes. En plus de ces économies, un format de mémoire standardisé facilite la réutilisation des bibliothèques d'algorithmes, même entre les langues.<br />
<br />
Dans la plupart des systèmes de stockage, la donnée est stockée sur disque ligne par ligne. Maintenant imaginons que l’on souhaite agréger la donnée, il faudra alors lire toutes les lignes, entièrement, une à une et extraire la donnée à agréger. Le stockage row-wise est une perte de temps, d’espace de stockage et de performance.<br />
<br />
Si l’on pense maintenant en format colonne où chaque colonne et ses valeurs sont stockées au même endroit, nous n’aurons besoin d’accéder qu’à la colonne à agréger pour faire notre calcul. Le stockage colonne nous permet de gagner en efficacité et en rapidité.<br />
<br />
= Alternatives =<br />
<br />
Arrow peut être utilisé avec Apache Parquet, Apache Spark, NumPy, PySpark, Pandas et d'autres bibliothèques de traitement de données. Cependant Apache Arrow reste la solution la plus complète actuellement.<br />
<br />
Apache Parquet et Apache ORC sont des exemples populaires de formats de données en colonnes sur disque. Arrow est conçu comme un complément à ces formats pour le traitement des données en mémoire. Les compromis d'ingénierie des ressources matérielles pour le traitement en mémoire varient de ceux associés au stockage sur disque. Les projets Arrow et Parquet comprennent des bibliothèques qui permettent de lire et d'écrire des données entre les deux formats. Ces projets sont donc plus complémentaires que concurrents.<br />
<br />
<br />
= Désavantage =<br />
<br />
Le principal désavantage avec Apache Arrow va avec son principal avantage: il est très complet, ce qui le rend difficile à prendre en main pour les débutants. malgré une communauté active et une documentation fournie.<br />
<br />
<br />
= Référence =<br />
# https://en.wikipedia.org/wiki/Apache_Arrow<br />
# https://github.com/apache/arrow<br />
# https://arrow.apache.org/<br />
# https://blog.ippon.fr/2020/10/28/apache-arrow/<br />
# https://big-data.developpez.com/actu/307542/Big-Data-la-plateforme-de-developpement-pour-l-analyse-in-memory-Apache-Arrow-1-0-0-est-disponible-et-s-accompagne-de-nombreuses-ameliorations/<br />
# https://www.dremio.com/data-lake/apache-arrow/ <br />
# https://www.youtube.com/watch?v=y7zGnKzaKIw<br />
# https://github.com/animeshtrivedi/blog/blob/master/post/2017-12-26-arrow.md<br />
<br />
<br />
= Veille Technologique 2020 =<br />
* Année : [[VT2020|VT2020]]<br />
* Sujet : Apache Arrow<br />
* Auteurs : [[User:Robin.Delbos|Robin Delbos]]</div>Robin.Delboshttps://air.imag.fr/index.php?title=VT2020-Apache_Arrow-Fiche&diff=49292VT2020-Apache Arrow-Fiche2020-12-07T13:34:03Z<p>Robin.Delbos: /* Qu'est ce que Apache Arrow */</p>
<hr />
<div>[[File:Arrow_Logo.png|400px|thumb|Logo de Apache Arrow]]<br />
<br />
<br />
= Introduction =<br />
<br />
Apache arrow a été créé en octobre 2016 et est toujours en développement: la dernière version stable (v2.0.0) est sortie le 19 octobre 2020.<br />
<br />
Apache Arrow possède des bibliothèques pour:<br />
*C<br />
*C++<br />
*C#<br />
*Go<br />
*Java<br />
*JavaScript<br />
*Rust<br />
*MATLAB (via la librairie C++)<br />
*Python (via la librairie C++)<br />
*R (via la librairie C++)<br />
*Ruby (via la librairie C++). <br />
<br />
Ces bibliothèques font l'objet de tests d'intégration les unes par rapport aux autres afin de garantir leur fidélité au format.<br />
Ces bibliothèques officielles permettent à des projets tiers de travailler avec les données Arrow sans avoir à implémenter eux-mêmes le format en colonnes Arrow. <br />
<br />
<br />
= Qu'est ce que Apache Arrow =<br />
<br />
Apache Arrow est une plate-forme de développement logiciel pour la création d'applications hautes performances qui traitent et transportent de grands ensembles de données. Elle est conçue pour améliorer à la fois les performances des algorithmes analytiques et l'efficacité du transfert de données d'un système ou d'un langage de programmation à un autre.<br />
<br />
<br />
[[File:Arrow1.png|300px|frame|center|Transfert de données sans Arrow]]<br />
<br />
<br />
[[File:Arrow2.png|300px|frame|center|Transfert de données avec Arrow]]<br />
<br />
<br />
Un élément essentiel d'Apache Arrow est son format en colonne en mémoire, une spécification standardisée et agnostique du langage pour représenter des ensembles de données structurés et semblables à des tableaux en mémoire. Le format Apache Arrow permet aux moteurs d'exécution de maximiser leur efficacité lors de l'analyse et de l'itération de gros volumes de données. <br />
Sans un format standard de données en colonnes, chaque base de données et chaque langue doit mettre en œuvre son propre format de données interne. Cela génère beaucoup de gaspillage. <br />
Le déplacement des données d'un système à l'autre implique une sérialisation et une désérialisation coûteuses en temps et en mémoire. En outre, les algorithmes communs doivent souvent être réécrits pour chaque format de données.<br />
<br />
<br />
[[File:Arrow3.jpg|10px|frame|center|Transfert de données sans Arrow]]<br />
<br />
<br />
[[File:Arrow4.jpg|10px|frame|center|Transfert de données sans Arrow]]<br />
<br />
<br />
Le format de données en colonnes en mémoire de Arrow est une solution toute prête pour résoudre ces problèmes. Les systèmes qui utilisent ou prennent en charge Arrow peuvent transférer des données entre eux à un coût minime, voire nul. De plus, ils n'ont pas besoin de mettre en place des connecteurs personnalisés pour tous les autres systèmes. En plus de ces économies, un format de mémoire standardisé facilite la réutilisation des bibliothèques d'algorithmes, même entre les langues.<br />
<br />
Dans la plupart des systèmes de stockage, la donnée est stockée sur disque ligne par ligne. Maintenant imaginons que l’on souhaite agréger la donnée, il faudra alors lire toutes les lignes, entièrement, une à une et extraire la donnée à agréger. Le stockage row-wise est une perte de temps, d’espace de stockage et de performance.<br />
<br />
Si l’on pense maintenant en format colonne où chaque colonne et ses valeurs sont stockées au même endroit, nous n’aurons besoin d’accéder qu’à la colonne à agréger pour faire notre calcul. Le stockage colonne nous permet de gagner en efficacité et en rapidité.<br />
<br />
= Alternatives =<br />
<br />
Arrow peut être utilisé avec Apache Parquet, Apache Spark, NumPy, PySpark, Pandas et d'autres bibliothèques de traitement de données. Cependant Apache Arrow reste la solution la plus complète actuellement.<br />
<br />
Apache Parquet et Apache ORC sont des exemples populaires de formats de données en colonnes sur disque. Arrow est conçu comme un complément à ces formats pour le traitement des données en mémoire. Les compromis d'ingénierie des ressources matérielles pour le traitement en mémoire varient de ceux associés au stockage sur disque. Les projets Arrow et Parquet comprennent des bibliothèques qui permettent de lire et d'écrire des données entre les deux formats. Ces projets sont donc plus complémentaires que concurrents.<br />
<br />
<br />
= Désavantage =<br />
<br />
Le principal désavantage avec Apache Arrow va avec son principal avantage: il est très complet, ce qui le rend difficile à prendre en main pour les débutants. malgré une communauté active et une documentation fournie.<br />
<br />
<br />
= Référence =<br />
# https://en.wikipedia.org/wiki/Apache_Arrow<br />
# https://github.com/apache/arrow<br />
# https://arrow.apache.org/<br />
# https://blog.ippon.fr/2020/10/28/apache-arrow/<br />
# https://big-data.developpez.com/actu/307542/Big-Data-la-plateforme-de-developpement-pour-l-analyse-in-memory-Apache-Arrow-1-0-0-est-disponible-et-s-accompagne-de-nombreuses-ameliorations/<br />
# https://www.dremio.com/data-lake/apache-arrow/ <br />
# https://www.youtube.com/watch?v=y7zGnKzaKIw<br />
# https://github.com/animeshtrivedi/blog/blob/master/post/2017-12-26-arrow.md<br />
<br />
<br />
= Veille Technologique 2020 =<br />
* Année : [[VT2020|VT2020]]<br />
* Sujet : Apache Arrow<br />
* Auteurs : [[User:Robin.Delbos|Robin Delbos]]</div>Robin.Delboshttps://air.imag.fr/index.php?title=VT2020-Apache_Arrow-Fiche&diff=49291VT2020-Apache Arrow-Fiche2020-12-07T13:33:40Z<p>Robin.Delbos: /* Qu'est ce que Apache Arrow */</p>
<hr />
<div>[[File:Arrow_Logo.png|400px|thumb|Logo de Apache Arrow]]<br />
<br />
<br />
= Introduction =<br />
<br />
Apache arrow a été créé en octobre 2016 et est toujours en développement: la dernière version stable (v2.0.0) est sortie le 19 octobre 2020.<br />
<br />
Apache Arrow possède des bibliothèques pour:<br />
*C<br />
*C++<br />
*C#<br />
*Go<br />
*Java<br />
*JavaScript<br />
*Rust<br />
*MATLAB (via la librairie C++)<br />
*Python (via la librairie C++)<br />
*R (via la librairie C++)<br />
*Ruby (via la librairie C++). <br />
<br />
Ces bibliothèques font l'objet de tests d'intégration les unes par rapport aux autres afin de garantir leur fidélité au format.<br />
Ces bibliothèques officielles permettent à des projets tiers de travailler avec les données Arrow sans avoir à implémenter eux-mêmes le format en colonnes Arrow. <br />
<br />
<br />
= Qu'est ce que Apache Arrow =<br />
<br />
Apache Arrow est une plate-forme de développement logiciel pour la création d'applications hautes performances qui traitent et transportent de grands ensembles de données. Elle est conçue pour améliorer à la fois les performances des algorithmes analytiques et l'efficacité du transfert de données d'un système ou d'un langage de programmation à un autre.<br />
<br />
<br />
[[File:Arrow1.png|300px|frame|center|Transfert de données sans Arrow]]<br />
<br />
<br />
[[File:Arrow2.png|300px|frame|center|Transfert de données avec Arrow]]<br />
<br />
<br />
Un élément essentiel d'Apache Arrow est son format en colonne en mémoire, une spécification standardisée et agnostique du langage pour représenter des ensembles de données structurés et semblables à des tableaux en mémoire. Le format Apache Arrow permet aux moteurs d'exécution de maximiser leur efficacité lors de l'analyse et de l'itération de gros volumes de données. <br />
Sans un format standard de données en colonnes, chaque base de données et chaque langue doit mettre en œuvre son propre format de données interne. Cela génère beaucoup de gaspillage. <br />
Le déplacement des données d'un système à l'autre implique une sérialisation et une désérialisation coûteuses en temps et en mémoire. En outre, les algorithmes communs doivent souvent être réécrits pour chaque format de données.<br />
<br />
<br />
[[File:Arrow3.jpg|100px|frame|center|Transfert de données sans Arrow]]<br />
<br />
<br />
[[File:Arrow4.jpg|100px|frame|center|Transfert de données sans Arrow]]<br />
<br />
<br />
Le format de données en colonnes en mémoire de Arrow est une solution toute prête pour résoudre ces problèmes. Les systèmes qui utilisent ou prennent en charge Arrow peuvent transférer des données entre eux à un coût minime, voire nul. De plus, ils n'ont pas besoin de mettre en place des connecteurs personnalisés pour tous les autres systèmes. En plus de ces économies, un format de mémoire standardisé facilite la réutilisation des bibliothèques d'algorithmes, même entre les langues.<br />
<br />
Dans la plupart des systèmes de stockage, la donnée est stockée sur disque ligne par ligne. Maintenant imaginons que l’on souhaite agréger la donnée, il faudra alors lire toutes les lignes, entièrement, une à une et extraire la donnée à agréger. Le stockage row-wise est une perte de temps, d’espace de stockage et de performance.<br />
<br />
Si l’on pense maintenant en format colonne où chaque colonne et ses valeurs sont stockées au même endroit, nous n’aurons besoin d’accéder qu’à la colonne à agréger pour faire notre calcul. Le stockage colonne nous permet de gagner en efficacité et en rapidité.<br />
<br />
= Alternatives =<br />
<br />
Arrow peut être utilisé avec Apache Parquet, Apache Spark, NumPy, PySpark, Pandas et d'autres bibliothèques de traitement de données. Cependant Apache Arrow reste la solution la plus complète actuellement.<br />
<br />
Apache Parquet et Apache ORC sont des exemples populaires de formats de données en colonnes sur disque. Arrow est conçu comme un complément à ces formats pour le traitement des données en mémoire. Les compromis d'ingénierie des ressources matérielles pour le traitement en mémoire varient de ceux associés au stockage sur disque. Les projets Arrow et Parquet comprennent des bibliothèques qui permettent de lire et d'écrire des données entre les deux formats. Ces projets sont donc plus complémentaires que concurrents.<br />
<br />
<br />
= Désavantage =<br />
<br />
Le principal désavantage avec Apache Arrow va avec son principal avantage: il est très complet, ce qui le rend difficile à prendre en main pour les débutants. malgré une communauté active et une documentation fournie.<br />
<br />
<br />
= Référence =<br />
# https://en.wikipedia.org/wiki/Apache_Arrow<br />
# https://github.com/apache/arrow<br />
# https://arrow.apache.org/<br />
# https://blog.ippon.fr/2020/10/28/apache-arrow/<br />
# https://big-data.developpez.com/actu/307542/Big-Data-la-plateforme-de-developpement-pour-l-analyse-in-memory-Apache-Arrow-1-0-0-est-disponible-et-s-accompagne-de-nombreuses-ameliorations/<br />
# https://www.dremio.com/data-lake/apache-arrow/ <br />
# https://www.youtube.com/watch?v=y7zGnKzaKIw<br />
# https://github.com/animeshtrivedi/blog/blob/master/post/2017-12-26-arrow.md<br />
<br />
<br />
= Veille Technologique 2020 =<br />
* Année : [[VT2020|VT2020]]<br />
* Sujet : Apache Arrow<br />
* Auteurs : [[User:Robin.Delbos|Robin Delbos]]</div>Robin.Delboshttps://air.imag.fr/index.php?title=VT2020-Apache_Arrow-Fiche&diff=49290VT2020-Apache Arrow-Fiche2020-12-07T13:33:22Z<p>Robin.Delbos: /* Qu'est ce que Apache Arrow */</p>
<hr />
<div>[[File:Arrow_Logo.png|400px|thumb|Logo de Apache Arrow]]<br />
<br />
<br />
= Introduction =<br />
<br />
Apache arrow a été créé en octobre 2016 et est toujours en développement: la dernière version stable (v2.0.0) est sortie le 19 octobre 2020.<br />
<br />
Apache Arrow possède des bibliothèques pour:<br />
*C<br />
*C++<br />
*C#<br />
*Go<br />
*Java<br />
*JavaScript<br />
*Rust<br />
*MATLAB (via la librairie C++)<br />
*Python (via la librairie C++)<br />
*R (via la librairie C++)<br />
*Ruby (via la librairie C++). <br />
<br />
Ces bibliothèques font l'objet de tests d'intégration les unes par rapport aux autres afin de garantir leur fidélité au format.<br />
Ces bibliothèques officielles permettent à des projets tiers de travailler avec les données Arrow sans avoir à implémenter eux-mêmes le format en colonnes Arrow. <br />
<br />
<br />
= Qu'est ce que Apache Arrow =<br />
<br />
Apache Arrow est une plate-forme de développement logiciel pour la création d'applications hautes performances qui traitent et transportent de grands ensembles de données. Elle est conçue pour améliorer à la fois les performances des algorithmes analytiques et l'efficacité du transfert de données d'un système ou d'un langage de programmation à un autre.<br />
<br />
<br />
[[File:Arrow1.png|300px|frame|center|Transfert de données sans Arrow]]<br />
<br />
<br />
[[File:Arrow2.png|300px|frame|center|Transfert de données avec Arrow]]<br />
<br />
<br />
Un élément essentiel d'Apache Arrow est son format en colonne en mémoire, une spécification standardisée et agnostique du langage pour représenter des ensembles de données structurés et semblables à des tableaux en mémoire. Le format Apache Arrow permet aux moteurs d'exécution de maximiser leur efficacité lors de l'analyse et de l'itération de gros volumes de données. <br />
Sans un format standard de données en colonnes, chaque base de données et chaque langue doit mettre en œuvre son propre format de données interne. Cela génère beaucoup de gaspillage. <br />
Le déplacement des données d'un système à l'autre implique une sérialisation et une désérialisation coûteuses en temps et en mémoire. En outre, les algorithmes communs doivent souvent être réécrits pour chaque format de données.<br />
<br />
<br />
[[File:Arrow3.jpg|300px|frame|center|Transfert de données sans Arrow]]<br />
<br />
<br />
[[File:Arrow4.jpg|300px|frame|center|Transfert de données sans Arrow]]<br />
<br />
<br />
Le format de données en colonnes en mémoire de Arrow est une solution toute prête pour résoudre ces problèmes. Les systèmes qui utilisent ou prennent en charge Arrow peuvent transférer des données entre eux à un coût minime, voire nul. De plus, ils n'ont pas besoin de mettre en place des connecteurs personnalisés pour tous les autres systèmes. En plus de ces économies, un format de mémoire standardisé facilite la réutilisation des bibliothèques d'algorithmes, même entre les langues.<br />
<br />
Dans la plupart des systèmes de stockage, la donnée est stockée sur disque ligne par ligne. Maintenant imaginons que l’on souhaite agréger la donnée, il faudra alors lire toutes les lignes, entièrement, une à une et extraire la donnée à agréger. Le stockage row-wise est une perte de temps, d’espace de stockage et de performance.<br />
<br />
Si l’on pense maintenant en format colonne où chaque colonne et ses valeurs sont stockées au même endroit, nous n’aurons besoin d’accéder qu’à la colonne à agréger pour faire notre calcul. Le stockage colonne nous permet de gagner en efficacité et en rapidité.<br />
<br />
= Alternatives =<br />
<br />
Arrow peut être utilisé avec Apache Parquet, Apache Spark, NumPy, PySpark, Pandas et d'autres bibliothèques de traitement de données. Cependant Apache Arrow reste la solution la plus complète actuellement.<br />
<br />
Apache Parquet et Apache ORC sont des exemples populaires de formats de données en colonnes sur disque. Arrow est conçu comme un complément à ces formats pour le traitement des données en mémoire. Les compromis d'ingénierie des ressources matérielles pour le traitement en mémoire varient de ceux associés au stockage sur disque. Les projets Arrow et Parquet comprennent des bibliothèques qui permettent de lire et d'écrire des données entre les deux formats. Ces projets sont donc plus complémentaires que concurrents.<br />
<br />
<br />
= Désavantage =<br />
<br />
Le principal désavantage avec Apache Arrow va avec son principal avantage: il est très complet, ce qui le rend difficile à prendre en main pour les débutants. malgré une communauté active et une documentation fournie.<br />
<br />
<br />
= Référence =<br />
# https://en.wikipedia.org/wiki/Apache_Arrow<br />
# https://github.com/apache/arrow<br />
# https://arrow.apache.org/<br />
# https://blog.ippon.fr/2020/10/28/apache-arrow/<br />
# https://big-data.developpez.com/actu/307542/Big-Data-la-plateforme-de-developpement-pour-l-analyse-in-memory-Apache-Arrow-1-0-0-est-disponible-et-s-accompagne-de-nombreuses-ameliorations/<br />
# https://www.dremio.com/data-lake/apache-arrow/ <br />
# https://www.youtube.com/watch?v=y7zGnKzaKIw<br />
# https://github.com/animeshtrivedi/blog/blob/master/post/2017-12-26-arrow.md<br />
<br />
<br />
= Veille Technologique 2020 =<br />
* Année : [[VT2020|VT2020]]<br />
* Sujet : Apache Arrow<br />
* Auteurs : [[User:Robin.Delbos|Robin Delbos]]</div>Robin.Delboshttps://air.imag.fr/index.php?title=File:Arrow4.jpg&diff=49289File:Arrow4.jpg2020-12-07T13:32:20Z<p>Robin.Delbos: </p>
<hr />
<div></div>Robin.Delboshttps://air.imag.fr/index.php?title=File:Arrow3.jpg&diff=49288File:Arrow3.jpg2020-12-07T13:31:58Z<p>Robin.Delbos: </p>
<hr />
<div></div>Robin.Delboshttps://air.imag.fr/index.php?title=VT2020-Apache_Arrow-Fiche&diff=49287VT2020-Apache Arrow-Fiche2020-12-07T13:31:15Z<p>Robin.Delbos: /* Qu'est ce que Apache Arrow */</p>
<hr />
<div>[[File:Arrow_Logo.png|400px|thumb|Logo de Apache Arrow]]<br />
<br />
<br />
= Introduction =<br />
<br />
Apache arrow a été créé en octobre 2016 et est toujours en développement: la dernière version stable (v2.0.0) est sortie le 19 octobre 2020.<br />
<br />
Apache Arrow possède des bibliothèques pour:<br />
*C<br />
*C++<br />
*C#<br />
*Go<br />
*Java<br />
*JavaScript<br />
*Rust<br />
*MATLAB (via la librairie C++)<br />
*Python (via la librairie C++)<br />
*R (via la librairie C++)<br />
*Ruby (via la librairie C++). <br />
<br />
Ces bibliothèques font l'objet de tests d'intégration les unes par rapport aux autres afin de garantir leur fidélité au format.<br />
Ces bibliothèques officielles permettent à des projets tiers de travailler avec les données Arrow sans avoir à implémenter eux-mêmes le format en colonnes Arrow. <br />
<br />
<br />
= Qu'est ce que Apache Arrow =<br />
<br />
Apache Arrow est une plate-forme de développement logiciel pour la création d'applications hautes performances qui traitent et transportent de grands ensembles de données. Elle est conçue pour améliorer à la fois les performances des algorithmes analytiques et l'efficacité du transfert de données d'un système ou d'un langage de programmation à un autre.<br />
<br />
<br />
[[File:Arrow1.png|300px|frame|center|Transfert de données sans Arrow]]<br />
<br />
<br />
[[File:Arrow2.png|300px|frame|center|Transfert de données avec Arrow]]<br />
<br />
<br />
Un élément essentiel d'Apache Arrow est son format en colonne en mémoire, une spécification standardisée et agnostique du langage pour représenter des ensembles de données structurés et semblables à des tableaux en mémoire. Le format Apache Arrow permet aux moteurs d'exécution de maximiser leur efficacité lors de l'analyse et de l'itération de gros volumes de données. <br />
Sans un format standard de données en colonnes, chaque base de données et chaque langue doit mettre en œuvre son propre format de données interne. Cela génère beaucoup de gaspillage. <br />
Le déplacement des données d'un système à l'autre implique une sérialisation et une désérialisation coûteuses en temps et en mémoire. En outre, les algorithmes communs doivent souvent être réécrits pour chaque format de données.<br />
<br />
<br />
[[File:Arrow3.png|300px|frame|center|Transfert de données sans Arrow]]<br />
<br />
<br />
[[File:Arrow4.png|300px|frame|center|Transfert de données sans Arrow]]<br />
<br />
<br />
Le format de données en colonnes en mémoire de Arrow est une solution toute prête pour résoudre ces problèmes. Les systèmes qui utilisent ou prennent en charge Arrow peuvent transférer des données entre eux à un coût minime, voire nul. De plus, ils n'ont pas besoin de mettre en place des connecteurs personnalisés pour tous les autres systèmes. En plus de ces économies, un format de mémoire standardisé facilite la réutilisation des bibliothèques d'algorithmes, même entre les langues.<br />
<br />
Dans la plupart des systèmes de stockage, la donnée est stockée sur disque ligne par ligne. Maintenant imaginons que l’on souhaite agréger la donnée, il faudra alors lire toutes les lignes, entièrement, une à une et extraire la donnée à agréger. Le stockage row-wise est une perte de temps, d’espace de stockage et de performance.<br />
<br />
Si l’on pense maintenant en format colonne où chaque colonne et ses valeurs sont stockées au même endroit, nous n’aurons besoin d’accéder qu’à la colonne à agréger pour faire notre calcul. Le stockage colonne nous permet de gagner en efficacité et en rapidité.<br />
<br />
= Alternatives =<br />
<br />
Arrow peut être utilisé avec Apache Parquet, Apache Spark, NumPy, PySpark, Pandas et d'autres bibliothèques de traitement de données. Cependant Apache Arrow reste la solution la plus complète actuellement.<br />
<br />
Apache Parquet et Apache ORC sont des exemples populaires de formats de données en colonnes sur disque. Arrow est conçu comme un complément à ces formats pour le traitement des données en mémoire. Les compromis d'ingénierie des ressources matérielles pour le traitement en mémoire varient de ceux associés au stockage sur disque. Les projets Arrow et Parquet comprennent des bibliothèques qui permettent de lire et d'écrire des données entre les deux formats. Ces projets sont donc plus complémentaires que concurrents.<br />
<br />
<br />
= Désavantage =<br />
<br />
Le principal désavantage avec Apache Arrow va avec son principal avantage: il est très complet, ce qui le rend difficile à prendre en main pour les débutants. malgré une communauté active et une documentation fournie.<br />
<br />
<br />
= Référence =<br />
# https://en.wikipedia.org/wiki/Apache_Arrow<br />
# https://github.com/apache/arrow<br />
# https://arrow.apache.org/<br />
# https://blog.ippon.fr/2020/10/28/apache-arrow/<br />
# https://big-data.developpez.com/actu/307542/Big-Data-la-plateforme-de-developpement-pour-l-analyse-in-memory-Apache-Arrow-1-0-0-est-disponible-et-s-accompagne-de-nombreuses-ameliorations/<br />
# https://www.dremio.com/data-lake/apache-arrow/ <br />
# https://www.youtube.com/watch?v=y7zGnKzaKIw<br />
# https://github.com/animeshtrivedi/blog/blob/master/post/2017-12-26-arrow.md<br />
<br />
<br />
= Veille Technologique 2020 =<br />
* Année : [[VT2020|VT2020]]<br />
* Sujet : Apache Arrow<br />
* Auteurs : [[User:Robin.Delbos|Robin Delbos]]</div>Robin.Delboshttps://air.imag.fr/index.php?title=VT2020-Apache_Arrow-Fiche&diff=49286VT2020-Apache Arrow-Fiche2020-12-07T13:30:18Z<p>Robin.Delbos: /* Qu'est ce que Apache Arrow */</p>
<hr />
<div>[[File:Arrow_Logo.png|400px|thumb|Logo de Apache Arrow]]<br />
<br />
<br />
= Introduction =<br />
<br />
Apache arrow a été créé en octobre 2016 et est toujours en développement: la dernière version stable (v2.0.0) est sortie le 19 octobre 2020.<br />
<br />
Apache Arrow possède des bibliothèques pour:<br />
*C<br />
*C++<br />
*C#<br />
*Go<br />
*Java<br />
*JavaScript<br />
*Rust<br />
*MATLAB (via la librairie C++)<br />
*Python (via la librairie C++)<br />
*R (via la librairie C++)<br />
*Ruby (via la librairie C++). <br />
<br />
Ces bibliothèques font l'objet de tests d'intégration les unes par rapport aux autres afin de garantir leur fidélité au format.<br />
Ces bibliothèques officielles permettent à des projets tiers de travailler avec les données Arrow sans avoir à implémenter eux-mêmes le format en colonnes Arrow. <br />
<br />
<br />
= Qu'est ce que Apache Arrow =<br />
<br />
Apache Arrow est une plate-forme de développement logiciel pour la création d'applications hautes performances qui traitent et transportent de grands ensembles de données. Elle est conçue pour améliorer à la fois les performances des algorithmes analytiques et l'efficacité du transfert de données d'un système ou d'un langage de programmation à un autre.<br />
<br />
[[File:Arrow1.png|300px|frame|center|Transfert de données sans Arrow]]<br />
<br />
<br />
[[File:Arrow2.png|300px|frame|center|Transfert de données avec Arrow]]<br />
<br />
<br />
Un élément essentiel d'Apache Arrow est son format en colonne en mémoire, une spécification standardisée et agnostique du langage pour représenter des ensembles de données structurés et semblables à des tableaux en mémoire. Le format Apache Arrow permet aux moteurs d'exécution de maximiser leur efficacité lors de l'analyse et de l'itération de gros volumes de données. <br />
Sans un format standard de données en colonnes, chaque base de données et chaque langue doit mettre en œuvre son propre format de données interne. Cela génère beaucoup de gaspillage. <br />
Le déplacement des données d'un système à l'autre implique une sérialisation et une désérialisation coûteuses en temps et en mémoire. En outre, les algorithmes communs doivent souvent être réécrits pour chaque format de données.<br />
<br />
Le format de données en colonnes en mémoire de Arrow est une solution toute prête pour résoudre ces problèmes. Les systèmes qui utilisent ou prennent en charge Arrow peuvent transférer des données entre eux à un coût minime, voire nul. De plus, ils n'ont pas besoin de mettre en place des connecteurs personnalisés pour tous les autres systèmes. En plus de ces économies, un format de mémoire standardisé facilite la réutilisation des bibliothèques d'algorithmes, même entre les langues.<br />
<br />
Dans la plupart des systèmes de stockage, la donnée est stockée sur disque ligne par ligne. Maintenant imaginons que l’on souhaite agréger la donnée, il faudra alors lire toutes les lignes, entièrement, une à une et extraire la donnée à agréger. Le stockage row-wise est une perte de temps, d’espace de stockage et de performance.<br />
<br />
Si l’on pense maintenant en format colonne où chaque colonne et ses valeurs sont stockées au même endroit, nous n’aurons besoin d’accéder qu’à la colonne à agréger pour faire notre calcul. Le stockage colonne nous permet de gagner en efficacité et en rapidité.<br />
<br />
= Alternatives =<br />
<br />
Arrow peut être utilisé avec Apache Parquet, Apache Spark, NumPy, PySpark, Pandas et d'autres bibliothèques de traitement de données. Cependant Apache Arrow reste la solution la plus complète actuellement.<br />
<br />
Apache Parquet et Apache ORC sont des exemples populaires de formats de données en colonnes sur disque. Arrow est conçu comme un complément à ces formats pour le traitement des données en mémoire. Les compromis d'ingénierie des ressources matérielles pour le traitement en mémoire varient de ceux associés au stockage sur disque. Les projets Arrow et Parquet comprennent des bibliothèques qui permettent de lire et d'écrire des données entre les deux formats. Ces projets sont donc plus complémentaires que concurrents.<br />
<br />
<br />
= Désavantage =<br />
<br />
Le principal désavantage avec Apache Arrow va avec son principal avantage: il est très complet, ce qui le rend difficile à prendre en main pour les débutants. malgré une communauté active et une documentation fournie.<br />
<br />
<br />
= Référence =<br />
# https://en.wikipedia.org/wiki/Apache_Arrow<br />
# https://github.com/apache/arrow<br />
# https://arrow.apache.org/<br />
# https://blog.ippon.fr/2020/10/28/apache-arrow/<br />
# https://big-data.developpez.com/actu/307542/Big-Data-la-plateforme-de-developpement-pour-l-analyse-in-memory-Apache-Arrow-1-0-0-est-disponible-et-s-accompagne-de-nombreuses-ameliorations/<br />
# https://www.dremio.com/data-lake/apache-arrow/ <br />
# https://www.youtube.com/watch?v=y7zGnKzaKIw<br />
# https://github.com/animeshtrivedi/blog/blob/master/post/2017-12-26-arrow.md<br />
<br />
<br />
= Veille Technologique 2020 =<br />
* Année : [[VT2020|VT2020]]<br />
* Sujet : Apache Arrow<br />
* Auteurs : [[User:Robin.Delbos|Robin Delbos]]</div>Robin.Delboshttps://air.imag.fr/index.php?title=VT2020-Apache_Arrow-Fiche&diff=49285VT2020-Apache Arrow-Fiche2020-12-07T13:29:55Z<p>Robin.Delbos: /* Qu'est ce que Apache Arrow */</p>
<hr />
<div>[[File:Arrow_Logo.png|400px|thumb|Logo de Apache Arrow]]<br />
<br />
<br />
= Introduction =<br />
<br />
Apache arrow a été créé en octobre 2016 et est toujours en développement: la dernière version stable (v2.0.0) est sortie le 19 octobre 2020.<br />
<br />
Apache Arrow possède des bibliothèques pour:<br />
*C<br />
*C++<br />
*C#<br />
*Go<br />
*Java<br />
*JavaScript<br />
*Rust<br />
*MATLAB (via la librairie C++)<br />
*Python (via la librairie C++)<br />
*R (via la librairie C++)<br />
*Ruby (via la librairie C++). <br />
<br />
Ces bibliothèques font l'objet de tests d'intégration les unes par rapport aux autres afin de garantir leur fidélité au format.<br />
Ces bibliothèques officielles permettent à des projets tiers de travailler avec les données Arrow sans avoir à implémenter eux-mêmes le format en colonnes Arrow. <br />
<br />
<br />
= Qu'est ce que Apache Arrow =<br />
<br />
Apache Arrow est une plate-forme de développement logiciel pour la création d'applications hautes performances qui traitent et transportent de grands ensembles de données. Elle est conçue pour améliorer à la fois les performances des algorithmes analytiques et l'efficacité du transfert de données d'un système ou d'un langage de programmation à un autre.<br />
<br />
[[File:Arrow1.png|400px|frame|center|Transfert de données sans Arrow]]<br />
[[File:Arrow2.png|400px|frame|center|Transfert de données avec Arrow]]<br />
<br />
<br />
Un élément essentiel d'Apache Arrow est son format en colonne en mémoire, une spécification standardisée et agnostique du langage pour représenter des ensembles de données structurés et semblables à des tableaux en mémoire. Le format Apache Arrow permet aux moteurs d'exécution de maximiser leur efficacité lors de l'analyse et de l'itération de gros volumes de données. <br />
Sans un format standard de données en colonnes, chaque base de données et chaque langue doit mettre en œuvre son propre format de données interne. Cela génère beaucoup de gaspillage. <br />
Le déplacement des données d'un système à l'autre implique une sérialisation et une désérialisation coûteuses en temps et en mémoire. En outre, les algorithmes communs doivent souvent être réécrits pour chaque format de données.<br />
<br />
Le format de données en colonnes en mémoire de Arrow est une solution toute prête pour résoudre ces problèmes. Les systèmes qui utilisent ou prennent en charge Arrow peuvent transférer des données entre eux à un coût minime, voire nul. De plus, ils n'ont pas besoin de mettre en place des connecteurs personnalisés pour tous les autres systèmes. En plus de ces économies, un format de mémoire standardisé facilite la réutilisation des bibliothèques d'algorithmes, même entre les langues.<br />
<br />
Dans la plupart des systèmes de stockage, la donnée est stockée sur disque ligne par ligne. Maintenant imaginons que l’on souhaite agréger la donnée, il faudra alors lire toutes les lignes, entièrement, une à une et extraire la donnée à agréger. Le stockage row-wise est une perte de temps, d’espace de stockage et de performance.<br />
<br />
Si l’on pense maintenant en format colonne où chaque colonne et ses valeurs sont stockées au même endroit, nous n’aurons besoin d’accéder qu’à la colonne à agréger pour faire notre calcul. Le stockage colonne nous permet de gagner en efficacité et en rapidité.<br />
<br />
= Alternatives =<br />
<br />
Arrow peut être utilisé avec Apache Parquet, Apache Spark, NumPy, PySpark, Pandas et d'autres bibliothèques de traitement de données. Cependant Apache Arrow reste la solution la plus complète actuellement.<br />
<br />
Apache Parquet et Apache ORC sont des exemples populaires de formats de données en colonnes sur disque. Arrow est conçu comme un complément à ces formats pour le traitement des données en mémoire. Les compromis d'ingénierie des ressources matérielles pour le traitement en mémoire varient de ceux associés au stockage sur disque. Les projets Arrow et Parquet comprennent des bibliothèques qui permettent de lire et d'écrire des données entre les deux formats. Ces projets sont donc plus complémentaires que concurrents.<br />
<br />
<br />
= Désavantage =<br />
<br />
Le principal désavantage avec Apache Arrow va avec son principal avantage: il est très complet, ce qui le rend difficile à prendre en main pour les débutants. malgré une communauté active et une documentation fournie.<br />
<br />
<br />
= Référence =<br />
# https://en.wikipedia.org/wiki/Apache_Arrow<br />
# https://github.com/apache/arrow<br />
# https://arrow.apache.org/<br />
# https://blog.ippon.fr/2020/10/28/apache-arrow/<br />
# https://big-data.developpez.com/actu/307542/Big-Data-la-plateforme-de-developpement-pour-l-analyse-in-memory-Apache-Arrow-1-0-0-est-disponible-et-s-accompagne-de-nombreuses-ameliorations/<br />
# https://www.dremio.com/data-lake/apache-arrow/ <br />
# https://www.youtube.com/watch?v=y7zGnKzaKIw<br />
# https://github.com/animeshtrivedi/blog/blob/master/post/2017-12-26-arrow.md<br />
<br />
<br />
= Veille Technologique 2020 =<br />
* Année : [[VT2020|VT2020]]<br />
* Sujet : Apache Arrow<br />
* Auteurs : [[User:Robin.Delbos|Robin Delbos]]</div>Robin.Delboshttps://air.imag.fr/index.php?title=VT2020-Apache_Arrow-Fiche&diff=49284VT2020-Apache Arrow-Fiche2020-12-07T13:29:40Z<p>Robin.Delbos: /* Qu'est ce que Apache Arrow */</p>
<hr />
<div>[[File:Arrow_Logo.png|400px|thumb|Logo de Apache Arrow]]<br />
<br />
<br />
= Introduction =<br />
<br />
Apache arrow a été créé en octobre 2016 et est toujours en développement: la dernière version stable (v2.0.0) est sortie le 19 octobre 2020.<br />
<br />
Apache Arrow possède des bibliothèques pour:<br />
*C<br />
*C++<br />
*C#<br />
*Go<br />
*Java<br />
*JavaScript<br />
*Rust<br />
*MATLAB (via la librairie C++)<br />
*Python (via la librairie C++)<br />
*R (via la librairie C++)<br />
*Ruby (via la librairie C++). <br />
<br />
Ces bibliothèques font l'objet de tests d'intégration les unes par rapport aux autres afin de garantir leur fidélité au format.<br />
Ces bibliothèques officielles permettent à des projets tiers de travailler avec les données Arrow sans avoir à implémenter eux-mêmes le format en colonnes Arrow. <br />
<br />
<br />
= Qu'est ce que Apache Arrow =<br />
<br />
Apache Arrow est une plate-forme de développement logiciel pour la création d'applications hautes performances qui traitent et transportent de grands ensembles de données. Elle est conçue pour améliorer à la fois les performances des algorithmes analytiques et l'efficacité du transfert de données d'un système ou d'un langage de programmation à un autre.<br />
<br />
[[File:Arrow1.png|400px|thumb|Transfert de données sans Arrow]]<br />
[[File:Arrow2.png|400px|frame|center|Transfert de données avec Arrow]]<br />
<br />
<br />
Un élément essentiel d'Apache Arrow est son format en colonne en mémoire, une spécification standardisée et agnostique du langage pour représenter des ensembles de données structurés et semblables à des tableaux en mémoire. Le format Apache Arrow permet aux moteurs d'exécution de maximiser leur efficacité lors de l'analyse et de l'itération de gros volumes de données. <br />
Sans un format standard de données en colonnes, chaque base de données et chaque langue doit mettre en œuvre son propre format de données interne. Cela génère beaucoup de gaspillage. <br />
Le déplacement des données d'un système à l'autre implique une sérialisation et une désérialisation coûteuses en temps et en mémoire. En outre, les algorithmes communs doivent souvent être réécrits pour chaque format de données.<br />
<br />
Le format de données en colonnes en mémoire de Arrow est une solution toute prête pour résoudre ces problèmes. Les systèmes qui utilisent ou prennent en charge Arrow peuvent transférer des données entre eux à un coût minime, voire nul. De plus, ils n'ont pas besoin de mettre en place des connecteurs personnalisés pour tous les autres systèmes. En plus de ces économies, un format de mémoire standardisé facilite la réutilisation des bibliothèques d'algorithmes, même entre les langues.<br />
<br />
Dans la plupart des systèmes de stockage, la donnée est stockée sur disque ligne par ligne. Maintenant imaginons que l’on souhaite agréger la donnée, il faudra alors lire toutes les lignes, entièrement, une à une et extraire la donnée à agréger. Le stockage row-wise est une perte de temps, d’espace de stockage et de performance.<br />
<br />
Si l’on pense maintenant en format colonne où chaque colonne et ses valeurs sont stockées au même endroit, nous n’aurons besoin d’accéder qu’à la colonne à agréger pour faire notre calcul. Le stockage colonne nous permet de gagner en efficacité et en rapidité.<br />
<br />
= Alternatives =<br />
<br />
Arrow peut être utilisé avec Apache Parquet, Apache Spark, NumPy, PySpark, Pandas et d'autres bibliothèques de traitement de données. Cependant Apache Arrow reste la solution la plus complète actuellement.<br />
<br />
Apache Parquet et Apache ORC sont des exemples populaires de formats de données en colonnes sur disque. Arrow est conçu comme un complément à ces formats pour le traitement des données en mémoire. Les compromis d'ingénierie des ressources matérielles pour le traitement en mémoire varient de ceux associés au stockage sur disque. Les projets Arrow et Parquet comprennent des bibliothèques qui permettent de lire et d'écrire des données entre les deux formats. Ces projets sont donc plus complémentaires que concurrents.<br />
<br />
<br />
= Désavantage =<br />
<br />
Le principal désavantage avec Apache Arrow va avec son principal avantage: il est très complet, ce qui le rend difficile à prendre en main pour les débutants. malgré une communauté active et une documentation fournie.<br />
<br />
<br />
= Référence =<br />
# https://en.wikipedia.org/wiki/Apache_Arrow<br />
# https://github.com/apache/arrow<br />
# https://arrow.apache.org/<br />
# https://blog.ippon.fr/2020/10/28/apache-arrow/<br />
# https://big-data.developpez.com/actu/307542/Big-Data-la-plateforme-de-developpement-pour-l-analyse-in-memory-Apache-Arrow-1-0-0-est-disponible-et-s-accompagne-de-nombreuses-ameliorations/<br />
# https://www.dremio.com/data-lake/apache-arrow/ <br />
# https://www.youtube.com/watch?v=y7zGnKzaKIw<br />
# https://github.com/animeshtrivedi/blog/blob/master/post/2017-12-26-arrow.md<br />
<br />
<br />
= Veille Technologique 2020 =<br />
* Année : [[VT2020|VT2020]]<br />
* Sujet : Apache Arrow<br />
* Auteurs : [[User:Robin.Delbos|Robin Delbos]]</div>Robin.Delboshttps://air.imag.fr/index.php?title=VT2020-Apache_Arrow-Fiche&diff=49283VT2020-Apache Arrow-Fiche2020-12-07T13:29:16Z<p>Robin.Delbos: /* Qu'est ce que Apache Arrow */</p>
<hr />
<div>[[File:Arrow_Logo.png|400px|thumb|Logo de Apache Arrow]]<br />
<br />
<br />
= Introduction =<br />
<br />
Apache arrow a été créé en octobre 2016 et est toujours en développement: la dernière version stable (v2.0.0) est sortie le 19 octobre 2020.<br />
<br />
Apache Arrow possède des bibliothèques pour:<br />
*C<br />
*C++<br />
*C#<br />
*Go<br />
*Java<br />
*JavaScript<br />
*Rust<br />
*MATLAB (via la librairie C++)<br />
*Python (via la librairie C++)<br />
*R (via la librairie C++)<br />
*Ruby (via la librairie C++). <br />
<br />
Ces bibliothèques font l'objet de tests d'intégration les unes par rapport aux autres afin de garantir leur fidélité au format.<br />
Ces bibliothèques officielles permettent à des projets tiers de travailler avec les données Arrow sans avoir à implémenter eux-mêmes le format en colonnes Arrow. <br />
<br />
<br />
= Qu'est ce que Apache Arrow =<br />
<br />
Apache Arrow est une plate-forme de développement logiciel pour la création d'applications hautes performances qui traitent et transportent de grands ensembles de données. Elle est conçue pour améliorer à la fois les performances des algorithmes analytiques et l'efficacité du transfert de données d'un système ou d'un langage de programmation à un autre.<br />
<br />
[[File:Arrow1.png|400px|thumb|Transfert de données sans Arrow]]<br />
[[File:Arrow2.png|400px|center|Transfert de données avec Arrow]]<br />
<br />
<br />
Un élément essentiel d'Apache Arrow est son format en colonne en mémoire, une spécification standardisée et agnostique du langage pour représenter des ensembles de données structurés et semblables à des tableaux en mémoire. Le format Apache Arrow permet aux moteurs d'exécution de maximiser leur efficacité lors de l'analyse et de l'itération de gros volumes de données. <br />
Sans un format standard de données en colonnes, chaque base de données et chaque langue doit mettre en œuvre son propre format de données interne. Cela génère beaucoup de gaspillage. <br />
Le déplacement des données d'un système à l'autre implique une sérialisation et une désérialisation coûteuses en temps et en mémoire. En outre, les algorithmes communs doivent souvent être réécrits pour chaque format de données.<br />
<br />
Le format de données en colonnes en mémoire de Arrow est une solution toute prête pour résoudre ces problèmes. Les systèmes qui utilisent ou prennent en charge Arrow peuvent transférer des données entre eux à un coût minime, voire nul. De plus, ils n'ont pas besoin de mettre en place des connecteurs personnalisés pour tous les autres systèmes. En plus de ces économies, un format de mémoire standardisé facilite la réutilisation des bibliothèques d'algorithmes, même entre les langues.<br />
<br />
Dans la plupart des systèmes de stockage, la donnée est stockée sur disque ligne par ligne. Maintenant imaginons que l’on souhaite agréger la donnée, il faudra alors lire toutes les lignes, entièrement, une à une et extraire la donnée à agréger. Le stockage row-wise est une perte de temps, d’espace de stockage et de performance.<br />
<br />
Si l’on pense maintenant en format colonne où chaque colonne et ses valeurs sont stockées au même endroit, nous n’aurons besoin d’accéder qu’à la colonne à agréger pour faire notre calcul. Le stockage colonne nous permet de gagner en efficacité et en rapidité.<br />
<br />
= Alternatives =<br />
<br />
Arrow peut être utilisé avec Apache Parquet, Apache Spark, NumPy, PySpark, Pandas et d'autres bibliothèques de traitement de données. Cependant Apache Arrow reste la solution la plus complète actuellement.<br />
<br />
Apache Parquet et Apache ORC sont des exemples populaires de formats de données en colonnes sur disque. Arrow est conçu comme un complément à ces formats pour le traitement des données en mémoire. Les compromis d'ingénierie des ressources matérielles pour le traitement en mémoire varient de ceux associés au stockage sur disque. Les projets Arrow et Parquet comprennent des bibliothèques qui permettent de lire et d'écrire des données entre les deux formats. Ces projets sont donc plus complémentaires que concurrents.<br />
<br />
<br />
= Désavantage =<br />
<br />
Le principal désavantage avec Apache Arrow va avec son principal avantage: il est très complet, ce qui le rend difficile à prendre en main pour les débutants. malgré une communauté active et une documentation fournie.<br />
<br />
<br />
= Référence =<br />
# https://en.wikipedia.org/wiki/Apache_Arrow<br />
# https://github.com/apache/arrow<br />
# https://arrow.apache.org/<br />
# https://blog.ippon.fr/2020/10/28/apache-arrow/<br />
# https://big-data.developpez.com/actu/307542/Big-Data-la-plateforme-de-developpement-pour-l-analyse-in-memory-Apache-Arrow-1-0-0-est-disponible-et-s-accompagne-de-nombreuses-ameliorations/<br />
# https://www.dremio.com/data-lake/apache-arrow/ <br />
# https://www.youtube.com/watch?v=y7zGnKzaKIw<br />
# https://github.com/animeshtrivedi/blog/blob/master/post/2017-12-26-arrow.md<br />
<br />
<br />
= Veille Technologique 2020 =<br />
* Année : [[VT2020|VT2020]]<br />
* Sujet : Apache Arrow<br />
* Auteurs : [[User:Robin.Delbos|Robin Delbos]]</div>Robin.Delboshttps://air.imag.fr/index.php?title=VT2020-Apache_Arrow-Fiche&diff=49282VT2020-Apache Arrow-Fiche2020-12-07T13:29:01Z<p>Robin.Delbos: /* Qu'est ce que Apache Arrow */</p>
<hr />
<div>[[File:Arrow_Logo.png|400px|thumb|Logo de Apache Arrow]]<br />
<br />
<br />
= Introduction =<br />
<br />
Apache arrow a été créé en octobre 2016 et est toujours en développement: la dernière version stable (v2.0.0) est sortie le 19 octobre 2020.<br />
<br />
Apache Arrow possède des bibliothèques pour:<br />
*C<br />
*C++<br />
*C#<br />
*Go<br />
*Java<br />
*JavaScript<br />
*Rust<br />
*MATLAB (via la librairie C++)<br />
*Python (via la librairie C++)<br />
*R (via la librairie C++)<br />
*Ruby (via la librairie C++). <br />
<br />
Ces bibliothèques font l'objet de tests d'intégration les unes par rapport aux autres afin de garantir leur fidélité au format.<br />
Ces bibliothèques officielles permettent à des projets tiers de travailler avec les données Arrow sans avoir à implémenter eux-mêmes le format en colonnes Arrow. <br />
<br />
<br />
= Qu'est ce que Apache Arrow =<br />
<br />
Apache Arrow est une plate-forme de développement logiciel pour la création d'applications hautes performances qui traitent et transportent de grands ensembles de données. Elle est conçue pour améliorer à la fois les performances des algorithmes analytiques et l'efficacité du transfert de données d'un système ou d'un langage de programmation à un autre.<br />
<br />
[[File:Arrow1.png|400px|thumb|Transfert de données sans Arrow]]<br />
[[File:Arrow2.png|400px|frame|Transfert de données avec Arrow]]<br />
<br />
<br />
Un élément essentiel d'Apache Arrow est son format en colonne en mémoire, une spécification standardisée et agnostique du langage pour représenter des ensembles de données structurés et semblables à des tableaux en mémoire. Le format Apache Arrow permet aux moteurs d'exécution de maximiser leur efficacité lors de l'analyse et de l'itération de gros volumes de données. <br />
Sans un format standard de données en colonnes, chaque base de données et chaque langue doit mettre en œuvre son propre format de données interne. Cela génère beaucoup de gaspillage. <br />
Le déplacement des données d'un système à l'autre implique une sérialisation et une désérialisation coûteuses en temps et en mémoire. En outre, les algorithmes communs doivent souvent être réécrits pour chaque format de données.<br />
<br />
Le format de données en colonnes en mémoire de Arrow est une solution toute prête pour résoudre ces problèmes. Les systèmes qui utilisent ou prennent en charge Arrow peuvent transférer des données entre eux à un coût minime, voire nul. De plus, ils n'ont pas besoin de mettre en place des connecteurs personnalisés pour tous les autres systèmes. En plus de ces économies, un format de mémoire standardisé facilite la réutilisation des bibliothèques d'algorithmes, même entre les langues.<br />
<br />
Dans la plupart des systèmes de stockage, la donnée est stockée sur disque ligne par ligne. Maintenant imaginons que l’on souhaite agréger la donnée, il faudra alors lire toutes les lignes, entièrement, une à une et extraire la donnée à agréger. Le stockage row-wise est une perte de temps, d’espace de stockage et de performance.<br />
<br />
Si l’on pense maintenant en format colonne où chaque colonne et ses valeurs sont stockées au même endroit, nous n’aurons besoin d’accéder qu’à la colonne à agréger pour faire notre calcul. Le stockage colonne nous permet de gagner en efficacité et en rapidité.<br />
<br />
= Alternatives =<br />
<br />
Arrow peut être utilisé avec Apache Parquet, Apache Spark, NumPy, PySpark, Pandas et d'autres bibliothèques de traitement de données. Cependant Apache Arrow reste la solution la plus complète actuellement.<br />
<br />
Apache Parquet et Apache ORC sont des exemples populaires de formats de données en colonnes sur disque. Arrow est conçu comme un complément à ces formats pour le traitement des données en mémoire. Les compromis d'ingénierie des ressources matérielles pour le traitement en mémoire varient de ceux associés au stockage sur disque. Les projets Arrow et Parquet comprennent des bibliothèques qui permettent de lire et d'écrire des données entre les deux formats. Ces projets sont donc plus complémentaires que concurrents.<br />
<br />
<br />
= Désavantage =<br />
<br />
Le principal désavantage avec Apache Arrow va avec son principal avantage: il est très complet, ce qui le rend difficile à prendre en main pour les débutants. malgré une communauté active et une documentation fournie.<br />
<br />
<br />
= Référence =<br />
# https://en.wikipedia.org/wiki/Apache_Arrow<br />
# https://github.com/apache/arrow<br />
# https://arrow.apache.org/<br />
# https://blog.ippon.fr/2020/10/28/apache-arrow/<br />
# https://big-data.developpez.com/actu/307542/Big-Data-la-plateforme-de-developpement-pour-l-analyse-in-memory-Apache-Arrow-1-0-0-est-disponible-et-s-accompagne-de-nombreuses-ameliorations/<br />
# https://www.dremio.com/data-lake/apache-arrow/ <br />
# https://www.youtube.com/watch?v=y7zGnKzaKIw<br />
# https://github.com/animeshtrivedi/blog/blob/master/post/2017-12-26-arrow.md<br />
<br />
<br />
= Veille Technologique 2020 =<br />
* Année : [[VT2020|VT2020]]<br />
* Sujet : Apache Arrow<br />
* Auteurs : [[User:Robin.Delbos|Robin Delbos]]</div>Robin.Delboshttps://air.imag.fr/index.php?title=VT2020-Apache_Arrow-Fiche&diff=49281VT2020-Apache Arrow-Fiche2020-12-07T13:27:12Z<p>Robin.Delbos: /* Qu'est ce que Apache Arrow */</p>
<hr />
<div>[[File:Arrow_Logo.png|400px|thumb|Logo de Apache Arrow]]<br />
<br />
<br />
= Introduction =<br />
<br />
Apache arrow a été créé en octobre 2016 et est toujours en développement: la dernière version stable (v2.0.0) est sortie le 19 octobre 2020.<br />
<br />
Apache Arrow possède des bibliothèques pour:<br />
*C<br />
*C++<br />
*C#<br />
*Go<br />
*Java<br />
*JavaScript<br />
*Rust<br />
*MATLAB (via la librairie C++)<br />
*Python (via la librairie C++)<br />
*R (via la librairie C++)<br />
*Ruby (via la librairie C++). <br />
<br />
Ces bibliothèques font l'objet de tests d'intégration les unes par rapport aux autres afin de garantir leur fidélité au format.<br />
Ces bibliothèques officielles permettent à des projets tiers de travailler avec les données Arrow sans avoir à implémenter eux-mêmes le format en colonnes Arrow. <br />
<br />
<br />
= Qu'est ce que Apache Arrow =<br />
<br />
Apache Arrow est une plate-forme de développement logiciel pour la création d'applications hautes performances qui traitent et transportent de grands ensembles de données. Elle est conçue pour améliorer à la fois les performances des algorithmes analytiques et l'efficacité du transfert de données d'un système ou d'un langage de programmation à un autre.<br />
<br />
[[File:Arrow1.png|400px|thumb|Transfert de données sans Arrow]]<br />
[[File:Arrow2.png|400px|Transfert de données avec Arrow]]<br />
<br />
<br />
Un élément essentiel d'Apache Arrow est son format en colonne en mémoire, une spécification standardisée et agnostique du langage pour représenter des ensembles de données structurés et semblables à des tableaux en mémoire. Le format Apache Arrow permet aux moteurs d'exécution de maximiser leur efficacité lors de l'analyse et de l'itération de gros volumes de données. <br />
Sans un format standard de données en colonnes, chaque base de données et chaque langue doit mettre en œuvre son propre format de données interne. Cela génère beaucoup de gaspillage. <br />
Le déplacement des données d'un système à l'autre implique une sérialisation et une désérialisation coûteuses en temps et en mémoire. En outre, les algorithmes communs doivent souvent être réécrits pour chaque format de données.<br />
<br />
Le format de données en colonnes en mémoire de Arrow est une solution toute prête pour résoudre ces problèmes. Les systèmes qui utilisent ou prennent en charge Arrow peuvent transférer des données entre eux à un coût minime, voire nul. De plus, ils n'ont pas besoin de mettre en place des connecteurs personnalisés pour tous les autres systèmes. En plus de ces économies, un format de mémoire standardisé facilite la réutilisation des bibliothèques d'algorithmes, même entre les langues.<br />
<br />
Dans la plupart des systèmes de stockage, la donnée est stockée sur disque ligne par ligne. Maintenant imaginons que l’on souhaite agréger la donnée, il faudra alors lire toutes les lignes, entièrement, une à une et extraire la donnée à agréger. Le stockage row-wise est une perte de temps, d’espace de stockage et de performance.<br />
<br />
Si l’on pense maintenant en format colonne où chaque colonne et ses valeurs sont stockées au même endroit, nous n’aurons besoin d’accéder qu’à la colonne à agréger pour faire notre calcul. Le stockage colonne nous permet de gagner en efficacité et en rapidité.<br />
<br />
= Alternatives =<br />
<br />
Arrow peut être utilisé avec Apache Parquet, Apache Spark, NumPy, PySpark, Pandas et d'autres bibliothèques de traitement de données. Cependant Apache Arrow reste la solution la plus complète actuellement.<br />
<br />
Apache Parquet et Apache ORC sont des exemples populaires de formats de données en colonnes sur disque. Arrow est conçu comme un complément à ces formats pour le traitement des données en mémoire. Les compromis d'ingénierie des ressources matérielles pour le traitement en mémoire varient de ceux associés au stockage sur disque. Les projets Arrow et Parquet comprennent des bibliothèques qui permettent de lire et d'écrire des données entre les deux formats. Ces projets sont donc plus complémentaires que concurrents.<br />
<br />
<br />
= Désavantage =<br />
<br />
Le principal désavantage avec Apache Arrow va avec son principal avantage: il est très complet, ce qui le rend difficile à prendre en main pour les débutants. malgré une communauté active et une documentation fournie.<br />
<br />
<br />
= Référence =<br />
# https://en.wikipedia.org/wiki/Apache_Arrow<br />
# https://github.com/apache/arrow<br />
# https://arrow.apache.org/<br />
# https://blog.ippon.fr/2020/10/28/apache-arrow/<br />
# https://big-data.developpez.com/actu/307542/Big-Data-la-plateforme-de-developpement-pour-l-analyse-in-memory-Apache-Arrow-1-0-0-est-disponible-et-s-accompagne-de-nombreuses-ameliorations/<br />
# https://www.dremio.com/data-lake/apache-arrow/ <br />
# https://www.youtube.com/watch?v=y7zGnKzaKIw<br />
# https://github.com/animeshtrivedi/blog/blob/master/post/2017-12-26-arrow.md<br />
<br />
<br />
= Veille Technologique 2020 =<br />
* Année : [[VT2020|VT2020]]<br />
* Sujet : Apache Arrow<br />
* Auteurs : [[User:Robin.Delbos|Robin Delbos]]</div>Robin.Delboshttps://air.imag.fr/index.php?title=VT2020-Apache_Arrow-Fiche&diff=49280VT2020-Apache Arrow-Fiche2020-12-07T13:26:45Z<p>Robin.Delbos: </p>
<hr />
<div>[[File:Arrow_Logo.png|400px|thumb|Logo de Apache Arrow]]<br />
<br />
<br />
= Introduction =<br />
<br />
Apache arrow a été créé en octobre 2016 et est toujours en développement: la dernière version stable (v2.0.0) est sortie le 19 octobre 2020.<br />
<br />
Apache Arrow possède des bibliothèques pour:<br />
*C<br />
*C++<br />
*C#<br />
*Go<br />
*Java<br />
*JavaScript<br />
*Rust<br />
*MATLAB (via la librairie C++)<br />
*Python (via la librairie C++)<br />
*R (via la librairie C++)<br />
*Ruby (via la librairie C++). <br />
<br />
Ces bibliothèques font l'objet de tests d'intégration les unes par rapport aux autres afin de garantir leur fidélité au format.<br />
Ces bibliothèques officielles permettent à des projets tiers de travailler avec les données Arrow sans avoir à implémenter eux-mêmes le format en colonnes Arrow. <br />
<br />
<br />
= Qu'est ce que Apache Arrow =<br />
<br />
Apache Arrow est une plate-forme de développement logiciel pour la création d'applications hautes performances qui traitent et transportent de grands ensembles de données. Elle est conçue pour améliorer à la fois les performances des algorithmes analytiques et l'efficacité du transfert de données d'un système ou d'un langage de programmation à un autre.<br />
<br />
[[File:Arrow1.png|400px|thumb|Transfert de données sans Arrow]]<br />
[[File:Arrow2.png|400px||Transfert de données avec Arrow]]<br />
<br />
<br />
Un élément essentiel d'Apache Arrow est son format en colonne en mémoire, une spécification standardisée et agnostique du langage pour représenter des ensembles de données structurés et semblables à des tableaux en mémoire. Le format Apache Arrow permet aux moteurs d'exécution de maximiser leur efficacité lors de l'analyse et de l'itération de gros volumes de données. <br />
Sans un format standard de données en colonnes, chaque base de données et chaque langue doit mettre en œuvre son propre format de données interne. Cela génère beaucoup de gaspillage. <br />
Le déplacement des données d'un système à l'autre implique une sérialisation et une désérialisation coûteuses en temps et en mémoire. En outre, les algorithmes communs doivent souvent être réécrits pour chaque format de données.<br />
<br />
Le format de données en colonnes en mémoire de Arrow est une solution toute prête pour résoudre ces problèmes. Les systèmes qui utilisent ou prennent en charge Arrow peuvent transférer des données entre eux à un coût minime, voire nul. De plus, ils n'ont pas besoin de mettre en place des connecteurs personnalisés pour tous les autres systèmes. En plus de ces économies, un format de mémoire standardisé facilite la réutilisation des bibliothèques d'algorithmes, même entre les langues.<br />
<br />
Dans la plupart des systèmes de stockage, la donnée est stockée sur disque ligne par ligne. Maintenant imaginons que l’on souhaite agréger la donnée, il faudra alors lire toutes les lignes, entièrement, une à une et extraire la donnée à agréger. Le stockage row-wise est une perte de temps, d’espace de stockage et de performance.<br />
<br />
Si l’on pense maintenant en format colonne où chaque colonne et ses valeurs sont stockées au même endroit, nous n’aurons besoin d’accéder qu’à la colonne à agréger pour faire notre calcul. Le stockage colonne nous permet de gagner en efficacité et en rapidité.<br />
<br />
<br />
= Alternatives =<br />
<br />
Arrow peut être utilisé avec Apache Parquet, Apache Spark, NumPy, PySpark, Pandas et d'autres bibliothèques de traitement de données. Cependant Apache Arrow reste la solution la plus complète actuellement.<br />
<br />
Apache Parquet et Apache ORC sont des exemples populaires de formats de données en colonnes sur disque. Arrow est conçu comme un complément à ces formats pour le traitement des données en mémoire. Les compromis d'ingénierie des ressources matérielles pour le traitement en mémoire varient de ceux associés au stockage sur disque. Les projets Arrow et Parquet comprennent des bibliothèques qui permettent de lire et d'écrire des données entre les deux formats. Ces projets sont donc plus complémentaires que concurrents.<br />
<br />
<br />
= Désavantage =<br />
<br />
Le principal désavantage avec Apache Arrow va avec son principal avantage: il est très complet, ce qui le rend difficile à prendre en main pour les débutants. malgré une communauté active et une documentation fournie.<br />
<br />
<br />
= Référence =<br />
# https://en.wikipedia.org/wiki/Apache_Arrow<br />
# https://github.com/apache/arrow<br />
# https://arrow.apache.org/<br />
# https://blog.ippon.fr/2020/10/28/apache-arrow/<br />
# https://big-data.developpez.com/actu/307542/Big-Data-la-plateforme-de-developpement-pour-l-analyse-in-memory-Apache-Arrow-1-0-0-est-disponible-et-s-accompagne-de-nombreuses-ameliorations/<br />
# https://www.dremio.com/data-lake/apache-arrow/ <br />
# https://www.youtube.com/watch?v=y7zGnKzaKIw<br />
# https://github.com/animeshtrivedi/blog/blob/master/post/2017-12-26-arrow.md<br />
<br />
<br />
= Veille Technologique 2020 =<br />
* Année : [[VT2020|VT2020]]<br />
* Sujet : Apache Arrow<br />
* Auteurs : [[User:Robin.Delbos|Robin Delbos]]</div>Robin.Delboshttps://air.imag.fr/index.php?title=File:Arrow2.png&diff=49279File:Arrow2.png2020-12-07T13:26:04Z<p>Robin.Delbos: </p>
<hr />
<div></div>Robin.Delboshttps://air.imag.fr/index.php?title=File:Arrow1.png&diff=49278File:Arrow1.png2020-12-07T13:25:46Z<p>Robin.Delbos: </p>
<hr />
<div></div>Robin.Delboshttps://air.imag.fr/index.php?title=VT2020-Apache_Arrow-Fiche&diff=49277VT2020-Apache Arrow-Fiche2020-12-07T13:25:20Z<p>Robin.Delbos: </p>
<hr />
<div>[[File:Arrow_Logo.png|400px|thumb|Logo de Apache Arrow]]<br />
<br />
<br />
= Introduction =<br />
<br />
Apache arrow a été créé en octobre 2016 et est toujours en développement: la dernière version stable (v2.0.0) est sortie le 19 octobre 2020.<br />
<br />
Apache Arrow possède des bibliothèques pour:<br />
*C<br />
*C++<br />
*C#<br />
*Go<br />
*Java<br />
*JavaScript<br />
*Rust<br />
*MATLAB (via la librairie C++)<br />
*Python (via la librairie C++)<br />
*R (via la librairie C++)<br />
*Ruby (via la librairie C++). <br />
<br />
Ces bibliothèques font l'objet de tests d'intégration les unes par rapport aux autres afin de garantir leur fidélité au format.<br />
Ces bibliothèques officielles permettent à des projets tiers de travailler avec les données Arrow sans avoir à implémenter eux-mêmes le format en colonnes Arrow. <br />
<br />
<br />
= Qu'est ce que Apache Arrow =<br />
<br />
Apache Arrow est une plate-forme de développement logiciel pour la création d'applications hautes performances qui traitent et transportent de grands ensembles de données. Elle est conçue pour améliorer à la fois les performances des algorithmes analytiques et l'efficacité du transfert de données d'un système ou d'un langage de programmation à un autre.<br />
<br />
[[File:Arrow1.png|400px|thumb|Transfert de données sans Arrow]]<br />
[[File:Arrow2.png|400px|thumb|Transfert de données avec Arrow]]<br />
<br />
<br />
Un élément essentiel d'Apache Arrow est son format en colonne en mémoire, une spécification standardisée et agnostique du langage pour représenter des ensembles de données structurés et semblables à des tableaux en mémoire. Le format Apache Arrow permet aux moteurs d'exécution de maximiser leur efficacité lors de l'analyse et de l'itération de gros volumes de données. <br />
Sans un format standard de données en colonnes, chaque base de données et chaque langue doit mettre en œuvre son propre format de données interne. Cela génère beaucoup de gaspillage. <br />
Le déplacement des données d'un système à l'autre implique une sérialisation et une désérialisation coûteuses en temps et en mémoire. En outre, les algorithmes communs doivent souvent être réécrits pour chaque format de données.<br />
<br />
Le format de données en colonnes en mémoire de Arrow est une solution toute prête pour résoudre ces problèmes. Les systèmes qui utilisent ou prennent en charge Arrow peuvent transférer des données entre eux à un coût minime, voire nul. De plus, ils n'ont pas besoin de mettre en place des connecteurs personnalisés pour tous les autres systèmes. En plus de ces économies, un format de mémoire standardisé facilite la réutilisation des bibliothèques d'algorithmes, même entre les langues.<br />
<br />
Dans la plupart des systèmes de stockage, la donnée est stockée sur disque ligne par ligne. Maintenant imaginons que l’on souhaite agréger la donnée, il faudra alors lire toutes les lignes, entièrement, une à une et extraire la donnée à agréger. Le stockage row-wise est une perte de temps, d’espace de stockage et de performance.<br />
<br />
Si l’on pense maintenant en format colonne où chaque colonne et ses valeurs sont stockées au même endroit, nous n’aurons besoin d’accéder qu’à la colonne à agréger pour faire notre calcul. Le stockage colonne nous permet de gagner en efficacité et en rapidité.<br />
<br />
<br />
= Alternatives =<br />
<br />
Arrow peut être utilisé avec Apache Parquet, Apache Spark, NumPy, PySpark, Pandas et d'autres bibliothèques de traitement de données. Cependant Apache Arrow reste la solution la plus complète actuellement.<br />
<br />
Apache Parquet et Apache ORC sont des exemples populaires de formats de données en colonnes sur disque. Arrow est conçu comme un complément à ces formats pour le traitement des données en mémoire. Les compromis d'ingénierie des ressources matérielles pour le traitement en mémoire varient de ceux associés au stockage sur disque. Les projets Arrow et Parquet comprennent des bibliothèques qui permettent de lire et d'écrire des données entre les deux formats. Ces projets sont donc plus complémentaires que concurrents.<br />
<br />
<br />
= Désavantage =<br />
<br />
Le principal désavantage avec Apache Arrow va avec son principal avantage: il est très complet, ce qui le rend difficile à prendre en main pour les débutants. malgré une communauté active et une documentation fournie.<br />
<br />
<br />
= Référence =<br />
# https://en.wikipedia.org/wiki/Apache_Arrow<br />
# https://github.com/apache/arrow<br />
# https://arrow.apache.org/<br />
# https://blog.ippon.fr/2020/10/28/apache-arrow/<br />
# https://big-data.developpez.com/actu/307542/Big-Data-la-plateforme-de-developpement-pour-l-analyse-in-memory-Apache-Arrow-1-0-0-est-disponible-et-s-accompagne-de-nombreuses-ameliorations/<br />
# https://www.dremio.com/data-lake/apache-arrow/ <br />
# https://www.youtube.com/watch?v=y7zGnKzaKIw<br />
# https://github.com/animeshtrivedi/blog/blob/master/post/2017-12-26-arrow.md<br />
<br />
<br />
= Veille Technologique 2020 =<br />
* Année : [[VT2020|VT2020]]<br />
* Sujet : Apache Arrow<br />
* Auteurs : [[User:Robin.Delbos|Robin Delbos]]</div>Robin.Delboshttps://air.imag.fr/index.php?title=VT2020-Apache_Arrow-Fiche&diff=49276VT2020-Apache Arrow-Fiche2020-12-07T13:22:10Z<p>Robin.Delbos: </p>
<hr />
<div>[[File:Arrow_Logo.png|400px|thumb|Logo de Apache Arrow]]<br />
<br />
<br />
= Introduction =<br />
<br />
Apache arrow a été créé en octobre 2016 et est toujours en développement: la dernière version stable (v2.0.0) est sortie le 19 octobre 2020.<br />
<br />
Apache Arrow possède des bibliothèques pour:<br />
*C<br />
*C++<br />
*C#<br />
*Go<br />
*Java<br />
*JavaScript<br />
*Rust<br />
*MATLAB (via la librairie C++)<br />
*Python (via la librairie C++)<br />
*R (via la librairie C++)<br />
*Ruby (via la librairie C++). <br />
<br />
Ces bibliothèques font l'objet de tests d'intégration les unes par rapport aux autres afin de garantir leur fidélité au format.<br />
Ces bibliothèques officielles permettent à des projets tiers de travailler avec les données Arrow sans avoir à implémenter eux-mêmes le format en colonnes Arrow. <br />
<br />
<br />
= Qu'est ce que Apache Arrow =<br />
<br />
Apache Arrow est une plate-forme de développement logiciel pour la création d'applications hautes performances qui traitent et transportent de grands ensembles de données. Elle est conçue pour améliorer à la fois les performances des algorithmes analytiques et l'efficacité du transfert de données d'un système ou d'un langage de programmation à un autre.<br />
<br />
Un élément essentiel d'Apache Arrow est son format en colonne en mémoire, une spécification standardisée et agnostique du langage pour représenter des ensembles de données structurés et semblables à des tableaux en mémoire. Le format Apache Arrow permet aux moteurs d'exécution de maximiser leur efficacité lors de l'analyse et de l'itération de gros volumes de données. <br />
Sans un format standard de données en colonnes, chaque base de données et chaque langue doit mettre en œuvre son propre format de données interne. Cela génère beaucoup de gaspillage. <br />
Le déplacement des données d'un système à l'autre implique une sérialisation et une désérialisation coûteuses en temps et en mémoire. En outre, les algorithmes communs doivent souvent être réécrits pour chaque format de données.<br />
<br />
Le format de données en colonnes en mémoire de Arrow est une solution toute prête pour résoudre ces problèmes. Les systèmes qui utilisent ou prennent en charge Arrow peuvent transférer des données entre eux à un coût minime, voire nul. De plus, ils n'ont pas besoin de mettre en place des connecteurs personnalisés pour tous les autres systèmes. En plus de ces économies, un format de mémoire standardisé facilite la réutilisation des bibliothèques d'algorithmes, même entre les langues.<br />
<br />
Dans la plupart des systèmes de stockage, la donnée est stockée sur disque ligne par ligne. Maintenant imaginons que l’on souhaite agréger la donnée, il faudra alors lire toutes les lignes, entièrement, une à une et extraire la donnée à agréger. Le stockage row-wise est une perte de temps, d’espace de stockage et de performance.<br />
<br />
Si l’on pense maintenant en format colonne où chaque colonne et ses valeurs sont stockées au même endroit, nous n’aurons besoin d’accéder qu’à la colonne à agréger pour faire notre calcul. Le stockage colonne nous permet de gagner en efficacité et en rapidité.<br />
<br />
<br />
= Alternatives =<br />
<br />
Arrow peut être utilisé avec Apache Parquet, Apache Spark, NumPy, PySpark, Pandas et d'autres bibliothèques de traitement de données. Cependant Apache Arrow reste la solution la plus complète actuellement.<br />
<br />
Apache Parquet et Apache ORC sont des exemples populaires de formats de données en colonnes sur disque. Arrow est conçu comme un complément à ces formats pour le traitement des données en mémoire. Les compromis d'ingénierie des ressources matérielles pour le traitement en mémoire varient de ceux associés au stockage sur disque. Les projets Arrow et Parquet comprennent des bibliothèques qui permettent de lire et d'écrire des données entre les deux formats. Ces projets sont donc plus complémentaires que concurrents.<br />
<br />
<br />
= Désavantage =<br />
<br />
Le principal désavantage avec Apache Arrow va avec son principal avantage: il est très complet, ce qui le rend difficile à prendre en main pour les débutants. malgré une communauté active et une documentation fournie.<br />
<br />
<br />
= Référence =<br />
# https://en.wikipedia.org/wiki/Apache_Arrow<br />
# https://github.com/apache/arrow<br />
# https://arrow.apache.org/<br />
# https://blog.ippon.fr/2020/10/28/apache-arrow/<br />
# https://big-data.developpez.com/actu/307542/Big-Data-la-plateforme-de-developpement-pour-l-analyse-in-memory-Apache-Arrow-1-0-0-est-disponible-et-s-accompagne-de-nombreuses-ameliorations/<br />
# https://www.dremio.com/data-lake/apache-arrow/ <br />
# https://www.youtube.com/watch?v=y7zGnKzaKIw<br />
# https://github.com/animeshtrivedi/blog/blob/master/post/2017-12-26-arrow.md<br />
<br />
<br />
= Veille Technologique 2020 =<br />
* Année : [[VT2020|VT2020]]<br />
* Sujet : Apache Arrow<br />
* Auteurs : [[User:Robin.Delbos|Robin Delbos]]</div>Robin.Delboshttps://air.imag.fr/index.php?title=File:Arrow_Logo.png&diff=49275File:Arrow Logo.png2020-12-07T13:18:36Z<p>Robin.Delbos: </p>
<hr />
<div></div>Robin.Delboshttps://air.imag.fr/index.php?title=VT2020-Apache_Arrow-Fiche&diff=49274VT2020-Apache Arrow-Fiche2020-12-07T13:18:20Z<p>Robin.Delbos: </p>
<hr />
<div>[[File:Arrow_Logo.png|400px|thumb|Logo de Apache Arrow]]<br />
<br />
<br />
= Introduction =<br />
<br />
Apache arrow a été créé en octobre 2016 et est toujours en développement: la dernière version stable (v2.0.0) est sortie le 19 octobre 2020.<br />
<br />
Apache Arrow possède des bibliothèques pour C, C++, C#, Go, Java, JavaScript, Rust, MATLAB (via la librairie C++), Python (via la librairie C++), R (via la librairie C++) et Ruby (via la librairie C++). Ces bibliothèques font l'objet de tests d'intégration les unes par rapport aux autres afin de garantir leur fidélité au format.<br />
Ces bibliothèques officielles permettent à des projets tiers de travailler avec les données Arrow sans avoir à implémenter eux-mêmes le format en colonnes Arrow. <br />
<br />
<br />
= Qu'est ce que Apache Arrow =<br />
<br />
Apache Arrow est une plate-forme de développement logiciel pour la création d'applications hautes performances qui traitent et transportent de grands ensembles de données. Elle est conçue pour améliorer à la fois les performances des algorithmes analytiques et l'efficacité du transfert de données d'un système ou d'un langage de programmation à un autre.<br />
<br />
Un élément essentiel d'Apache Arrow est son format en colonne en mémoire, une spécification standardisée et agnostique du langage pour représenter des ensembles de données structurés et semblables à des tableaux en mémoire. Le format Apache Arrow permet aux moteurs d'exécution de maximiser leur efficacité lors de l'analyse et de l'itération de gros volumes de données. <br />
Sans un format standard de données en colonnes, chaque base de données et chaque langue doit mettre en œuvre son propre format de données interne. Cela génère beaucoup de gaspillage. <br />
Le déplacement des données d'un système à l'autre implique une sérialisation et une désérialisation coûteuses en temps et en mémoire. En outre, les algorithmes communs doivent souvent être réécrits pour chaque format de données.<br />
<br />
Le format de données en colonnes en mémoire de Arrow est une solution toute prête pour résoudre ces problèmes. Les systèmes qui utilisent ou prennent en charge Arrow peuvent transférer des données entre eux à un coût minime, voire nul. De plus, ils n'ont pas besoin de mettre en place des connecteurs personnalisés pour tous les autres systèmes. En plus de ces économies, un format de mémoire standardisé facilite la réutilisation des bibliothèques d'algorithmes, même entre les langues.<br />
<br />
Dans la plupart des systèmes de stockage, la donnée est stockée sur disque ligne par ligne. Maintenant imaginons que l’on souhaite agréger la donnée, il faudra alors lire toutes les lignes, entièrement, une à une et extraire la donnée à agréger. Le stockage row-wise est une perte de temps, d’espace de stockage et de performance.<br />
<br />
Si l’on pense maintenant en format colonne où chaque colonne et ses valeurs sont stockées au même endroit, nous n’aurons besoin d’accéder qu’à la colonne à agréger pour faire notre calcul. Le stockage colonne nous permet de gagner en efficacité et en rapidité.<br />
<br />
= Alternatives =<br />
<br />
Arrow peut être utilisé avec Apache Parquet, Apache Spark, NumPy, PySpark, Pandas et d'autres bibliothèques de traitement de données. Cependant Apache Arrow reste la solution la plus complète actuellement.<br />
<br />
Apache Parquet et Apache ORC sont des exemples populaires de formats de données en colonnes sur disque. Arrow est conçu comme un complément à ces formats pour le traitement des données en mémoire. Les compromis d'ingénierie des ressources matérielles pour le traitement en mémoire varient de ceux associés au stockage sur disque. Les projets Arrow et Parquet comprennent des bibliothèques qui permettent de lire et d'écrire des données entre les deux formats. Ces projets sont donc plus complémentaires que concurrents.<br />
<br />
<br />
= Désavantage =<br />
<br />
Le principal désavantage avec Apache Arrow va avec son principal avantage: il est très complet, ce qui le rend difficile à prendre en main pour les débutants. malgré une communauté active et une documentation fournie.<br />
<br />
<br />
= Référence =<br />
# https://en.wikipedia.org/wiki/Apache_Arrow<br />
# https://github.com/apache/arrow<br />
# https://arrow.apache.org/<br />
# https://blog.ippon.fr/2020/10/28/apache-arrow/<br />
# https://big-data.developpez.com/actu/307542/Big-Data-la-plateforme-de-developpement-pour-l-analyse-in-memory-Apache-Arrow-1-0-0-est-disponible-et-s-accompagne-de-nombreuses-ameliorations/<br />
# https://www.dremio.com/data-lake/apache-arrow/ <br />
# https://www.youtube.com/watch?v=y7zGnKzaKIw<br />
# https://github.com/animeshtrivedi/blog/blob/master/post/2017-12-26-arrow.md<br />
<br />
<br />
= Veille Technologique 2020 =<br />
* Année : [[VT2020|VT2020]]<br />
* Sujet : Apache Arrow<br />
* Auteurs : [[User:Robin.Delbos|Robin Delbos]]</div>Robin.Delboshttps://air.imag.fr/index.php?title=VT2020-Apache_Arrow-Fiche&diff=49273VT2020-Apache Arrow-Fiche2020-12-07T13:16:28Z<p>Robin.Delbos: </p>
<hr />
<div>[[File:WebAssembly_Logo.png|400px|thumb|Logo de Apache Arrow]]<br />
<br />
<br />
= Introduction =<br />
<br />
Apache arrow a été créé en octobre 2016 et est toujours en développement: la dernière version stable (v2.0.0) est sortie le 19 octobre 2020.<br />
<br />
Apache Arrow possède des bibliothèques pour C, C++, C#, Go, Java, JavaScript, Rust, MATLAB (via la librairie C++), Python (via la librairie C++), R (via la librairie C++) et Ruby (via la librairie C++). Ces bibliothèques font l'objet de tests d'intégration les unes par rapport aux autres afin de garantir leur fidélité au format.<br />
Ces bibliothèques officielles permettent à des projets tiers de travailler avec les données Arrow sans avoir à implémenter eux-mêmes le format en colonnes Arrow. <br />
<br />
<br />
= Qu'est ce que Apache Arrow =<br />
<br />
Apache Arrow est une plate-forme de développement logiciel pour la création d'applications hautes performances qui traitent et transportent de grands ensembles de données. Elle est conçue pour améliorer à la fois les performances des algorithmes analytiques et l'efficacité du transfert de données d'un système ou d'un langage de programmation à un autre.<br />
<br />
Un élément essentiel d'Apache Arrow est son format en colonne en mémoire, une spécification standardisée et agnostique du langage pour représenter des ensembles de données structurés et semblables à des tableaux en mémoire. Le format Apache Arrow permet aux moteurs d'exécution de maximiser leur efficacité lors de l'analyse et de l'itération de gros volumes de données. <br />
Sans un format standard de données en colonnes, chaque base de données et chaque langue doit mettre en œuvre son propre format de données interne. Cela génère beaucoup de gaspillage. <br />
Le déplacement des données d'un système à l'autre implique une sérialisation et une désérialisation coûteuses en temps et en mémoire. En outre, les algorithmes communs doivent souvent être réécrits pour chaque format de données.<br />
<br />
Le format de données en colonnes en mémoire de Arrow est une solution toute prête pour résoudre ces problèmes. Les systèmes qui utilisent ou prennent en charge Arrow peuvent transférer des données entre eux à un coût minime, voire nul. De plus, ils n'ont pas besoin de mettre en place des connecteurs personnalisés pour tous les autres systèmes. En plus de ces économies, un format de mémoire standardisé facilite la réutilisation des bibliothèques d'algorithmes, même entre les langues.<br />
<br />
Dans la plupart des systèmes de stockage, la donnée est stockée sur disque ligne par ligne. Maintenant imaginons que l’on souhaite agréger la donnée, il faudra alors lire toutes les lignes, entièrement, une à une et extraire la donnée à agréger. Le stockage row-wise est une perte de temps, d’espace de stockage et de performance.<br />
<br />
Si l’on pense maintenant en format colonne où chaque colonne et ses valeurs sont stockées au même endroit, nous n’aurons besoin d’accéder qu’à la colonne à agréger pour faire notre calcul. Le stockage colonne nous permet de gagner en efficacité et en rapidité.<br />
<br />
= Alternatives =<br />
<br />
Arrow peut être utilisé avec Apache Parquet, Apache Spark, NumPy, PySpark, Pandas et d'autres bibliothèques de traitement de données. Cependant Apache Arrow reste la solution la plus complète actuellement.<br />
<br />
Apache Parquet et Apache ORC sont des exemples populaires de formats de données en colonnes sur disque. Arrow est conçu comme un complément à ces formats pour le traitement des données en mémoire. Les compromis d'ingénierie des ressources matérielles pour le traitement en mémoire varient de ceux associés au stockage sur disque. Les projets Arrow et Parquet comprennent des bibliothèques qui permettent de lire et d'écrire des données entre les deux formats. Ces projets sont donc plus complémentaires que concurrents.<br />
<br />
<br />
= Désavantage =<br />
<br />
Le principal désavantage avec Apache Arrow va avec son principal avantage: il est très complet, ce qui le rend difficile à prendre en main pour les débutants. malgré une communauté active et une documentation fournie.<br />
<br />
<br />
= Référence =<br />
# https://en.wikipedia.org/wiki/Apache_Arrow<br />
# https://github.com/apache/arrow<br />
# https://arrow.apache.org/<br />
# https://blog.ippon.fr/2020/10/28/apache-arrow/<br />
# https://big-data.developpez.com/actu/307542/Big-Data-la-plateforme-de-developpement-pour-l-analyse-in-memory-Apache-Arrow-1-0-0-est-disponible-et-s-accompagne-de-nombreuses-ameliorations/<br />
# https://www.dremio.com/data-lake/apache-arrow/ <br />
# https://www.youtube.com/watch?v=y7zGnKzaKIw<br />
# https://github.com/animeshtrivedi/blog/blob/master/post/2017-12-26-arrow.md<br />
<br />
<br />
= Veille Technologique 2020 =<br />
* Année : [[VT2020|VT2020]]<br />
* Sujet : Apache Arrow<br />
* Auteurs : [[User:Robin.Delbos|Robin Delbos]]</div>Robin.Delbos