如何用10個大數據技術方案解決一個問題

數據分析技術一直在不斷的發展。舊的關係數據庫系統變得越來越不受歡迎。現在,我們必須通過一些新的技術來找到我們的方法,這些技術可以處理大的(和流的)數據,最好是在分佈式環境中。

Python現在很流行當然也有很多其他的選擇。SQL大行其道,而其他一些老古董仍然存在。本文試圖為一個簡單的挑戰,提供10種不同技術編寫的10個解決方案:

如何用10個大數據技術方案解決一個問題

通過這些技術,使用Grouplens網站提供的兩個CSV數據集列出十大最受歡迎的電影。

數據集

如何用10個大數據技術方案解決一個問題

目標

我們將聚合收視率數據(u.data)來計算每個movie_id的平均收視率,並找到平均收視率最高的10部電影。

如何用10個大數據技術方案解決一個問題

1. AWK

如何用10個大數據技術方案解決一個問題

Step 1: Join the Datasets

Step 2: Sort, Cut and TR

如何用10個大數據技術方案解決一個問題

Step 3: AWK

Step 4: Again AWK

Step 5: Sort, Head and TR

2. PERL

如何用10個大數據技術方案解決一個問題

如何用10個大數據技術方案解決一個問題

3. BASH

如何用10個大數據技術方案解決一個問題

如何用10個大數據技術方案解決一個問題

4. SQL(PostgreSQL)

如何用10個大數據技術方案解決一個問題

如何用10個大數據技術方案解決一個問題

如何用10個大數據技術方案解決一個問題

5. Python with Pandas

如何用10個大數據技術方案解決一個問題

6. MapReduce With MRJob in Python

如何用10個大數據技術方案解決一個問題

如何用10個大數據技術方案解決一個問題

7. Pig Latin

如何用10個大數據技術方案解決一個問題

8. Hive

如何用10個大數據技術方案解決一個問題

如何用10個大數據技術方案解決一個問題

如何用10個大數據技術方案解決一個問題

如何用10個大數據技術方案解決一個問題

9. Spark with Scala

如何用10個大數據技術方案解決一個問題

10. MongoDB

如何用10個大數據技術方案解決一個問題

如何用10個大數據技術方案解決一個問題

如何用10個大數據技術方案解決一個問題

如何用10個大數據技術方案解決一個問題

詳細原文:https://dzone.com/articles/one-challenge-with-10-solutions


分享到:


相關文章: