工作日志4.3——处理实验数据
nutch爬取了分类文档集,回头看了sg日志,重复值很高,用distinct清洗了日志数据,抽取了几个查询内容比较丰富的用户信息,加上了时间戳准备先做历史click的聚合,再帮着界面的给呈现以下。。。。
其他的没什么好说的,就写刚刚完成的这部分吧
实验数据范例:
上游理解有歧义,首先改列名
USE temp;
GO
EXEC sp_rename 'dbo.expri5.ClickRank', 'ClickPage';
GO
EXEC sp_rename 'dbo.expri4.ClickRank', 'ClickPage';
GO
是我自己理解错,55555555 原日志没有timestamp,所以用这个clickRank来表示序列。。。因为有一些重复、丢失,让我理解成了click发生的Page了,检查了一下,时间戳的顺序
cookieID Query URLRank ClickPage ClickURL
0002513963584941381 [红苹果乐园] 8 1 www.redapples.com.cn/bbs/index.asp
自己加上时间戳的sql
/****** Script for SelectTopNRows command from SSMS ******/
use temp
go
SET NOCOUNT ON
DECLARE @cookieID nvarchar(255), @Query nvarchar(255),
@URLRank int, @ClickPage int, @ClickURL nvarchar(255), @ID bigint
PRINT '-------- Vendor Products Report --------'
DECLARE @SEED INT, @CNT INT
SET @SEED = 7
SET @CNT = 132
DECLARE qryLog_crs CURSOR FOR
SELECT *
FROM temp.dbo.expri4
ORDER BY cookieID
OPEN qryLog_crs
FETCH NEXT FROM qryLog_crs
INTO @cookieID, @Query, @URLRank, @ClickPage, @ClickURL, @ID
WHILE @@FETCH_STATUS = 0
BEGIN
SELECT @cookieID, @Query, @URLRank, @ClickPage, @ClickURL
insert into temp.dbo.expri5
values(@cookieID, @Query, @URLRank, @ClickPage, @ClickURL, GETUTCDATE())
--PRINT @cookieID+'\t'+ @Query+ '\t'+@URLRank+'\t'+ @ClickPage+'\t'+ @ClickURL+'\t'+ @ID
--PRINT '-==-=-=-=-=-==-=-=-=-=-=-===----=-=-=-=-=-'
IF @CNT%@SEED < 2
WAITFOR DELAY '00:00:02'
ELSE
WAITFOR DELAY '00:00:01'
SET @CNT=+1
FETCH NEXT FROM qryLog_crs
INTO @cookieID, @Query, @URLRank, @ClickPage, @ClickURL, @ID
END
CLOSE qryLog_crs
DEALLOCATE qryLog_crs
还是假设 时间间隔的差别是 兴趣程度的影响因素
cookieID Query URLRank ClickPage ClickURL ID qryTime
00011182393216357944 [chinaren] 2 1 alumni.chinaren.com/ 60835 2010-04-03 12:53:34.687