Apache Pig - COMMENCE AVEC ()

Cette fonction accepte deux paramètres de chaîne. Il vérifie si la première chaîne commence par la seconde.

Syntaxe

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

grunt> STARTSWITH(string, substring)

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, le nom, l'âge et la ville.

emp.txt

001,Robin,22,newyork
002,BOB,23,Kolkata
003,Maya,23,Tokyo
004,Sara,25,London 
005,David,23,Bhuwaneshwar 
006,Maggy,22,Chennai
007,Robert,22,newyork 
008,Syam,23,Kolkata
009,Mary,25,Tokyo 
010,Saran,25,London 
011,Stacy,25,Bhuwaneshwar 
012,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);

Exemple

Voici un exemple de STARTSWITH()fonction. Dans cet exemple, nous avons vérifié si les noms de tous les employés commencent par la sous-chaîne“Ro”.

grunt> startswith_data = FOREACH emp_data GENERATE (id,name), STARTSWITH (name,’Ro’);

L'instruction ci-dessus analyse les noms de tous les employés si l'un de ces noms commence par la sous-chaîne ‘Ro’. Puisque les noms des employés‘Robin’ et ‘Robert’ commence par la sous-chaîne ‘Ro’ pour ces deux tuples le STARTSWITH() function renvoie la valeur booléenne ‘true’ et pour les tuples restants, la valeur sera ‘false’.

Le résultat de l'instruction sera stocké dans la relation nommée startswith_data. Vérifier le contenu de la relationstartswith_data, en utilisant l'opérateur Dump comme indiqué ci-dessous.

grunt> Dump startswith_data;
  
((1,Robin),true)
((2,BOB),false)
((3,Maya),false) 
((4,Sara),false)
((5,David),false) 
((6,maggy),false)
((7,Robert),true) 
((8,Syam),false)
((9,Mary),false) 
((10,Saran),false)
((11,Stacy),false) 
((12,Kelly),false)