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一次

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

  • 相关阅读:
    [LeetCode] 273. Integer to English Words 整数转为英文单词
    What happens when you type an URL in the browser and press enter?
    HTTP Status Code
    What's binary search?
    [Http] Difference between POST and GET?
    [LeetCode] 53. Maximum Subarray 最大子数组
    [LeetCode] 621. Task Scheduler 任务调度
    C# web项目添加*.ashx文件后报错处理
    Web项目和Windows应用程序的配置文件
    C#中web项目使用log4net日志
  • 原文地址:https://www.cnblogs.com/wacc/p/5038507.html
Copyright © 2011-2022 走看看