Sommaire

Pig, Hive et l’API de streaming

1. Introduction

Un développeur Hadoop en Java doit maîtriser plusieurs compétences :

  • La programmation en Java.

  • L’utilisation du pattern MapReduce (cf. chapitre MapReduce).

  • La compréhension des modèles de métiers.

  • Etc.

Un bon programmeur Hadoop en Java est donc une denrée rare sur le marché du travail.

Hive, Pig et l’API de streaming offrent aux entreprises une alternative à Java, en leur permettant d’utiliser Hadoop avec des outils s’appuyant :

  • Soit sur des compétences assez répandues telles que :

  • SQL pour Hive.

  • Des langages de scripting (Perl, Python , Ruby…) pour l’API de streaming.

  • Soit sur un langage assez facile à maîtriser pour Pig.

En outre, Hive et Pig permettent d’utiliser Hadoop sans connaître MapReduce.

2. HiveHive

images/08EP01.png

Hive a été développé initialement par Facebook et permet d’utiliser Hadoop par le biais de requêtes SQL. Le langage de Hive s’appelle HiveQL. HiveQL est proche de la norme SQL-92 mais, contrairement à SQL-92 :

  • HiveQL ne supporte les index que de manière limitée.

  • HiveQL ne supporte pas les transactions.

  • HiveQL supporte les insertions multitables.

  • Etc.

Hive est aujourd’hui un projet de la fondation logicielle Apache.

La mise en œuvre de HiveQL ne requiert qu’une assistance marginale de l’administrateur Hadoop. Un metastore est utilisé pour stocker la définition ...