day18 微博数据ETL项目
o 做数据开发类项目的标准流程
项目概述:为什么要做
微博数据在数据开发和挖掘当中非常有代表性。
需求分析:是否可以搞定
肯定可以搞定。
IO
Input: 一个分类频道下的博文和用户信息数据,一个主目录下的2个子目录分别存储对应的txt数据文件。
Process
Output
两张表:博文表、用户表
技术方案和开发计划
技术方案: javase+maven+xml解析+正则+hivesql+linux
开发计划里程碑
1)能够拿到结构化的数据对象集合
2) 输出到文本文件
3) 将文件装载到hive表当中
开发计划-明细版
1)能够拿到结构化的数据对象集合
1.1)获取文件列表
1.2)读取文件列表形成list集合
1.2.1) 注意内容集合需要保留id与内容的关系。
1.3)将所有文件读取的list集合合成为一个集合。
1.3)将集合的文本行数据转换成对象数据结构的数据。
2) 将集合对象数据输出到文本文件
遍历对象集合,通过IO输出对应的单个文本文件中。
3) 将文件装载到hive表当中
Hive load
细节开发
开发计划-明细版
1)能够拿到结构化的数据对象集合
1.1)获取文件列表(done)
1.2)读取文件列表形成list集合(done)
1.2.1) 注意内容集合需要保留id与内容的关系。(done)
1.3)将所有文件读取的list集合合成为一个集合-该集合在content处理的时候是map结构,在user处理的时候可以map也可以list。(done)
1.3)将集合的文本行数据转换成对象数据结构的数据。(done)
2) 将集合对象数据输出到文本文件
遍历对象集合,通过IO输出对应的单个文本文件中。
3) 将文件装载到hive表当中
Hive load
代码Bug修复与调优、标准化
正式上线
o 里程碑-milestone
将一件大事拆成几个相对独立的重要阶段,每个阶段就称为该大事的一个里程碑,英文称milestone.
o Java当中数据抽象对象的分类
Entity:用于存入数据库及交互的
Domain:与数据库有直接关系,但往往在entity层之上进行处理。
DTO: 用于不同系统之间、内外部之间的数据传递。
Pojo: 无实际存储数据库意义,仅用于数据抽象的封装使用。
Model:模型,是Java当中对现实实际问题的抽象后封装对象的统称。
day19 微博数据分析项目
o 术语
专家系统:经过众多业务专家构建出来的针对某个善长业务的评价系统。
业务专家:某个具体业务的行业或是垂直领域的专家。
o 数学计算当中的加权求和
投篮球进框游戏
1分: 5个
2分: 3个
3分: 2个
投球总得分:加权求和
15+23+3*2=17分。
o 关于-互联网用户分析的维度分类
用户活跃度维度
用户行为特征维度
前边两者进行综合分析后,就构成了互联网平台的用户画像。