Et suis tombé sur la distribution "Syncfusion Big Data Platform", avec cette distribution ,et les 6go de ram disponible, seul le service spark refuse de démarrer par manque de mémoire avec le service Hbase laissé en arrêt (pour économiser un peu de ram), les autres composants Hdfs, pig, hive, fonctionnent correctement. Pas mal de démos accompagnent cette distribution.
Lien de téléchargement :
Attention, c'est une version d'essai (30jours), télécharger la version pour développement.
L'installation est très simple.
A la fin de l'installation, lancer "Syncfusion Big Data Dashboard"
Cliquer sur "Service Manager", et attendre que les services hadoop et hive démarrent correctement
Cliquer sur "Launch Studio" : l'interface pour accéder graphiquement à tous les composants
1) Import de fichier dans HdfsPlan de test : charger un fichier dans HDFS et créer une table Hive pour faciliter l'exploitation, exploiter cette table depuis Qlik Sense
Pour test, j'ai prix le fichier suivant :
https://www.data.gouv.fr/fr/datasets/les-moyens-consacres-a-la-r-d-les-entreprises-par-branche-d-activite-mesr/Ce jeu de données présente les moyens financiers et humains consacrés à la recherche et au développement dans les entreprises par zone géographique, année, branche d'activité et type de personnel.
Pour insérer un fichier manuellement dans hadoop, il faut utiliser la commande :
hdfs dfs -copyFromLocal <fichier source> <hdfs de destination>
L'outil offre une interface graphique pour le faire facilement.
Depuis l'onglet HDFS, cliquer sur "New" pour créer le répertoire de destination
Sélectionner ce nouveau répertoire, et clique droit et choisir "Permissions" :
Pour charger le fichier, mettez-vous dans le répertoire créé, et cliquer sur le bouton "Upload", cocher "File", sélectionner le fichier que vous avez récupéré et cliquer sur "Upload"
2) Test du fichier dans Hdfs
Cliquer sur l'onglet "Hadoop", cliquer sur "Script" puis "New"
Et taper et exécuter la commande "hdfs dfs -tail /datawarehouse/fr-esr-rd-moyens-entreprises-branche.csv;"
Cela affiche les derniers kilobytes notre fichier
3) Table Hive
Hive : c'est l'accès aux données en "Sql like" dans hadoop
Cliquer sur l'onglet "Hive", cliquer sur "New Database" pour créer une nouvelle base (ici dwh), et cliquer sur "Script" puis "New" pour exécuter un script de création de la table hive :
Il y a un bouton "New Table" pour créer la table, je préfère le faire en script, cela permet de gérer pas mal d'options, ci-après le script de création de la table :
CREATE TABLE dwh.stat_entreprise_rd(
code_zone_geo INT,
zone_geographique STRING,
annee INT,
code_indicateur STRING,
indicateur STRING,
code_type_pers INT,
type_de_personnel STRING,
code_branche INT,
branche_d_activite STRING,
secret STRING,
non_disponible STRING,
etat_des_donnees STRING,
valeur DECIMAL(12,2))
COMMENT 'Table contenant les stats RD des entreprises'
ROW FORMAT SERDE 'org.apache.hadoop.hive.serde2.OpenCSVSerde'
WITH SERDEPROPERTIES (
"separatorChar" = "\u0059"
)
STORED AS TEXTFILE
LOCATION '/datawarehouse'
tblproperties ("skip.header.line.count"="1");
"separatorChar" = "\u0059" -> indique le séparateur ";"
tblproperties ("skip.header.line.count"="1") -> pour ignorer la première ligne
Testons avec le sql suivant :
select zone_geographique,sum(valeur) from dwh.stat_entreprise_rd group by zone_geographique;
A suivre : exploitation de la table