如何将Web日志文件导入数据库

 我来答
就烦条0o
2017-01-22 · 知道合伙人软件行家
就烦条0o
知道合伙人软件行家
采纳数:33315 获赞数:46492
从事多年系统运维,喜欢编写各种小程序和脚本。

向TA提问 私信TA
展开全部
这几天写论文做实验,Web日志挖掘部分第一步就是对Web日志进行预处理。所谓预处理就是将Web日志中没有用的记录和字段去掉。根据我的实验需要需要保留的是有效用户对于有效页面的访问时间,就这三个字段就可以。做数据预处理的第一步是将以文本形式保存的Web日志导入数据库,然后利用SQL语句对其所导入的数据库表进行操作就可以完成数据与处理。

Web日志的形式如下图所示:

这个部分之前一直不是很明白,询问去年做过这个工作的两个哥们,其中一个说用C++中STL部分可以实现,另一个说是将日志按行读取,分割内容存入数据库,然后读取下一行,却没有做具体工作。总之这两个人所说的都是利用编码来实现文本的读取和内容的分割最后再导入数据库。这样在理论上是可行的,但是实际操作起来还是有很大的麻烦的,以现在的时间来看是来不及的。

还好在相关文献上看到有人提到用SQL
Server2000种的DTS工具可以实现这个导入功能。在网上进行搜索居然没有任何有用的类似于教程的文章,手头还没有SQL
Server的书籍,只能自己研究了,经过了一个小时的研究终于将这个问题解决。

Web日志文件虽然是文本文件,但是它的后缀是.log,如果想将其导入数据库必须首先将其后缀改称.txt。然后打运行SQL
Server2000的服务管理器,打开企业管理器。建立新的数据库Weblog,然后利用工具DTS进行操作,DTS即数据转换服务。操作为“工具—〉数据转换服务—〉导入数据”,出现如下对话框如图2所示。

在图3对话框中的数据源选择文本文件,对话框变成图4所示界面。点击文件名处右边的浏览按钮可以选择所要读取的文本文件形式的日志。这里只能读取.txt文件,所以前面一定要将Web日志的后缀.log改成后缀.txt。

根据图1我们看到Web日志头四行都是日志的信息,比如时间和文件格式,所以在跳过行里面要写跳过4行。下一步进入图6所示界面。

在图6种需要选择如何对文本文件中每一行的各个字段进行区分。选择方式如图中所示。由于Web日志每行为一个记录,每条记录中每一个字段中间都是用空格来进行分隔,所以选择“其它”然后在其对话框中填入一个空格键“
”,系统就将对数据进行处理进行划分,得到分割好的记录。当然相应字段的名称是错误的,这个可以在以后生成数据库表文件后对表进行设计修改。点击下一步进入图7所示界面。

单击下一步之后就可以完成数据导入。

然后刷新数据库Weblog,就可以看到与Web日志同名的新的数据库表文件。修改相应字段的名称,就可以完成数据的导入和数据库表的建立。

接下来可以利用查询分析器对Web日志的数据库表进行操作,完成数据预处理,进而进行日志挖掘或者流量分析。
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式