zoukankan      html  css  js  c++  java
  • 任务二 人物类与娱乐类关联优化分析

    任务二 人物类与娱乐类关联优化分析

    标签(空格分隔): 一找


    任务描述

    根据人物ID,娱乐ID,关联两类在界面显示。
    具体方案为:
    1.根据娱乐类节目的相关人员:导演、演员、编剧的人物名字(t_movie_douban表) 在人物类(t_people_baike_info) 中文名、英文名、别名 进行查找。
    2.可根据娱乐类节目 的名称、年份、导演等信息在yeezhao_dolphin_baike hbase表进行匹配检索。
    hbase 表:
    yeezhao_dolphin_baike
    rowkey | crawl:text
    baike|17744 | 网页html内容
    3.人物ID、娱乐ID关系输出内容写在mysql t_people_movie2表里。

    实现方案

    1. 用正则表达式对名字进行处理,把所有多余字符(一些标点符号)都转成#,最后再统一去掉
      分为两个方法:
    • parseMovieTableName 处理电影表人物姓名
    • parsePeopleTableName 处理人物表人物姓名
    1. 把人物表的人物姓名读入一个HashMap peopleTable中, key是人物姓名, value是人物信息结构体。

    2. 将电影表的人物姓名放入一个RDDmovieRDD

    3. 遍历电影人物表movieRDD,每遍历一个名字就去peopleTable中查找,如果找到,则建立联系

    代码

    代码位于com.yeezhao.dolphin.crawler.people下的PeopleEntertainRelationCrawler

    遇到问题

    1. 出来的结果表有很多空名字或者数字名字

    原因:
    1)人物表、电影表各有一套处理名字的规则,人物表不小心调用了电影表的规则,导致很多人名没有被正确处理。

    2)电影表中有些名字带括号,而括号之间有空格,我没有去除那些空格,导致空格被加入hashmap

    解决方法是 对每个解析完的token再trim一次

    详情见 任务 人物与娱乐类关系表问题跟进

  • 相关阅读:
    徐汉彬:Web系统大规模并发——电商秒杀与抢购
    编程语言十一月份排行
    windows C 与 linux C区别?
    inux 下c/c++ 连接mysql数据库全过程-----已经通过验证
    MySql可视化工具MySQL Workbench使用教程
    C语言连接数据库
    C语言连接MySql数据库
    C语言位运算
    python-函数
    python2.x和python3.x共存
  • 原文地址:https://www.cnblogs.com/wacc/p/5038507.html
Copyright © 2011-2022 走看看