【SQL开源代码栏目提醒】:网学会员,鉴于大家对SQL开源代码十分关注,论文会员在此为大家搜集整理了“分布式环境下的文档相似度研究与实现 - 会议论文”一文,供大家参考学习!
分布式环境下的文档相似度研究与实现 赵华茗 (中国科学院国家科学图书馆 北京 100190) 【摘要】 针对传统的相似度计算方法在海量信息处理过程中暴露出的数据处理规模限制和性能不足等方面的瓶颈
问题,本文以非结构化文档为研究对象,提出一种基于 HADOOP分布式环境,结合 Hive 数据处理平台和 POSTGRESQL 关系型数据库的文档相似度计算方法,并给出关键技术思路、具体实现步骤和实证研究,通过研究证明 Hive SQL 语言可有效简化分布式数据处理复杂性但实时性有待改进。
【关键词】HADOOPHive相似度非结构化 【分类号】TP393 Research and Implement of Textual Similarity in Distributed Environment Zhao Huaming (National Science Library Chinese A
cademy of Sciences Beijing 100190 China) 【Abstract】Traditional similarity algorithm exposed the performance issue and limitation ondata set size in the process of mass-data mining so this paper takes unstructured textual data asresearch subject and firstly introduces the method of Hadoop distributed textual similarityalgorithm which combined Hive data mining platform with POSTGRESQL RMDB anddescribes the basic technical ideas implementations and the empirical research in details. Thetesting result shows that Hive SQL can be effectively realized to simplify greatly the complexityof distributed data mining but its real-time performance should be improved. 【Keywords】HADOOP Hive similarity unstructured1、引言 文档相似度计算是一种很常见的信息分类和信息挖掘方法,在信息检索、数据挖掘、机器翻译、相似性检测等领域有着广泛的应用1-3。
随着互联网的发展,数字信息爆发性增长,传统的相似度计算方法在海量信息处理过程中暴露出数据处理规模及性能等方面的不足,这使得如何将传统的信息挖掘方法分解为可分布式并行的信息挖掘计算方法成为一个热点研究课题。
Hadoop4分布式系统依靠廉价的 PC 集群提供可靠的并行计算能力,是分布式并行的信息挖掘计算的首选系统环境之一,其子项目 Hive5平台立足于 MapReduce6并行计算框架,提供类 SQL 功能的 Hive SQL7语言,有效简化分布式数据处理复杂性,成为实用、高效的海量数据处理平台。
本文以非结构化文档为研究对象,利用 HIVE 数据处理平台和关系型数据库在数据分析挖掘过程中的优势,提出一种基于分布式环境的文档相似度计算方法,并结合开源软件及开发框架,详细阐述技术实现思路和关键点。
2、海量的文档相似度计算思路和关键技术 2.1 总体策略 分布式环境下,实现非结构化文档相似度计算的总体策略包括文档预处理和相似度计算两大部。
具体实现步骤为:定期将从互联网采集下来的非结构化文档根据计算需要做结构化预处理,形成具有特征词的结构化新文档;然后导入分布式 Hive 平台,结合经典的相似性函数夹角余弦法和 HQL 语言,与所有老文档依次执行相似度计算的遍历过程;最后将计算结果保存到数据库当中。
2.2 关键技术 Hive 是本文在分布式环境下实现文档相似度计算的关键技术方法。
《Hadoop 开发者入门专刊》中定义 Hive8是基于 Hadoop 构建的一套数据仓库分析系统,它提供了丰富的 SQL查询方式来分析存储在 Hadoop 分布式文件系统中的数据,Hive 系统构架如图 1。
JDBC/ODBC CLI WUI Thrift Server Driver 解释器、编译器、 元数据 优化器 HIVE JobTracker NameNode Hadoop DataNode TaskTracker 图 1、Hive 系统构架图7 Hive 将结构化的数据存储在数据仓库中,通过自己的 SQL 去查询分析需要的内容,这套 SQL 简称 Hive SQL。
Hive 解释器、编译器、优化器完成 HQL 查询语句从词法分析、语法分析、编译、优化以及查询计划的生成。
生成的查询计划存储在 HDFS 中,并在随后用MapReduce 调用执行。
但是包含“”的
查询,Hive 不会生成 MapRedcue 任务,因此程序开发中应尽量避免“”的使用,充分发挥分布式并行优势。
可以看出,它与关系型数据库的SQL 略有不同,但也支持了绝大多数的 SQL 语句如 DDL、DML 以及常见的聚合函数、连接查询、条件查询。
相比 Hbase9,Pig10,MapReduce 等等分布式数据处理工具,Hive 平台主要优势是: 1、将复杂紧耦合的 MapReduce 数据处理过程变成简单可松耦合的 SQL 语句查询,使分布式数据处理更简捷易懂; 2)、支持基于 X/Open 的 SQL 调用级接口 JDBC/ODBC 和 Thrift11服务开发框架,这使得开发人员可以使用更熟悉
常用的方式访问分布式环境中的数据;3、分布式的文档相似度开发运行环境 根据