数据分析前的-数据准备阶段
中小型数据仓库项目的标准开发流程
以已下载微博数据ETL项目为例
以数据流来驱动项目开发
1、基于定的微博数据目录,拿到该目录下所有的输入数据的文件路径。
2、基于文件路径,读取文本文件的数据。
3、解析读取出来的文件数据,成为结构化数据-微博博文对象抽象类-ContentPojo,最终获取对应的对象集合。
4、解析读取出来的文件数据,成为结构化数据-用户对象抽象类-UserPojo, 最终获取对应的对象集合。
5、将两个抽象的对象集合,进行文本化数据落地,形成待load到hive的数据文件。
6、load两个类型的文件数据到hive的两张表当中。(提前创建两张表,均为外表)
7、测试数据及查询结果的准确性。
读取复杂文件夹下的文件,主要计数之递归
递归的编程技巧
1、递归公式
2、递归的终止条件
以斐波那契为例,来写一个递归
1、递归公式:f(n)=f(n-1)+f(n-2)
2、终止条件:f(1)=f(2)=1
以阶乘为例,来写一个递归
1、递归公式:f(n)=n*f(n-1)
2、终止条件:f(1)=1
以给定一个文件系统的目录,获取其下所有的子目录和子文件的集合。
1、递归公式:f(目录)=目录路径+f(目录-1),最终加入到结果集当中
2、终止条件:遇到文件就停止,将文件加入结果集合
常见的数据格式
1.Txt,文本行
2.Html,网页,超文本标记语言
3.Xml:是html的超集,就是一种自定义标记标签型格式。
pom.xml
….
4.Json
Key:value
也可以key:value的数组
Java对应数据抽象的封装常用命习惯
1.model,数据模型的统一命名
2.entity,数据库与java对象进行交互时候的抽象
3.dto: data
transfer object,数据传输对象
多用于web前后端传输数据对象时
4.pojo: java开发当中用于一般性、无数据库交互的对象的统称