Lab Azure Big Data (4) : utilisation de Pig

Dans le cadre d’un programme de “readiness” interne, j’ai participé à la création de contenu autour du Big Data. Comme j’ai eu de nombreuses demandes pour récupérer le contenu que j’ai créé, je me suis dit que ça pourrait peut-être intéresser d’autres personnes. Donc je partage sur mon blog Smile !

Ce contenu est constitué d’une série d’articles qui va de la création d’un cluster HDInsight à l’exploitation des données.

Sommaire des articles

  1. Création d’un cluster HDInsight
  2. Utilisation de MapReduce
  3. Utilisation de Hive
  4. Utilisation de Pig
  5. Analyses des données avec Power BI

(Cet article reprend en grande partie celui que j’ai déjà publié ici, mis à jour avec le nouveau portail Azure)

Préparation des données

Dans ce lab, nous allons faire l’analyse des logs du site Wikipedia. Ces logs sont accessibles à l’adresse suivante :

https://dumps.wikimedia.org/other/pageviews/2017/2017-01/

Nous allons récupérer 2 fichiers de logs, mais il est possible d’en récupérer plus.

Pour récupérer les données, il est possible de faire un WGET depuis « Bash on Ubuntu on Windows».

Création d’un répertoire de données

Avec putty ou « Bash on Ubuntu on Windows», connectez-vous à votre cluster (voir le lab 01_HdInsight). Puis créez un répertoire avec la commande suivante :

hadoop fs -mkdir /example/data/wikipedialogs

image

Côté Data Lake Store, le dossier est bien créé :

image

Récupération des données Wikipedia

ATTENTION !! Ne prenez que des fichiers commençant par « pageviews »

Dans cet exemple, nous allons prendre les 2 fichiers suivants :

image

Nous allons donc passer les 2 commandes suivantes :

wget https://dumps.wikimedia.org/other/pageviews/2017/2017-01/pageviews-20170127-070000.gz

wget https://dumps.wikimedia.org/other/pageviews/2017/2017-01/pageviews-20170127-080000.gz

image

Les fichiers sont téléchargés dans le cluster, ce qui signifie que si nous détruisons le cluster, les fichiers seront perdus. Nous allons donc copier les fichiers du cluster vers le Data Lake Store. Nous allons utiliser la commande copyFromLocal

hadoop fs -copyFromLocal pageviews-20170127-*.gz /example/data/wikipedialogs

image

Si maintenant on regarde du côté de Data Lake Store, nous retrouvons bien nos 2 fichiers :

image


Traitement des données

Maintenant que nous avons récupéré et sécurisé nos données, nous allons pouvoir les exploiter. Dans cet exemple, nous allons utiliser le script pig suivant.

Attention, sur la première ligne, de bien pointer vers le bon répertoire et les bons fichiers.

records = load '/example/data/wikipedialogs/pageviews-*.gz' using PigStorage(' ') as (project:chararray, page:chararray, requests:int, size:int);

filtered_records = filter records by (project == 'en') or (project == 'fr');

records_by_page = group filtered_records by (page, project);

sum_pages = foreach records_by_page generate group, SUM(filtered_records.requests);

result = order sum_pages by $1 desc;

result_limit = limit result 1000;

store result_limit into 'output-wikipedialogs';

Nous allons créer un fichier dans lequel nous allons copier le script ci-dessous.

Dans la console, entrez la commande :

vi script.pig

Une copie d’écran ci-dessous :

image

Vous entrez donc dans l’éditeur de texte vi (doc de « vi » ici) :

image

Pour passer en mode insertion, appuyez sur « i »

Collez le script dans l’éditeur de texte :

image

Pour enregistrer le fichier, il faut passer en mode commande en cliquant sur la touche « esc ».

Pour quitter vi, utilisez la commande suivante :

« :x » puis la touche « return »

image

Maintenant que nous avons créé un fichier avec le script, nous allons l’exécuter avec la commande :

pig -f script.pig

Le script va s’exécuter et la progression pourra être suivie depuis la console

image

Monitoring du script pig

Pour monitorer l’exécution du script, connectez-vous sur votre cluster HDInsight depuis le portail Azure. Puis cliquez sur « Yarn»

image

Dans le dashboard Yarn, sur la gauche, cliquez sur running afin de voir l’avancement d’exécution du script PIG.

image

Analyse des données avec Power BI

Les fichiers récupérés suite au traitement sont stockés dans Data Lake Store :

image

Pour analyser les données, nous allons utiliser Power BI Desktop. Cette activité sera détaillée dans le prochain lab.

Franck Mercier