中小型数据仓库项目的标准开发流程

中小型数据仓库项目的标准开发流程
以数据流来驱动项目开发
以已下载微博数据ETL项目为例
1、基于定的微博数据目录,拿到该目录下所有的输入数据的文件路径。(技术问题done)
2、基于文件路径,读取文本文件的数据。
3、解析读取出来的文件数据,成为结构化数据-微博博文对象抽象类-ContentPojo,最终获取对应的对象集合。(技术问题done)
4、解析读取出来的文件数据,成为结构化数据-用户对象抽象类-UserPojo, 最终获取对应的对象集合。(技术问题done)
5、将两个抽象的对象集合,进行文本化数据落地,形成待load到hive的数据文件。
6、load两个类型的文件数据到hive的两张表当中。(提前创建两张表,均为外表)
7、测试数据及查询结果的准确性。
Java操作正则
java对正则的核心抽象
Pattern:模式匹配引擎
Matcher:获取匹配结果
Pattern.compile(regex)来获Pattern对象。
Pattern.match(input)来获取matcher对象。
Matcher获取数据的3种方式
Matches:全部匹配
lookingAt:前向匹配
find:任意位置匹配均可。
取值API
Matcher.group来获取匹配到的值
正则匹配当中的贪婪匹配规则
当正则表达式匹配到多个输入时,采集贪婪算法,总是拿最后一个、即最长匹配值作为最终的结果。
抽象封装的分类
方法抽象或是字段抽象
类抽象
库抽象-log4j,neo4j
组件抽象-spring,ssm,springcloud
子系统抽象-hdfs,mapreduce等更大级别的抽象
如何做方法或是字段抽象
1、先写测试类
黑猫白猫抓住老鼠就是好猫。
2、确定输入与输出的抽象
Input
Output
3、抽象成方法及其修饰符
方法名称
见名知义:getMatchContent,getMatchGroupContent,getRegexContent。
是类方法还是成员方法
一个方法解决战斗,不需要依赖外部的成员对象,则使用静态方法。
如果还需要依赖外部成员对象,则必须使用成员方法。
抽象成类
基于方法的功能特性,起一个见名知义、有一定扩展的更高级抽象的名称。
比如:RegexUtil
中小型数据仓库项目的标准开发流程
以数据流来驱动项目开发
以已下载微博数据ETL项目为例
1、基于定的微博数据目录,拿到该目录下所有的输入数据的文件路径。(技术问题done)
2、基于文件路径,读取文本文件的数据。(done)
3、解析读取出来的文件数据,成为结构化数据-微博博文对象抽象类-ContentPojo,最终获取对应的对象集合。(技术问题done)
4、解析读取出来的文件数据,成为结构化数据-用户对象抽象类-UserPojo, 最终获取对应的对象集合。(技术问题done)
5、将两个抽象的对象集合,进行文本化数据落地,形成待load到hive的数据文件。
6、load两个类型的文件数据到hive的两张表当中。(提前创建两张表,均为外表)
7、测试数据及查询结果的准确性。    
封装分类-按其用途
1、技术型封装-工具类
2、业务型封装-业务管理类
解析特殊情况数据的处理方法
1、经验处理法
2、case by case,one by one
数据分析题目录中的权重打法
1、拿出所有的候选因子
2、对候选因子,先定性、再定量
定性:定性原则即为物以稀为贵。
定量:目前没有一个比较成熟、公认的搞法,更多是靠业务专家的主观定量后,再进行review来最终确定。
一般性用户数据分析的分类
活跃度分析
行为特征分析

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值