日志格式
數(shù)據(jù)清洗
對(duì)日志進(jìn)行解析豁状,得到ip信息(所在國(guó)家要出、省份和城市)鸳君、事件類型等,并且過(guò)濾無(wú)效日志患蹂。將解析后的結(jié)果存入HBase或颊,為后續(xù)任務(wù)提供數(shù)據(jù)。
HBase結(jié)構(gòu)設(shè)計(jì)
- RowKey設(shè)計(jì)
- 訪客id+會(huì)員id+服務(wù)器時(shí)間+事件類型传于,經(jīng)過(guò)CRC32(冗余校驗(yàn)碼)編碼/Hash編碼后作為RowKey囱挑。
- 優(yōu)點(diǎn):不會(huì)出現(xiàn)熱點(diǎn)問(wèn)題,RowKey長(zhǎng)度不算特別長(zhǎng)
- 缺點(diǎn):無(wú)法利用RowKey來(lái)明確獲取某條數(shù)據(jù)
- 服務(wù)器時(shí)間戳+訪客id沼溜,作為RowKey平挑。
- 優(yōu)點(diǎn):方便取值
- 缺點(diǎn):熱點(diǎn)問(wèn)題
- 訪客id+會(huì)員id+服務(wù)器時(shí)間+事件類型传于,經(jīng)過(guò)CRC32(冗余校驗(yàn)碼)編碼/Hash編碼后作為RowKey囱挑。
- 解決熱點(diǎn)問(wèn)題
- 按天分表, RowKey隨機(jī)系草,沒(méi)有特別規(guī)律的一個(gè)字節(jié)數(shù)組
- 在RowKey(有訪問(wèn)規(guī)律)之前加一個(gè)隨機(jī)數(shù)字(其實(shí)就是HBase服務(wù)器數(shù)量取模)
- 在創(chuàng)建HBase表的時(shí)候會(huì)進(jìn)行預(yù)分區(qū)
- 本項(xiàng)目HBase表結(jié)構(gòu)
- 使用第一種RowKey設(shè)計(jì)方式:將數(shù)據(jù)按天分表通熄,這樣可以有效的減少HBase Split操作。
- 采用單列族的設(shè)計(jì)方式找都,列族名為info唇辨,通過(guò)列標(biāo)簽來(lái)區(qū)分?jǐn)?shù)據(jù)。