Apache Pig - TAILLE ()

le SIZE() La fonction de Pig Latin est utilisée pour calculer le nombre d'éléments en fonction de n'importe quel type de données Pig.

Syntaxe

Ci-dessous, la syntaxe du SIZE() fonction.

grunt> SIZE(expression)

Les valeurs de retour varient en fonction des types de données dans Apache Pig.

Type de données Valeur
int, long, flottant, double Pour tous ces types, la fonction de taille renvoie 1.
Tableau de caractères Pour un tableau char, la fonction size () renvoie le nombre de caractères du tableau.
Tableau d'octets Pour un bytearray, la fonction size () renvoie le nombre d'octets dans le tableau.
Tuple Pour un tuple, la fonction size () renvoie le nombre de champs dans le tuple.
Sac Pour un sac, la fonction size () renvoie le nombre de tuples dans le sac.
Carte Pour une carte, la fonction size () renvoie le nombre de paires clé / valeur dans la carte.

Exemple

Supposons que nous ayons un fichier nommé employee.txt dans le répertoire HDFS /pig_data/ comme indiqué ci-dessous.

employee.txt

1,John,2007-01-24,250
2,Ram,2007-05-27,220  
3,Jack,2007-05-06,170  
3,Jack,2007-04-06,100  
4,Jill,2007-04-06,220  
5,Zara,2007-06-06,300  
5,Zara,2007-02-06,350

Et nous avons chargé ce fichier dans Pig avec le nom de la relation employee_data comme indiqué ci-dessous.

grunt> employee_data = LOAD 'hdfs://localhost:9000/pig_data/ employee.txt' USING PigStorage(',')
   as (id:int, name:chararray, workdate:chararray, daily_typing_pages:int);

Calcul de la taille du type

Pour calculer la taille du type d'une colonne particulière, nous pouvons utiliser le SIZE()fonction. Calculons la taille du type de nom comme indiqué ci-dessous.

grunt> size = FOREACH employee_data GENERATE SIZE(name);

Vérification

Vérifier la relation size en utilisant le DUMP opérateur comme indiqué ci-dessous.

grunt> Dump size;

Production

Il produira la sortie suivante, affichant le contenu de la relation sizecomme suit. Dans l'exemple, nous avons calculé la taille dunamecolonne. Puisqu'il est de type varchar, leSIZE() La fonction vous donne le nombre de caractères dans le nom de chaque employé.

(4) 
(3) 
(4) 
(4) 
(4) 
(4) 
(4)