基于海量微博数据的仓库构建与舆情热点挖掘项目
数据校验
方法说明与实战案例
抽样检查:查看最复杂的那一列及其后面的字段
// 数据校验方法
select 字段 from 表 limit 条数;
数据出现错位原因及解决办法
原因:数据向左对齐
解决办法:将数据导入法方式与数据表的解析方式保持完全一致
// 数据解析格式
row format serde 'org.apache.hadoop.hive.serde2.OpenCSVSerde';
case by case && one by one:一个案例一个案例解决
数据清洗
将数据表weibo_origin经过清洗规则处理,按每天分区载入weibo_product表
数据清洗 去除不合法数据
数据去燥 去除不合理数据
数据清洗的常见做法:
- 基于规则、规律去清洗
- case by case
清洗代码
// 一次查询多次插入
from weibo_origin
insert overwrite table weibo_product partition(day_seq)
select * where mid != 'mid';
分词UDF编写
此处主要指中文分词:将一个汉字序列(一段话)切分成一个一个单独的词的过程
分词选择器:ansj分词;
面试问时选择ansj原因:
- 基于业务功能需要,ansj实际测试效果不错,业务需求功能上可以达标;
- ansj社区丰富;
- 组内之前有人用过ansj,并且反馈还不错,易于解决出现的问题。
ansj分词器应用集成
maven导入依赖jar包
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.dhf</groupId>
<artifactId>weibo</artifactId>
<version>0.0.1-SNAPSHOT</version>
<!-- 首先配置仓库的服务器位置,首选阿里云,也可以配置镜像方式, 效果雷同 -->
<repositories>
<repository>
<id>nexus-aliyun</id>
<name>Nexus aliyun</name>
<url>http://maven.aliyun.com/nexus/content/groups/public