2012-04-04 34 views
1

我是新來的豬,我正在嘗試寫一個字數統計程序。從文本中獲得的話Word中的自定義單詞分隔符在豬?

一種方法是使用TOKENIZE功能:

WORDS = foreach INPUT generate flatten(TOKENIZE(text)) AS word; 

但我只是想拆就空白,而上之類的東西逗號TOKENIZE分裂了。我將如何做到這一點?我嘗試使用STRSPLIT(text, ' '),但STRSPLIT似乎返回一個元組,而TOKENIZE返回一個包,所以我不知道如何使用STRSPLIT這一點。

回答

1

我們實際上不能將一個元組直接轉換成一個包(反之亦然)。我建議你這樣做:

  1. 裝入數據
  2. 使用STRSPLIT到你的價值拆分成一個元組
  3. 將您的元組成袋的UDF
  4. 拼合你包
2

這取決於您的輸入數據的樣子,但以下內容可能適用於您:

  1. 使用MyRegExLoader(在PiggyBank中)使用正則表達式加載您的數據。
  2. 使用STREAM與Perl,sed或您最喜歡的腳本語言混合輸入數據到TOKENIZE將以您想要的方式處理的格式。

此外,它可以將元組轉換爲ToBag(也在PiggyBank中)。