基于Hadoop云平台的海量数字图像数据挖掘的分析
2018-03-07刘润虎张宁黄璜邬学东
刘润虎 张宁 黄璜 邬学东
摘 要:Hadoop云平台在各个领域当中都有着极其广泛的应用,结合云计算技术等,对相关数据管理水平的提升具有重要价值。因此,本文就基于Hadoop云平台的海量数字图像数据挖掘进行有效分析,简要介绍了数字图像处理流程中的预处理与特征空间构建两个环节;然后,对海量数字图像数据挖掘系统构建的硬件设备、软件环境、继承开发平台等构建进行了细致分析。
关键词:Hadoop云平台 数字图像 数据挖掘
中图分类号:TP393 文献标识码:A 文章编号:1674-098X(2017)11(b)-0113-02
数据挖掘就是在相关数据库、信息库等存储的海量数据当中提取有效知识的过程,这些知识本身具有一定的未知性、实用性以及有效性,隐藏于大量数据当中,需要通过寻找信息库中数据之间的联系来进一步有效获取到所需知识。而Hadoop云平台作为一种开源的分布式计算平台,能够为数据挖掘提供有效支撑,基于Hadoop云平台的海量数字图像数据挖掘,利用其HDFS系统与Map Reduce框架,更容易实现。
1 数字图像数据挖掘流程分析
数字图像数据挖掘的整个流程如图1所示,其中的主要流程包括数据预处理与特征空间构建两个环节。
1.1 数据预处理
基于Hadoop云平台的海量图像数据挖掘过程需要以数据预处理的有效实现为基础,在这一过程中,首先应明确针对图像数据预处理的必要性。在正式展开挖掘之前,对图像数据进行预处理,能够避免原信息库中的图像数据中存在的病毒等脏数据或已经损坏的数据影响数据挖掘过程的顺利性。例如,数据库中存在的分辨率极低的图片、无法打开的被破坏的图像信息,若未对其进行预处理就直接展开数据挖掘,则会使数据挖掘古城陷入混乱,形成不可靠、无意义的输出,影响挖掘效率与质量。一般来说,针对图像数据的预处理包括图像数据选择、清理以及检查。
1.2 数据特征空间构建
构建图像数据特征空间立方体,能够方便对大型的图像信息库进行多为分析,在进行图像提取的过程中,可将其分为两个层次,其一是底层特征提取,其二是高层特征提取[1]。其中,高层特征提取,多基于语义的层次高度;包括行为分析与人脸识别等在内的特征则都要通过底层特征提取。图像数据底层特征是图像分析的基础部分,其中的颜色、文理与形状的计算表简单、性能稳定特定更加突出。
除此之外,图像文件名称、尺寸、创建时间、格式、文件描述中的关键字也可以作为图像文件特征,通过有效收集构建特征立方体,将其用于后续数据挖掘的处理,显著提升数据挖掘效率与质量。
2 数字图像数据挖掘系统构建
2.1 硬件设备构建
Hadoop云平台构建过程中,相关节点的选择都以普通硬件厂商生产的标准化商业计算机。由此种硬件设备相比与低端计算机以及大型数据库级别的计算器,性能与性价比都更符合相关应用需求。基于Hadoop平台的海量数字图像数据挖掘系统,同样可选择这种商用计算机,其基本硬件配置如下:4×1TB的SATA硬盘作为存储器;两个四核CPU作为处理器,其频率应达到2~2.5GHz之间;16~24GB内存的DRAM,应具备查错与纠错的功能。有效选取节点之后,还应对满足其通信需求的交换机进行选择,以1GB为宜,系统内部网络则以千兆以太网为宜。
2.2 软件环境构建
Hadoop云平台的主体语言是Java,同时也是其运行基础,在任何具备JVM的平台上都能够正常运行,但需要注意的是,控制脚本一类的代码需要为其建立Unix环境才能顺利执行,所以Hadoop云平台无法在非Unix平台上运行。建立基于Hadoop云平台的数字图像数据挖掘系统,可采用Ubuntu Linux系统为各个商业计算机节点的相关操作提供支持。
构建完整、有效的软件环境,需要相关节点完成以下步骤:(1)有效安装Java,建议采用JDK,以满足Hadoop平台的运行需求;(2)建立统一的账号形式的Hadoop云平台用户账号,由此能够区别本机与Hadoop云平台之间的不同服务,同时方便整个系统的有效管理;(3)以实际IP地址的分配状况进修改节点配置文件;(4)安装协议软件,Hadoop云平台的控制脚本依赖SSH协议软件,需要通过密钥对,配置无密码的SSH登录。
完成上述步骤之后,再进一步搭建海量数据挖掘系统Hadoop云平台。搭建过程中,采用H Base作为分布式开源数据库,在Hadoop分布式文件系统的基础之上,所提供的全部功能与Google文件系统中Big Table数据库相似。此种数据库的应用,其主要目的是处理较为庞大的表,将其应用与普通计算机当中,能够快速处理约10亿行的数据,另外,该数据库中存在的由数百万列元素构成的表,能够充分满足海量数字图像数据挖掘对Hadoop云平台的运行需求。
采用Hive设计一个分布式数据仓库,能够在数据挖掘过程中提供一些简单的数据操作,例如,在数据查询操作这一部分,与SQL语法相似的Hive SQL语言的数据查询[2]。当Hive SQL语言能力存在不足时,基于Hive的分布式数据仓库能够允许使用Hadoop云平台中的Map Reduce框架,建立并行计算模型,针对复杂数据进行有效分析。
Hadoop云平台软件环境的成功构建,部署Hive或H Base都能达到相应效果,对存储于Hadoop云平台上HDFS系统中的海量数字图像数据进行全面、有效的管理。
2.3 集成开发平台构建
基于Hadoop云平台的海量数字图像数据挖掘系统,采用Eclipse集成开发平台,往往能够时相关程序编写、测试、运行等操作更加的简便,在上述Hadoop平台的软件环境下,应用Eclipse Map Reduce plugins,能够实现对开发环境的图形化处理,从而显著降低开发难度。
2.4 Map Reduce程序编写
编写Map Reduce程序是数据挖掘得以实现的重要前提,以现阶段的云平台技术来看,Map Reduce程序的编写过程多依赖于一个模板,若要进行新的Map Reduce程序编写,则就要对相关数据流进行全面的认识,明确相应的键值对类别。一般来说,基于Hadoop云平台的海量数字图像数据挖掘系统中,采用Image值类型、Text键类型,就能满足相关设计要求。常规的Map Reduce程序共包含3个部分,即reduce函数、map函数与作业驱动程序;其中reduce函数在执行Reduce任务时被调用,在执行Map任务时,则调用相应的map函数,而作业驱动程序则被用于配置初始化作业的过程当中。
3 结语
综上所述,对基于Hadoop云平台的海量数字图像数据挖掘的相关分析,有利于提升现阶段对数字图像数据的处理技术。通过相关挖掘系统的完善建立,能够有效实现图像知识的全面挖掘处理,从而为人们提供更加丰富的服务类型,解决数字图像信息挖掘。在未来针对海量数字图像数据的挖掘处理,应重视Hadoop云平台的有效利用,从而推动信息系统建设与应用的价值提升。
参考文献
[1] 蒋春燕.基于Hadoop技术的图像视频处理的研究与应用[D].华侨大学,2016.
[2] 趙洋,潘晓鸽.基于Hadoop云平台的海量数据信息处理的设计[J].河南科技,2014(9):11.endprint