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 关于-互联网用户分析的维度分类

用户活跃度维度

用户行为特征维度

前边两者进行综合分析后,就构成了互联网平台的用户画像。