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)