畢業設計二:日誌匯入
畢業設計二:日誌匯入
資料來源為廣西大學網站日誌。單個檔案100M,大約有100萬條記錄。為了保證能得到一定數量的會話,所以匯入四個檔案,總共大約400M,包含有400萬條記錄。
由於日誌格式和原來測試的有些不同,再加上資料量比較大,所以這次處理比較複雜。
日誌格式如下:
210.36.21.101 - - [12/Feb/2007:09:43:45 +0800] "GET / HTTP/1.1" 200 38148
210.36.21.101 - - [12/Feb/2007:09:43:45 +0800] "GET /040310/text.css HTTP/1.1" 304 -
210.36.21.101 - - [12/Feb/2007:09:43:45 +0800] "GET /text.css HTTP/1.1" 304 –
觀察日誌格式後,發現可以用空格來分隔每個欄位。不過這樣的話,將會有些分散。比如日期與時間會被分成兩列:[12/Feb/2007:09:43:45和 +0800]。而URL會被分為三列。只能全部以字元的形式匯入資料庫,然後在進行一些格式轉換工作,比如日期等。
1、 建立表
create table weblog
(
cip varchar2(20),
ident varchar2(10),
authorized_user varchar2(10),
access_time varchar2(30),
time_zone varchar2(10),
method varchar2(20),
url varchar2(500), //之前測試的時候,發現有些URL相當長,所以應將該欄位的值設大。
protocol varchar2(50),
status varchar2(10),
req_bytes varchar2(100)
);
2、 建立控制檔案
//input.ctl
load data
infile 'F:\畢業設計\datasets\廣西大學網路日誌\www.gxu.edu.001'
infile 'F:\畢業設計\datasets\廣西大學網路日誌\www.gxu.edu.002'
infile 'F:\畢業設計\datasets\廣西大學網路日誌\www.gxu.edu.003'
infile 'F:\畢業設計\datasets\廣西大學網路日誌\www.gxu.edu.004'
replace into table weblog
fields terminated by X'09'
(cip TERMINATED BY WHITESPACE,
ident TERMINATED BY WHITESPACE,
authorized_user TERMINATED BY WHITESPACE,
access_time TERMINATED BY WHITESPACE,
time_zone TERMINATED BY WHITESPACE,
method TERMINATED BY WHITESPACE,
url TERMINATED BY WHITESPACE,
protocol TERMINATED BY WHITESPACE,
status TERMINATED BY WHITESPACE,
req_bytes)
3、使用SQL*LOADER匯入
在命令列,使用如下語句:
sqlldr userid=dm/oracle@XYZLOTUS control=F:\畢業設計\DataPreparation\input.ctl log=F:\畢業設計\DataPreparation\weblog.log errors=10000
由於在匯入的時候會出現一些錯誤,比如有些欄位太長而被拒絕寫入表中。所以應該注意設定errors為一個比較高的值,以免錯誤數量超過允許的值而中止資料繼續匯入。如果不顯式設定,預設為50。考慮到本實驗資料記錄龐大,所以我設為errors=10000。
4、 通過日誌記錄來檢視資訊
在匯入過程中,出現的錯誤以及匯入的相關資訊會儲存在LOG檔案中。
//weblog.log
表WEBLOG:
4213740 行 載入成功
由於資料錯誤, 407 行 沒有載入。
由於所有 WHEN 子句失敗, 0 行 沒有載入。
由於所有欄位都為空的, 0 行 沒有載入。
為結合陣列分配的空間: 165120位元組(64行)
讀取 緩衝區位元組數: 1048576
跳過的邏輯記錄總數: 0
讀取的邏輯記錄總數: 4214147
拒絕的邏輯記錄總數: 407
廢棄的邏輯記錄總數: 0
從星期五 4月 25 08:14:40 2008開始執行
在星期五 4月 25 08:57:20 2008處執行結束
經過時間為: 00: 42: 39.39
CPU 時間為: 00: 04: 11.65
5、 登入SQL*PLUS
SQL> select count(*) from weblog;
COUNT(*)
----------
4213740
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/12443821/viewspace-265032/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 【分散式計算】分散式日誌匯入工具-Flume分散式
- 日誌服務資料匯入
- mybatis-plus匯入sql日誌MyBatisSQL
- 千鋒雲端計算畢業設計論文:遠端日誌伺服器配置手冊伺服器
- apache日誌匯入oracle(日誌經過python處理)ApacheOraclePython
- mariadb審計日誌通過 logstash匯入 hiveHive
- 畢業設計——第二章 系統總體設計(1)
- 畢業設計應用
- 畢業設計之WebWeb
- 畢業設計4.18
- apache日誌內容匯入資料庫Apache資料庫
- 如何將日誌檔案和二進位制檔案快速匯入HDFS?
- IIS 日誌匯入到資料庫的方法資料庫
- 批量匯入歷史檔案到日誌服務
- javaweb畢業設計稽核系統JavaWeb
- 畢業設計三:資料清洗
- 又是一年畢業季——如何入坑程式設計師程式設計師
- 日誌審計是什麼?為什麼企業需要日誌審計?
- 物化檢視匯出匯入可能導致物化檢視日誌的失效
- 千鋒雲端計算畢業設計論文:PXE網路裝機流程二
- 畢業設計四:會話識別會話
- 適合本科-畢業-設計-選題
- mysql 日誌之二進位制日誌MySql
- ADG刪除應用完畢的日誌
- 彙編入門日誌第二天
- 【原】MDC日誌鏈路設計
- mysql之 日誌體系(錯誤日誌、查詢日誌、二進位制日誌、事務日誌、中繼日誌)MySql中繼
- python畢業設計專案原始碼Python原始碼
- QQ空間日誌匯出(php)PHP
- Dell伺服器匯出日誌伺服器
- 玄機-第二章日誌分析-apache日誌分析Apache
- sqlloader匯入log日誌的trailing nullcols的理解SQLAINull
- zaq寫入日誌
- 普通二本畢業兩年,我終於成功進入阿里。阿里
- FLOWERS開發日誌(二)
- redo log日誌挖掘(二)
- 照Word模版匯入匯出資料的設計
- 畢業設計 java cocos2dx JavaEEJava