基于Map-Reduce的大规模分词服务搭建
来源:互联网 发布:无线网无法加入网络 编辑:程序博客网 时间:2024/05/13 22:58
目前项目中,分词的主要工作方式可以分为online和offline,online的方式主要是提供服务接口供应用程序来进行调用,比较侧重并发和速度,offline的工作方式主要是一次性的,调用完成就释放,适合一次处理大量文章,较online的工作方式,省去了网络传输的代价,效率要高一些,但是不是很灵活,不能实现良好的易用性。
在数据挖掘任务中,在语料库庞大的条件下,比如千万或者亿级别的文档,单机处理基本不能满足所需要的性能,需要进行并行化处理,但是一般分词程序会比较依赖词库或者其它的链接库等,部署起来会稍微麻烦点,所以为了方便部署,采用了online的方式来提供分词服务,系统简单的设计如下:
分词服务
分词服务由thrift封装,后台由c++实现,对外提供java和python的接口,客户端主要采用java实现并封装成jar方便部署和调用,分词服务可以根据Map节点的数量部署到多台机器上。
语料
语料库存放在hdfs上,按照路径进行存取,可以根据需求调整hdfs块的大小,数据格式为:docId,content
MR调用
在Map起始阶段,新建一个客户端,然后对读取的文档进行分词、统计词频,输出docId^Aword^Bfreq^Aword^Bfreq,最后再释放客户端的连接。
Reduce阶段也可以作进一步的处理,比如词频统计、词典构建等,也可以直接将Map的结果直接输出。
- 基于Map-Reduce的大规模分词服务搭建
- 基于Hadoop的Map reduce编程(一)
- 基于Riak数据库的Map/Reduce实现
- 基于Map-Reduce的相似度计算
- 基于 shell streaming的 Map/Reduce程序
- 基于Map-Reduce的相似度计算
- 基于Map-Reduce的选择运算
- 基于Map-Reduce的相似度计算
- 基于Map-Reduce的相似度计算
- 大数据:大规模文件系统及map-reduce
- 基于单步的Map-Reduce的矩阵乘法
- 配置Disco——基于erlang的map-reduce架构
- 基于map-reduce的并行最短路径算法
- 基于HIVE文件格式的map reduce代码编写
- 基于C++的Hadoop Map/Reduce框架--HCE
- 基于Map/Reduce的频繁项集挖掘
- 基于HIVE文件格式的map reduce代码编写
- 基于HIVE文件格式的map reduce代码编写
- android小记之FTP文件上传
- 给明年依然年轻的我们:欲望、时间、人生、后悔、现实
- 跟后台打印程序系统服务通讯时出现错误事件ID1114
- linux ipc system v 消息队列源码
- 发送消息 模拟鼠标点击 单击按钮和复选
- 基于Map-Reduce的大规模分词服务搭建
- 博弈论——取石子问题
- winform内嵌html,通过Flot插件实现图表显示
- Qt窗口屏幕居中显示
- 用来理解 Java 编程语言的 8 个图表
- < NET > multicast address
- IT公司工资情况.txt
- js下检测属性的方法
- c++之const详解