2010-12-08 31 views
6

我讀取一個csv文件,其中包含帶有這樣的數字的字段:「3」。 我可以使用PigLatin將此字段從「3」轉換爲3嗎?我需要它使用SUM()函數。用PigLatin將「3」轉換爲3

感謝您的幫助!

+3

Areway ouyay uresay it'sway otnay「eethray」? (我知道你實際上是指什麼,我只是搞亂:P) – BoltClock 2010-12-08 16:09:48

+0

不知道你的意思?! – Christoph 2010-12-08 16:29:54

回答

6

TOKENIZE函數將拆分被認爲是字分隔符的各種字符的字符串,其中之一是引號。所以,如果你將標記爲「3」的標記爲中間項目,應該只是3.

9

什麼只是去掉"REPLACE

例如:

data = 
    LOAD 'data.txt' AS (num:CHARARRAY); 

numbers = 
    FOREACH data 
    GENERATE 
     (INT) REPLACE(num, '\\"', ''); 

然後你可以GROUPSUM

一個優點是您可以將返回的字符串直接轉換爲數字(無需處理行李)。 REGEX_EXTRACT也可以用來做同樣的事情。