[[PageOutline]]
◢ <[wiki:YMU110509/Lab8 實作八]> | <[wiki:YMU110509 回課程大綱]> ▲ | <[wiki:YMU110509/Lab10 實作十]> ◣
= 實作九 Lab9 =
{{{
#!html
HDFS、MapReduce 與 Hadoop Streaming 觀念驗證
Running Hadoop Streaming with HDFS and MapReduce
}}}
== 準備輸入資料集 Input Dataset ==
* 首先準備輸入,包含兩部份:(1) 供 Velvet 計算的 *.fa 檔案,這裡為了方便示範起見,採用 test_long.fa 當範本,並複製 99 份不同檔名,當輸入 (2) 供 Mapper 運算的輸入檔案(內含 HDFS 的檔名路徑)
{{{
~$ cp /usr/share/doc/velvet-example/examples/data/test_long.fa.gz .
~$ gunzip test_long.fa.gz
~$ for ((i=1;i<100;i++)); do hadoop fs -put test_long.fa sample-$i.fa; done
~$ for ((i=1;i<20;i++)); do echo /user/h998/sample-$i.fa; done > sample-01.txt
~$ for ((i=20;i<40;i++)); do echo /user/h998/sample-$i.fa; done > sample-02.txt
~$ for ((i=40;i<60;i++)); do echo /user/h998/sample-$i.fa; done > sample-03.txt
~$ for ((i=60;i<80;i++)); do echo /user/h998/sample-$i.fa; done > sample-04.txt
~$ for ((i=80;i<100;i++)); do echo /user/h998/sample-$i.fa; done > sample-05.txt
~$ hadoop fs -mkdir lab9_input
~$ hadoop fs -put sample-0* lab9_input
}}}
== 觀察 Hadoop Streaming 執行身份與工作目錄 ==
* 撰寫 testmapper.sh
{{{
#!sh
}}}
== 實作透過 Hadoop Streaming 執行 99 組 velvet 運算 ==
* 撰寫 velvet_mapper.pl
{{{
#!perl
}}}