Changes between Version 1 and Version 2 of waue/2011/0426_5


Ignore:
Timestamp:
Apr 25, 2011, 4:16:56 PM (13 years ago)
Author:
waue
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • waue/2011/0426_5

    v1 v2  
    1 cp -rf Example/itri/ /tmp
    2 bin/hadoop dfs -put /tmp/itri/income/ income
    3 bin/hadoop jar ItriMenu.jar Itri1LoadFile
    4 
    5 {{{
    6 #text
    7 create new table: itri
    8 Put data :"GunLong" to Table: itri's Detail:Name
    9 Put data :"01" to Table: itri's Detail:Locate
    10 Put data :"20" to Table: itri's Products:P1
    11 Put data :"40" to Table: itri's Products:P2
    12 Put data :"30" to Table: itri's Products:P3
    13 Put data :"50" to Table: itri's Products:P4
    14 
    15 Put data :"Esing" to Table: itri's Detail:Name
    16 Put data :"02" to Table: itri's Detail:Locate
    17 Put data :"50" to Table: itri's Products:P1
    18 
    19 Put data :"SunDon" to Table: itri's Detail:Name
    20 Put data :"03" to Table: itri's Detail:Locate
    21 Put data :"40" to Table: itri's Products:P1
    22 Put data :"30" to Table: itri's Products:P2
    23 
    24 Put data :"StarBucks" to Table: itri's Detail:Name
    25 Put data :"04" to Table: itri's Detail:Locate
    26 Put data :"50" to Table: itri's Products:P1
    27 Put data :"50" to Table: itri's Products:P2
    28 Put data :"20" to Table: itri's Products:P3
    29 }}}
    30 
    31 bin/hadoop jar ItriMenu.jar Itri2Count
    32 {{{
    33 #!text
    34 11/04/25 12:15:04 INFO input.FileInputFormat: Total input paths to process : 2
    35 11/04/25 12:15:04 INFO mapred.JobClient: Running job: job_201104250959_0004
    36 11/04/25 12:15:05 INFO mapred.JobClient:  map 0% reduce 0%
    37 11/04/25 12:15:12 INFO mapred.JobClient:  map 100% reduce 0%
    38 11/04/25 12:15:21 INFO mapred.JobClient:  map 100% reduce 100%
    39 }}}
    40 
    41 bin/hadoop jar ItriMenu.jar Itri3CalculateM
    42 {{{
    43 #!text
    44 11/04/25 12:16:18 INFO mapred.JobClient:  map 0% reduce 0%
    45 11/04/25 12:16:27 INFO mapred.JobClient:  map 100% reduce 0%
    46 11/04/25 12:16:36 INFO mapred.JobClient:  map 100% reduce 100%
    47 }}}
    48 
    49 bin/hadoop jar ItriMenu.jar Itri4SortTurnover
    50 
    51 bin/hadoop jar ItriMenu.jar Itri5ShowReport 120
     1{{{
     2#!html
     3<div style="text-align: center; color:#151B8D"><big style="font-weight: bold;"><big><big>
     4案例實務
     5</big></big></big></div> <div style="text-align: center; color:#7E2217"><big style="font-weight: bold;"><big>
     6ITRI  餐廳
     7</big></big></div>
     8}}}
     9
     10[[PageOutline]]
     11
     12 [wiki:waue/2011/0426 >> 回課程大綱]
     13
     14 = 執行環境 =
     15
     16 * 檢查是否有加裝 transactional 函式庫
     17   * 加裝 tableindexed 函式庫
     18{{{
     19cp /opt/hbase/contrib/transactional/hbase-*-transactional.jar /opt/hbase/lib/
     20}}}
     21   * 重新啟動 hbase
     22{{{
     23/opt/hbase/bin/stop-hbase.sh
     24/opt/hbase/bin/start-hbase.sh
     25}}}
     26
     27 = 事先準備 =
     28
     29 * 請先準備以下檔案
     30   * /tmp/itri/store.txt
     31{{{
     32#!text
     33T01;GunLong;    01;20;40;30;50
     34T02;Esing;      02;50
     35T03;SunDon;     03;40;30
     36T04;StarBucks;  04;50;50;20
     37}}}
     38
     39 * 請準備以下檔案,並將 income 資料夾上傳到hdfs
     40   * /tmp/itri/income/0202.txt
     41{{{
     42#!text
     43waue:T01:P1:xxxxx
     44jazz:T01:P2:xxxxx
     45lia:T01:P3:xxxxx
     46hung:T02:P1:xxxxx
     47lia:T04:P1:xxxxx
     48lia:T04:P1:xxxxx
     49hung:T04:P3:xxxxx
     50hung:T04:P2:xxxxx
     51}}}
     52   * /tmp/itri/income/0203.txt
     53{{{
     54#!text
     55xxx:T01:P4:xxxxx
     56ooo:T02:P1:xxxxx
     57oo:T03:P1:xxxxx
     58xxx:T03:P1:xxxxx
     59aaa:T03:P1:xxxxx
     60}}}
     61   * 上傳到 HDFS
     62{{{
     63$ /opt/hadoop/bin/hadoop fs -put /tmp/itri/income/ income
     64}}}
     65
     66 ==  假設: ==
     67
     68目前有四間商店進駐 ITRI ,分別為
     69
     70位在第1區的GunLong,品項4項單價為<20,40,30,50>
     71
     72第2區的ESing,品項1項單價為<50>
     73
     74第3區的SunDon,品項2項單價為<40,30>
     75
     76第4區的StarBucks,品項3項單價為<50,50,20>
     77
     78
     79 == 1. 建立商店資料 ==
     80
     81 [wiki:waue/2011/0425_Itri1LoadFile Itri1LoadFile.java ],
     82
     83 ||   || Detail  || Detail ||  Products ||  Products || Products  || Products   || Turnover ||
     84 ||   || Name  || Locate || P1 || P2 || P3 ||   P4||   ||
     85 || T01  || Gun-Long  || 01 ||  20 ||  40 || 30 || 50 ||  ||
     86 || T02  || ESing  || 02 ||  50 || || || ||  ||
     87 || T03  || Sun-Don  || 03  || 40 || 30 || || ||  ||
     88 || T04  || Star Bucks  || 04 || 50 || 50 || || ||  ||
     89
     90{{{
     91$ /opt/hadoop/bin/hadoop jar ItriMenu.jar Itri1LoadFile
     92}}}
     93
     94{{{
     95create new table: Itri
     96Put data :"GunLong" to Table: Itri's Detail:Name
     97Put data :"01" to Table: Itri's Detail:Locate
     98Put data :"20" to Table: Itri's Products:P1
     99Put data :"40" to Table: Itri's Products:P2
     100Put data :"30" to Table: Itri's Products:P3
     101Put data :"50" to Table: Itri's Products:P4
     102
     103Put data :"Esing" to Table: Itri's Detail:Name
     104Put data :"02" to Table: Itri's Detail:Locate
     105Put data :"50" to Table: Itri's Products:P1
     106
     107Put data :"SunDon" to Table: Itri's Detail:Name
     108Put data :"03" to Table: Itri's Detail:Locate
     109Put data :"40" to Table: Itri's Products:P1
     110Put data :"30" to Table: Itri's Products:P2
     111
     112Put data :"StarBucks" to Table: Itri's Detail:Name
     113Put data :"04" to Table: Itri's Detail:Locate
     114Put data :"50" to Table: Itri's Products:P1
     115Put data :"50" to Table: Itri's Products:P2
     116Put data :"20" to Table: Itri's Products:P3
     117
     118}}}
     119
     120 == 2 計算單月每個品項的購買次數 ==
     121
     122 [wiki:waue/2011/0425_Itri2Count Itri2Count.java] ,
     123
     124{{{
     125$ /opt/hadoop/bin/hadoop jar ItriMenu.jar Itri2Count
     126}}}
     127
     128 ||   || Detail  ||Detail  ||  Products || Products||Products || Products||  Turnover   ||  Turnover    ||  Turnover     ||  Turnover   ||   ||
     129 ||   || Name  || Locate || P1 || P2 || P3 ||   P4|| P1   ||   P2 ||   P3  ||  P4 ||  ||
     130 || T01  || Gun-Long  || 01 ||  20 ||  40 || 30 || 50 || 1   ||  1  ||   1  ||  1 ||  ||
     131 || T02  || ESing  || 02 ||  50 || || || ||2   ||    ||     ||   ||  ||
     132 || T03  || Sun-Don  || 03  || 40 || 30 || || ||3  ||    ||     ||   ||  ||
     133 || T04  || Star Bucks  || 04 || 50 || 50 || || ||2   ||   1 || 1    ||   ||  ||
     134
     135{{{
     136> scan 'Itri'
     137ROW                          COLUMN+CELL                                                                     
     138 T01                         column=Detail:Locate, timestamp=1265184360616, value=01                         
     139 T01                         column=Detail:Name, timestamp=1265184360548, value=GunLong                       
     140 T01                         column=Products:P1, timestamp=1265184360694, value=20                           
     141 T01                         column=Products:P2, timestamp=1265184360758, value=40                           
     142 T01                         column=Products:P3, timestamp=1265184360815, value=30                           
     143 T01                         column=Products:P4, timestamp=1265184360866, value=50                           
     144 T01                         column=Turnover:P1, timestamp=1265187021528, value=1                             
     145 T01                         column=Turnover:P2, timestamp=1265187021528, value=1                             
     146 T01                         column=Turnover:P3, timestamp=1265187021528, value=1                             
     147 T01                         column=Turnover:P4, timestamp=1265187021528, value=1                             
     148 T02                         column=Detail:Locate, timestamp=1265184360951, value=02                         
     149 T02                         column=Detail:Name, timestamp=1265184360910, value=Esing                         
     150 T02                         column=Products:P1, timestamp=1265184361051, value=50                           
     151 T02                         column=Turnover:P1, timestamp=1265187021528, value=2                             
     152 T03                         column=Detail:Locate, timestamp=1265184361124, value=03                         
     153 T03                         column=Detail:Name, timestamp=1265184361098, value=SunDon                       
     154 T03                         column=Products:P1, timestamp=1265184361189, value=40                           
     155 T03                         column=Products:P2, timestamp=1265184361259, value=30                           
     156 T03                         column=Turnover:P1, timestamp=1265187021529, value=3                             
     157 T04                         column=Detail:Locate, timestamp=1265184361311, value=04                         
     158 T04                         column=Detail:Name, timestamp=1265184361287, value=StarBucks                     
     159 T04                         column=Products:P1, timestamp=1265184361343, value=50                           
     160 T04                         column=Products:P2, timestamp=1265184361386, value=50                           
     161 T04                         column=Products:P3, timestamp=1265184361422, value=20                           
     162 T04                         column=Turnover:P1, timestamp=1265187021529, value=2                             
     163 T04                         column=Turnover:P2, timestamp=1265187021529, value=1                             
     164 T04                         column=Turnover:P3, timestamp=1265187021529, value=1                             
     1654 row(s) in 0.0310 seconds
     166
     167}}}
     168
     169
     170
     171
     172 == 3. 計算當天營業額 ==
     173
     174 [wiki:waue/2011/0425_Itri3CalculateMR Itri3CalculateMR.java],
     175
     176{{{
     177$ /opt/hadoop/bin/hadoop jar ItriMenu.jar Itri3CalculateMR
     178}}}
     179
     180 ||   || Detail  || Detail ||  Products ||  Products|| Products || Products ||  Turnover   ||   Turnover   ||   Turnover    ||  Turnover   ||  Turnover   ||
     181 ||   || Name  || Locate || P1 || P2 || P3 ||   P4|| P1   ||   P2 ||   P3  ||  P4 || Sum  ||
     182 || T01  || Gun-Long  || 01 ||  20 ||  40 || 30 || 50 || 1   ||  1  ||   1  ||  1 || 140 ||
     183 || T02  || ESing  || 02 ||  50 || || || ||2   ||    ||     ||   || 100 ||
     184 || T03  || Sun-Don  || 03  || 40 || 30 || || ||3  ||    ||     ||   || 120  ||
     185 || T04  || Star Bucks  || 04 || 50 || 50 || || ||2   ||   1 || 1    ||   || 170  ||
     186
     187
     188{{{
     189> scan ‘Itri’
     190ROW                          COLUMN+CELL                                                                     
     191 T01                         column=Detail:Locate, timestamp=1265184360616, value=01                         
     192 T01                         column=Detail:Name, timestamp=1265184360548, value=GunLong                       
     193 T01                         column=Products:P1, timestamp=1265184360694, value=20                           
     194 T01                         column=Products:P2, timestamp=1265184360758, value=40                           
     195 T01                         column=Products:P3, timestamp=1265184360815, value=30                           
     196 T01                         column=Products:P4, timestamp=1265184360866, value=50                           
     197 T01                         column=Turnover:P1, timestamp=1265187021528, value=1                             
     198 T01                         column=Turnover:P2, timestamp=1265187021528, value=1                             
     199 T01                         column=Turnover:P3, timestamp=1265187021528, value=1                             
     200 T01                         column=Turnover:P4, timestamp=1265187021528, value=1                             
     201 T01                         column=Turnover:sum, timestamp=1265190421993, value=140                         
     202 T02                         column=Detail:Locate, timestamp=1265184360951, value=02                         
     203 T02                         column=Detail:Name, timestamp=1265184360910, value=Esing                         
     204 T02                         column=Products:P1, timestamp=1265184361051, value=50                           
     205 T02                         column=Turnover:P1, timestamp=1265187021528, value=2                             
     206 T02                         column=Turnover:sum, timestamp=1265190421993, value=100                         
     207 T03                         column=Detail:Locate, timestamp=1265184361124, value=03                         
     208 T03                         column=Detail:Name, timestamp=1265184361098, value=SunDon                       
     209 T03                         column=Products:P1, timestamp=1265184361189, value=40                           
     210 T03                         column=Products:P2, timestamp=1265184361259, value=30                           
     211 T03                         column=Turnover:P1, timestamp=1265187021529, value=3                             
     212 T03                         column=Turnover:sum, timestamp=1265190421993, value=120                         
     213 T04                         column=Detail:Locate, timestamp=1265184361311, value=04                         
     214 T04                         column=Detail:Name, timestamp=1265184361287, value=StarBucks                     
     215 T04                         column=Products:P1, timestamp=1265184361343, value=50                           
     216 T04                         column=Products:P2, timestamp=1265184361386, value=50                           
     217 T04                         column=Products:P3, timestamp=1265184361422, value=20                           
     218 T04                         column=Turnover:P1, timestamp=1265187021529, value=2                             
     219 T04                         column=Turnover:P2, timestamp=1265187021529, value=1                             
     220 T04                         column=Turnover:P3, timestamp=1265187021529, value=1                             
     221 T04                         column=Turnover:sum, timestamp=1265190421993, value=170                         
     2224 row(s) in 0.0460 seconds
     223
     224}}}
     225
     226 == 4. 建立索引資料表 ==
     227 [wiki:waue/2011/0425_Itri4SortTurnover Itri4SortTurnover.java]
     228
     229{{{
     230$ /opt/hadoop/bin/hadoop jar ItriMenu.jar Itri4SortTurnover
     231}}}
     232
     233{{{
     234> scan 'Itri-Sum'
     235ROW                          COLUMN+CELL                                                                     
     236 100T02                      column=Turnover:Sum, timestamp=1265190782127, value=100                         
     237 100T02                      column=__INDEX__:ROW, timestamp=1265190782127, value=T02                         
     238 120T03                      column=Turnover:Sum, timestamp=1265190782128, value=120                         
     239 120T03                      column=__INDEX__:ROW, timestamp=1265190782128, value=T03                         
     240 140T01                      column=Turnover:Sum, timestamp=1265190782126, value=140                         
     241 140T01                      column=__INDEX__:ROW, timestamp=1265190782126, value=T01                         
     242 170T04                      column=Turnover:Sum, timestamp=1265190782129, value=170                         
     243 170T04                      column=__INDEX__:ROW, timestamp=1265190782129, value=T04                         
     2444 row(s) in 0.0140 seconds
     245
     246}}}
     247
     248 == 4.b 產生最終報表 ==
     249
     250 [wiki:waue/2011/0425_Itri5ShowReport Itri5ShowReport.java]
     251
     252{{{
     253$ /opt/hadoop/bin/hadoop jar ItriMenu.jar Itri5ShowReport 130
     254}}}
     255
    52256{{{
    53257#!text