- 在线时间
- 1630 小时
- 最后登录
- 2024-1-29
- 注册时间
- 2017-5-16
- 听众数
- 82
- 收听数
- 1
- 能力
- 120 分
- 体力
- 565360 点
- 威望
- 12 点
- 阅读权限
- 255
- 积分
- 174831
- 相册
- 1
- 日志
- 0
- 记录
- 0
- 帖子
- 5313
- 主题
- 5273
- 精华
- 3
- 分享
- 0
- 好友
- 163
TA的每日心情 | 开心 2021-8-11 17:59 |
|---|
签到天数: 17 天 [LV.4]偶尔看看III 网络挑战赛参赛者 网络挑战赛参赛者 - 自我介绍
- 本人女,毕业于内蒙古科技大学,担任文职专业,毕业专业英语。
 群组: 2018美赛大象算法课程 群组: 2018美赛护航培训课程 群组: 2019年 数学中国站长建 群组: 2019年数据分析师课程 群组: 2018年大象老师国赛优 |
5 @$ X) l5 E# i! |大数据必须掌握的三个基本算法+ M( d% Z! n( d+ s7 y# Z
一全排序
8 }( ^- B+ Y" g, V9 Z. F c
$ b$ t7 a& n5 x& t6 j! T- v" E
% \+ O1 y+ [5 p4 J# U9 J$ I. g/ n4 N; m2 |0 C, Z' ]. F) L
: p: n, \/ l; q. O, h" B# g9 o
% T" g; A0 J n9 c+ o
Hadoop自带的Partitioner的实现有两种,一种为HashPartitioner, 默认的分区方式,计算公式 hash(key)%reducernum,另一种为TotalOrderPartitioner, 为排序作业创建分区,分区中数据的范围需要通过分区文件来指定。0 M) r3 n0 L$ V! q
; v) ?4 Z, k- F Q" N! k2 w, X
: f! F6 g* I* D7 {$ p# `" }( i3 P ) e7 y0 {3 ]4 _' S/ x
0 p& o/ V# ?/ [, d0 g+ x4 i
# \/ ^1 m* s% y4 G0 @很多初学者,对大数据的概念都是模糊不清的,大数据是什么,能做什么,学的时候,该按照什么线路去学习,学完往哪方面发展,想深入了解,想学习的同学欢迎加入大数据学习qq群:199427210,有大量干货(零基础以及进阶的经典实战)分享给大家,并且有清华大学毕业的资深大数据讲师给大家免费授课,给大家分享目前国内最完整的大数据高端实战实用学习流程体系/ J/ p! p0 X$ n g5 Y- ?" K
$ @* ~# |) w3 u% f% |' v$ G/ s( g8 ` |
分区文件可以人为创建,如采用等距区间,如果数据分布不均匀导致作业完成时间受限于个别reduce任务完成时间的影响。
# t3 L* {3 r E& u- k, V, L; L- B; [7 c% \/ K+ w, i
8 U3 k+ h. r4 W# A
也可以通过抽样器,先对数据进行抽样,根据数据分布生成分区文件,避免数据倾斜。
* F1 U) f. W, e
7 O. X3 F) @7 w: [* T& m$ }( Q; |6 M4 j( i* H' u7 `: @/ K
注意,key可以是数字型,也可以是BinaryComparable(字符串),当是BinaryComparable时,则以key构造Trie Tree;否则以二分查找来确定key的所属区间。+ k( U2 P: t4 S; q4 E
1 f# C# b2 x9 A, o4 Q
: |8 r1 o: y, ~7 B1 o, s
二单词共现矩阵算法) R; W( R, j" P- d! ^
# s$ T+ b/ Z) D
9 C) c. I' |* h6 [
0 ?; ?5 W" `2 d: [. K: C+ T* G w
3 `: n. y# M' Z& ?( l其目的是在海量语料库中发现在固定窗口内单词a和单词b共同出现的频率,从而构建单词共现矩阵,这样的矩阵可以是对称的,也可以是不对称的,这要看具体的应用。
/ I- z2 z# n6 m! ]& @0 P" e% d$ }1 M8 ~# [- \; O& i
% _7 v! b+ d& a- f
这种抽象化的任务的有效解决在实际生活中有着很多的应用。例如电子商家希望发现不同物品被同时购买的情况以便有效安排货物的摆放位置;同时对信息检索领域同义词词典的构建以及文本挖掘等都有着重要的实际应用价值。
- u8 @9 w, t3 m# U2 m) d0 _8 N. k) u: H9 L! P! o) A
( f- I) K4 v3 ~" L7 F. ?
根据同现关系的不同,可能需要实现和定制不同的FileInputFormat和RecordReader,如同现关系为一个英文句子,则需要实现以一个英文句子为单位的FileInputFormat和RecordReader,如同现关系为一个段落,则需要实现以一个段落为单位的FileInputFormat和RecordReader* y5 p: m% M" ~1 J
' b+ \) g- U0 ~# a) |2 X: L6 D3 ]. z
; L1 Z8 x9 D9 _3 b- M7 M% @ C
. s1 r; h9 u; P0 |3 c
' @( w; _/ }* W, S7 B; H
三倒排索引" K0 B: K- _ l4 u4 _- ]/ t5 i; ?
. g$ V" C. _( I8 t
, h3 _, h- @) @5 I
' f/ F' ^& x9 ~0 F* {- t8 Z1 e% h' i+ y: I
7 V: n& @1 z( v$ h- @2 }7 h* }/ w8 |
) ~4 G$ m3 a2 g. i9 w0 a' _5 O% i, y+ ^; m) u
; E2 \& {6 C6 [# B$ Q/ y3 H5 w* h! CInverted Index(倒排索引)是目前几乎所有支持全文检索的搜索引擎都要依赖的一个数据结构。基于索引结构,给出一个词(term),能取得含有这个term的文档列表(the list of documents),没什么可说的,必须掌握。8 p! d5 Y; |0 v: Y' N: d5 y
————————————————
7 R' v3 `' I' n4 B2 m7 {版权声明:本文为CSDN博主「铁拳虎」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
6 H. n& @; E8 j原文链接:https://blog.csdn.net/juan189/article/details/849324866 B4 ^" i: G0 `4 z* {6 {0 \
" n+ {- T* h3 h$ B! w( c$ H9 X
; Q( J0 V& j; h0 l: G |
zan
|