W3Cschool
恭喜您成為首批注冊(cè)用戶
獲得88經(jīng)驗(yàn)值獎(jiǎng)勵(lì)
此函數(shù)用于將給定字符串中的所有字符替換為新字符。
下面給出了 REPLACE() 函數(shù)的語(yǔ)法。該函數(shù)接受三個(gè)參數(shù),即:
string - 要替換的字符串。如果我們想替換關(guān)系中的字符串,我們必須傳遞字符串所屬的列名。
regEXP - 這里我們必須傳遞要替換的字符串/正則表達(dá)式。
newChar - 這里我們必須傳遞字符串的新值。
grunt> REPLACE(string, 'regExp', 'newChar');
假設(shè)在 HDFS 目錄 /pig_data/ 中有一個(gè)名為 emp.txt 的文件,如下所示。此文件包含員工詳細(xì)信息,如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
通過使用 emp_data 關(guān)系將此文件加載到Pig中,如下所示。
grunt> emp_data = LOAD 'hdfs://localhost:9000/pig_data/emp1.txt' USING PigStorage(',') as (id:int, name:chararray, age:int, city:chararray);
以下是 REPLACE() 函數(shù)的示例。在此示例中,我們使用縮寫形式 Bhuw 替換了城市 Bhuwaneshwar 的名稱。
grunt> replace_data = FOREACH emp_data GENERATE (id,city),REPLACE(city,'Bhuwaneshwar','Bhuw');
上述語(yǔ)句在 emp_data 關(guān)系中使用'Bhuw'字符串替換 city 中的'Bhuwaneshwar' 并返回結(jié)果。此結(jié)果存儲(chǔ)在名為 replace_data 的關(guān)系中。使用Dump運(yùn)算符驗(yàn)證關(guān)系 replace_data 的內(nèi)容,如下所示。
grunt> Dump replace_data; ((1,newyork),newyork) ((2,Kolkata),Kolkata) ((3,Tokyo),Tokyo) ((4,London),London) ((5,Bhuwaneshwar),Bhuw) ((6,Chennai),Chennai) ((7,newyork),newyork) ((8,Kolkata),Kolkata) ((9,Tokyo),Tokyo) ((10,London),London) ((11,Bhuwaneshwar),Bhuw) ((12,Chennai),Chennai)
Copyright©2021 w3cschool編程獅|閩ICP備15016281號(hào)-3|閩公網(wǎng)安備35020302033924號(hào)
違法和不良信息舉報(bào)電話:173-0602-2364|舉報(bào)郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號(hào)
聯(lián)系方式:
更多建議: