zoukankan      html  css  js  c++  java
  • hadoop学习--搜索引擎面临的数据和计算难题

    一、大量网页怎么存储

      亿万级;没有硬盘,存储在内存中,加快检索的速度;冗余的办法储存,将数据写入多个节点中。

    二、搜索算法

      搜索响应速度,毫秒级响应;——倒排索引

    三、page-rank 计算问题

      网页排名,优先推荐的问题;——

    倒排索引

      先分词——建立索引——建立倒排列表

      

    page-rank 算法

    4被指向的最多,被page-rank高的指向,权重不同 

    1:没有指向它的连接

      0 0 0 0

    2:1有1/3的权重直到自己,4有100%的权重指向自己

      1/3 0 0 1

    3:以此类推

    S指矩阵,α靠经验指定0-1之间,n指网页数,这里就是4,U指全为1的矩阵

     找出一个q使得q=G*q;

     特征向量q里第一个就是页面1的page-rank值。

    收敛函数:不断迭代,当小于我们设置的阈值时,可取近似值。

    但是网页上亿,实现不了这个矩阵算法。

    多台计算机,分布式计算

      网页存储在多个不同的服务器节点上,每个节点上的网页都是矩阵里的若干个列,算出这个列的特征向量,往后加和,汇总到一个节点上,得到一个向量,这是第一次迭代出来的结果,一直循环迭代,直到在阈值范围内,就算出了所有网页的page-rank

    汇总的过程叫reduce  再将得到的q分配叫map。

     

    总结:

    GFS  ——   Gogle file system  把网页分散在各个节点,并提供冗余

    map-reduce  ——  把巨大的不容易计算的,分散到各个节点,再汇总

    Bigtable  ——  所有的数据不用再分table,全部放在一张大表里(如Hbase)

  • 相关阅读:
    UVA 439 Knight Moves
    UVA 673 Parentheses Balance
    UVa 536 Tree Recovery
    UVA 712 S-Trees
    UVA 12657 Boxes in a Line
    UVA 679 Dropping Balls
    UVA 1603 Square Destroyer
    UVA 1343 The Rotation Game
    UVA 1374 Power Calculus
    UVA 12558 Egyptian Fractions (HARD version)
  • 原文地址:https://www.cnblogs.com/onroad2019/p/11340298.html
Copyright © 2011-2022 走看看