Skip to content

[Hadoop] 下載資料&資料分析 #8

Description

@WarrenLo

下載資料

wget

檢視資料

  • 查看前N筆資料
    head -n N [file_name]
  • 查看後N筆資料
    tail -n N [file_name]
  • 尋找含關鍵字的資料
    `grep ["key_word"] [file_name]

啟動pig

pig

建立資料夾

mkdir [資料夾名稱]

將檔案放到pig裡面

copyfromlocal [檔案名稱] [資料夾名稱] --這個指令等同於 --> hdfs dfs -put [檔案名稱] [資料夾位置]

載入 & 分析檔案

  1. 用變數載入檔案
    [代號_載入檔案名稱] = LOAD ["檔案位置"] USING PigStorage(',');
  2. 篩選
    [代號_篩選資料] = FILTER [檔案名稱] BY (float)$[欄位]>[條件];
  3. 撰寫 -> 編譯 -> 執行 -> 顯示
    dump [代號_篩選資料];
  • ex :
    grunt> movies = LOAD '/dataset/movies_data.csv' USING PigStorage(',');
    grunt> a = FILTER movies BY (float)$3>2.0;
    grunt> dump a;

篩選指令整理

FILTER

[代號] = FILTER [代號] BY ([表達式]) and ([表達式]) ;

GROUP

[代號] = GROUP [代號] BY [欄位];

  • 一定會產生新的dataset

ORDER

[代號] = ORDER [代號] BY [欄位] [ASC|DESC];

只取得前N筆資料

limit [代號_檔案] [筆數];

FOREACH

[代號] = FOREACH [代號] GENERATE [欄位], [欄位], [欄位], ...;

在pig環境外編輯及執行pig指令

  1. 建立文件
    nano [pig檔案名稱]
  2. 編輯檔案
  3. 執行
    pig [檔案名稱]
  • 如果只想看到結果,不想看到錯誤指令
    pig [檔案名稱] 2>/dev/null ( 2>/dev/null 可以把垃圾訊息丟進黑洞 )

為什麼執行速度很慢???

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions