Apache Pig - SUBSTRING ()
Cette fonction renvoie une sous-chaîne de la chaîne donnée.
Syntaxe
Ci-dessous, la syntaxe du SUBSTRING()fonction. Cette fonction accepte trois paramètres dont l'un est le nom de la colonne de la chaîne que nous voulons. Et les deux autres sont les index de début et d'arrêt de la sous-chaîne requise.
grunt> SUBSTRING(string, startIndex, stopIndex)
Exemple
Supposons qu'il existe un fichier nommé emp.txt dans le HDFS annuaire /pig_data/comme indiqué ci-dessous. Ce fichier contient les détails de l'employé tels que l'identifiant, l'âge du nom et la ville.
emp.txt
001,Robin,22,newyork
002,Stacy,25,Bhuwaneshwar
003,Kelly,22,Chennai
Et, nous avons chargé ce fichier dans Pig avec une relation nommée emp_data comme indiqué ci-dessous.
grunt> emp_data = LOAD 'hdfs://localhost:9000/pig_data/emp.txt' USING PigStorage(',')as (id:int, name:chararray, age:int, city:chararray);
Voici un exemple de SUBSTRING()fonction. Cet exemple récupère les sous-chaînes commençant par la 0 e lettre et se terminant par la 2 e lettre des noms d'employés.
grunt> substring_data = FOREACH emp_data GENERATE (id,name), SUBSTRING (name, 0, 2);
L'instruction ci-dessus récupère les sous-chaînes requises à partir des noms des employés. Le résultat de l'instruction sera stocké dans la relation nomméesubstring_data.
Vérifier le contenu de la relation substring_data, en utilisant l'opérateur Dump comme indiqué ci-dessous.
grunt> Dump substring_data;
((1,Robin),Rob)
((2,Stacy),Sta)
((3,Kelly),Kel)