※ 複習 " 執行 udf檔 跑腳本"
cd ~/Desktop/pig101/pig
pig
< 執行 > pig -f max_temp_filter_udf.pig
○ 在Terminal 直接Show result :
(1949 , 111)
(1950 , 22)
===================================================
LBS overview 定位
Posisioning: + Mapping
- GPS:精準的
- cell
- WIF2
- IP
Accuracy (roughly, urban area)
經緯度表示
Map tile system 瓦片系統:
- 數字越長,表示切越小塊,儲存空間越大
- 但數字越短,表是切較大塊,儲存空間較小,也比較省效能
- quadkeys:四元數(0123)
=====================================================================================
(小汽車)
Raw→Location ifn Added
audi
max_mind
raw_log
cloudera/audi/raw_log/
cd audi_UDF
store <儲存>
USING PIGSTORE(',') 表示用逗號隔開
< 操作 > Linux
Step1: 先將"2013-12-08-2-2.tx"推上cloudera
● hadoop fs -mkdir /user/cloudera/audi/raw/ios <在cloudera之下建立資料夾(audi/raw/ios)>
● hadoop fs -put ~/Desktop/audi/raw_log/2013-12-08-2-2.txt /user /cloudera/audi/raw/ios
<<將桌面/audi/raw_log/2013-12-08-2-2.txt 丟進 cloudera/audi/raw/ios>>
○ Eclipse:
下一步:建立新專案 (java project) <針對.java 右鍵>
下一步:Build path → Configure Bulid path
下一步:Add Extened Jar
下一步:filesystem /usr/lib/ <新增jar 修改至正確>
- hadoop
- hadoop mr
- hadoop lib
- pig
下一步:eclipse → Export<整個project>→jar.file→存在桌面
<操作> Linux
Step2:再將audi/maxmind/txt檔推上去
hadoop fs -mkdir /user/cloudera/audi/maxmind <在cloudera之下建立資料夾(audi/maxmind)>
hadoop fs -put ~/Desktop/audi/maxmind/GeoIPCityap.dat /user/cloudera/audi/maxmind
下一步:pig -f add_location_info.pig
Success!
=====================================================================================
Report Input
pig -f make_report_input.pig
hadoop fs -put ~/Desktop/audi/region_template/ /user/cloudera/audi/region_template
<將桌面上的region_template複製一份到/user/cloudera/audi/region_template>
pig -f report_ad_geo_location_qk.pig <qk是資料檔 在region_template內>
run完的資料會顯示在 /user/cloudera/audi/report_output內
PIG END
===============================================
Sqoop
Import data formats
- avrodatafile
- sequencefile
- textfile <不適用大量資料>
<圖片 補充sqoop>
sqoop101 放Desktop
<mysql>mysql -u cloudera -p
cd /usr/lib/sqoop
cd lib
ll
sqoop list-databases -- connect "jdbc:mysql://localhost" --username cloudera -- password cloudera
<mysql> showdatabase
<mysql> use ec ; <使用ec>
<mysql>show tables;
<mysql>select* from user;
<mysql>
(Import) HDFS
sqoop list-databases -- connect "jdbc:mysql://localhost/ec" --username cloudera -- password cloudera --table user --/user/cloudera/ec/user -- fields-terminated-by "\t"
EXPORT 傳到MYSQL
<mysql> ls
<mysql> use ec
<mysql> show tables
<mysql> select * from timeonsite;
sqoop export --connect "jdbc:mysql://localhost/ec" --username cloudera -- password cloudera --export
=================================================================
HDFS:分散式系統去處理資料
將需要INPUT資料上傳到HDFS
需要資料就可以以pig散布到其他台主機去執行
沒有留言:
張貼留言