项目流程
一、清洗源数据
二、将源数据装载到hive仓库中
三、进行分词并统计词频
四、将数据从hive导入mysql
五、展示词频云图
六、linux自动化执行shell脚本
详细步骤
清洗源数据
源数据的文件格式是csv,csv为Comma-Separated Values,意为“字符分隔值”。该文件可看作一个表格,一般情况下以英文逗号(,)分隔每个单元格,以换行分隔每个单元行,同时,文件第一行是列名。该文件可看作文本文件,在hive中可以指定**stored as textfile
**来接收该文件。
遇见问题: 对于“评论”这样比较自由的文本,csv文件以英文双引号(")标识一个单元格,但仍有较大可能导致hive将评论内容错误识别为一个单元格。 ———————— 解决方法: 使用java程序读取源文件,将每个单元格以用户无法输入的字符(\001)作为分隔符,从而使hive正确分隔数据。
将源数据装载到hive仓库中
在决定使用java程序处理源文件之前,尝试使用
org.apache.hadoop.hive.serde2.opencsvserde
解析csv文件,但仍有问题。这个serde可以按照英文双引号识别“评论”单元格,但评论内有英文双引号就会失误,因此最终选择使用java程序处理源文件。
SerDe 是 Serializer/Deserializer 的简写,本质是