ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

采集微博数据ETL项目的处理以及相关技术点

2021-11-01 22:03:49  阅读:177  来源: 互联网

标签:匹配 对象 方法 采集 微博 抽象 Pattern 数据 ETL


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

以数据流来驱动项目开发

以已下载微博数据ETL项目为例

  1. 基于定的微博数据目录,拿到该目录下所有的输入数据的文件路径。(技术问题done)
  2. 基于文件路径,读取文本文件的数据。
  3. 解析读取出来的文件数据,成为结构化数据-微博博文对象抽象类-ContentPojo,最终获取对应的对象集合。(技术问题done)
  4. 解析读取出来的文件数据,成为结构化数据-用户对象抽象类-UserPojo, 最终获取对应的对象集合。(技术问题done)
  5. 将两个抽象的对象集合,进行文本化数据落地,形成待load到hive的数据文件。
  6. load两个类型的文件数据到hive的两张表当中。(提前创建两张表,均为外表)
  7. 测试数据及查询结果的准确性。

Java操作正则

  1. java对正则的核心抽象
    2.Pattern:模式匹配引擎
  • Pattern.compile(regex)来获Pattern对象

  • Pattern.match(input)来获取matcher对象

    3.Matcher:获取匹配结果

  • Matcher获取数据的3种方式

    • Matches:全部匹配
    • lookingAt:前向匹配
    • find:任意位置匹配均可
    • 取值APi:Matcher.group来获取匹配到的值

正则匹配当中的贪婪匹配规则

  • 当正则表达式匹配到多个输入时,采集贪婪算法,总是拿最后一个、即最长匹配值作为最终的结果

抽象封装的分类

  • 方法抽象或是字段抽象

  • 类抽象

  • 库抽象-log4j,neo4j

  • 组件抽象-spring,ssm,springcloud

  • 子系统抽象-hdfs,mapreduce等更大级别的抽象

如何完成方法或字段抽象

  1. 先写测试类
  2. 确定输入与输出的抽象
    • Input
    • Output
  1. 抽象成方法及其修饰符
  • 方法名称

    • 见名知义如:getMatchContent,getMatchGroupContent,getRegexContent。
  • 是类方法还是成员方法

    • 一个方法解决战斗,不需要依赖外部的成员对象,则使用静态方法。
  • 如果还需要依赖外部成员对象,则必须使用成员方法。

  • 抽象成类

    • 基于方法的功能特性,起一个见名知义、有一定扩展的更高级抽象的名称,比如:RegexUtil

封装分类-按其用途

  • 1、技术型封装-工具类

  • 2、业务型封装-业务管理类

解析特殊情况数据的处理方法

  • 1、经验处理法

  • 2、case by case,one by one

数据分析题目录中的权重打法

    1. 拿出所有的候选因子
    1. 对候选因子,先定性、再定量
      • 定性:定性原则即为物以稀为贵。
      • 定量:目前没有一个比较成熟、公认的搞法,更多是靠业务专家的主观定量后,再进行review来最终确定。可以通过常识验证一下

一般性用户数据分析的分类

  • 活跃度分析
  • 行为特征分析



作者:da9268f7a1bd
链接:https://www.jianshu.com/p/9bdba7661ee3
来源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

标签:匹配,对象,方法,采集,微博,抽象,Pattern,数据,ETL
来源: https://blog.csdn.net/m0_58421245/article/details/121089879

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有