該函數接受兩個字符串參數。它驗證第一個字符串是否以第二個字符串開頭。
用法
下麵給出的是STARTSWITH()函數。
grunt> STARTSWITH(string, substring)
示例
假設有一個文件名為emp.txt在裏麵HDFS目錄/pig_data/如下所示。此文件包含員工詳細信息,例如 ID、姓名、年齡和城市。
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
並且,我們已經將這個文件加載到 Pig 中,關係名為emp_data如下所示。
grunt > emp_data = LOAD 'hdfs://localhost:9000/pig_data/emp.txt' USING PigStorage(',')
as (id:int, name:chararray, age:int, city:chararray);
示例
下麵是一個例子STARTSWITH()函數。在這個例子中,我們驗證了所有員工的姓名是否以子字符串開頭“Ro”。
grunt> startswith_data = FOREACH emp_data GENERATE (id,name), STARTSWITH (name,’Ro’);
如果這些名稱中的任何一個以子字符串開頭,則上述語句將解析所有員工的名稱‘Ro’.因為員工的名字‘Robin’和‘Robert’以子串開頭‘Ro’對於這兩個元組STARTSWITH()函數返回布爾值‘true’對於剩餘的元組,該值將是‘false’。
語句的結果將存儲在名為的關係中startswith_data.驗證關係的內容startswith_data, 使用 Dump 運算符,如下所示。
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)
相關用法
- Apache Pig STRSPLIT()用法及代碼示例
- Apache Pig STRSPLITTOBAG()用法及代碼示例
- Apache Pig SQRT()用法及代碼示例
- Apache Pig SUBSTRING()用法及代碼示例
- Apache Pig SUBTRACT()用法及代碼示例
- Apache Pig SecondsBetween()用法及代碼示例
- Apache Pig SINH()用法及代碼示例
- Apache Pig SubtractDuration()用法及代碼示例
- Apache Pig SUM()用法及代碼示例
- Apache Pig SIN()用法及代碼示例
- Apache Pig SIZE()用法及代碼示例
- Apache Pig HoursBetween()用法及代碼示例
- Apache Pig TOKENIZE()用法及代碼示例
- Apache Pig TAN()用法及代碼示例
- Apache Pig TOMAP()用法及代碼示例
- Apache Pig TOTUPLE()用法及代碼示例
- Apache Pig EqualsIgnoreCase()用法及代碼示例
- Apache Pig GetHour()用法及代碼示例
- Apache Pig EXP()用法及代碼示例
- Apache Pig CurrentTime()用法及代碼示例
注:本文由純淨天空篩選整理自 Apache Pig - STARTSWITH()。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。