給定示例檔案test.txt如下,對第一列做詞頻統計並排序 。
hello marry
maxthread
hello lihua
max code
nasa connection
切割->分組->排序,cat test.txt | cut -d ' ' -f1 | sort | uniq -c | sort -k 1
1 nasa
2 hello
3max
注意:上面在分組前進行一次sort操作並不是多餘的,假如不sort,uniq只會對相鄰相同的單詞分組。
cat test.txt | cut -d ' ' -f1 | sort | uniq -c | wc -l
3
上述的wordcount在海量資料情況下適用嗎?答:並不適用。因為sort命令採用了歸併排序,排序時候的臨時小檔案是預設放在/tmp路徑下的,有時候/tmp的空間有限制,比如4g,那麼,超過4g的檔案就沒有辦法用sort了。當然也可以用sort -t path 來臨時檔案的目錄。見參考博文1。
[1] 大資料量下的sort-linux
Hive實現詞頻統計
hive中提供了類似於sql語言的查詢語言 hiveql,可以通過 hiveql語句快速實現簡單的 mapreduce統計,hive 自身可以將 hiveql 語句快速轉換成 mapreduce 任務進行執行,而不必開發專門的 mapreduce 應用程式,因而十分適合資料倉儲的統計分析。通過乙個簡...
統計文章詞頻(python實現)
統計出文章重複詞語是進行文字分析的重要一步,從詞頻能夠概要的分析文章內容。2.建立用於詞頻計算的空字典 3.對文字的每一行計算詞頻 4.從字典中獲取資料對到列表中 5.對列表中的資料交換位置,並排序 6.輸出結果 2.網上下來的英文文章可能有一些不是utf 8編碼,並且文章中有一些字元包含一些格式符...
PTA 詞頻統計
請編寫程式,對一段英文文字,統計其中所有不同單詞的個數,以及詞頻最大的前10 的單詞。所謂 單詞 是指由不超過80個單詞字元組成的連續字串,但長度超過15的單詞將只擷取保留前15個單詞字元。而合法的 單詞字元 為大小寫字母 數字和下劃線,其它字元均認為是單詞分隔符。輸入給出一段非空文字,最後以符號 ...