2023年6月29日发(作者:)
数据库技术Database Technology电子技术与软件工程Electronic Technology & Software Engineering基于Hadoop的石油大数据平台构建张赢(长江大学 湖北省荆州市 434000)摘 要:本文设计了一套基于Hadoop的石油大数据系统系统,该系统采用当下流行的Hadoop大数据技术,可以有效的管理海量石油数据,集数据采集、存储、使用于一体,从而达到科学生产、降低生产成本的目的。关键词:大数据;Hadoop;大数据平台;架构在石油开发作业过程中产生的数据不仅量大而且复杂,在数据采集、存储、利用上都存在巨大的问题。例如采集到的数据通常需要人工导入,不同的部门、设备、井场等记录数据的格式、单位也不尽相同,再加上数据常年的累积,油气数据在采集、存储、使用方面都相当困难。但随着Hadoop大数据技术的发展,为解决油气数据的管理问题提供了新的思路。Hadoop大数据技术,在海量复杂数据的采集、存储、分析计算等环节提供了全套方案,能够有效的解决油气数据的管理问题。1 油气数据平台的技术选择1.1 分布式文件系统Hadoop HDFS随着石油数据的增大,在一个操作系统中不可能存下所有的油气数据,也不可能管理那么多的数据,那么就需要将数据分散到多个操作系统中的磁盘里,因此需要一个系统来管理多台机器上的数据,这就是分布式文件管理系统。Hadoop的HDFS就是当前最流行的分布式文件管理系统之一。Hadoop[2]是Apache的顶级开源项目,由java编写,而HDFS是其核心组件之一,当前的大数据技术便是基于HDFS。HDFS具有高容错性、低成本和高扩展性以及适合处理大数据等特点。(1)高容错性:数据由多个副本保存,可以提高副本数量和容错性;(2)低成本:Hadoop可以构建在廉价的机器上,这意味着Hadoop集群并不需要花多少钱;(3)高扩展性:可以通过增加节点来扩大集群。(4)适合处理大数据:数据规模大,HDFS不仅能够处理GB、TB甚至PB级规模的数据,还能能够处理百万级以上规模的文件。HDFS优秀的存储能力,为油气开发作业中产生的海量数据提美的界面和强大的交互体验,可以让开发者将工作重心更多地放在数据分析与处理而不是前端页面开发。2.8.1 热词词频统计查询数据库中词频统计结果的前30条数据,以横向柱图的形式进行展示,见图2。点击单个柱子会自动弹框展示包含热词的相关新闻。2.8.2 热度演变趋势根据积累的历史数据,可以进一步展开数据分析,以横向柱图中的热词作为关键字在数据库中进行模糊匹配并按日期分组求和,可以得出该热词的变化趋势[4]。以最近的“日本决定向大海排核污染水”新闻为例,查看“日本”的热度演变趋势,由图可以看出在2021-4-12之后,“日本”的相关热度骤然增高,见图3。2.8.3 新闻地图在使用Jieba分词器完成中文分词后,分词中包含着若干地名信息,将地名信息提取统计之后显示在地图上可以构建一幅新闻地图[5]。本文的新闻地图由国内新闻地图(图4)和国际新闻地图(图5)组成。国内新闻地图以气泡图的大小反映该地区新闻数量,国际新闻地图则以色块的形式反映国家的新闻数量。点击区域或国家,均可弹框展示包含该区域或国家的新闻,通过传递参数,点击热点名会自动使用百度对该内容进行搜索,见图6。3 总结与展望本平台是一种使用大数据相关技术开发的大数据新闻统计分析平台,在完成新闻数据可视化的同时构建新闻语料库。通过爬取全网各大新闻媒体平台的实时数据,并对其热榜信息进行聚合,实现对新闻网站的各种信息(来源,分类,热度信息等)的分析。通过统计分析的数据,将实时新闻热点进行可视化展示。首先本平台有助于用户告别智能推荐,减少不必要信息的干扰,从而更全面的按照自己的需求查看新闻。通过聚合全网信息,客户可以用较短的时间去快速浏览、获取更多的信息,这种方案简单高效,是一种全新的新闻获取思路。并且本文所构建的新闻语料库可为后续实验和科学研究提供数据支撑。参考文献[1]袁昌权,胡益群,许光,俞理超.基于Hadoop的高可用数据采集与存储方案[J].电子技术与软件工程,2019(18):169-170.[2]齐虎春.基于网络信息采集的多线程与多进程性能研究[J].内蒙古科技与经济,2020(24):97-98.[3]杜鹏辉,仇继扬,彭书涛,柴沣伟,刘意先.基于Scrapy的网络爬虫的设计与实现[J].电子设计工程,2019,27(22):120-123+132.[4]成达,汪云海.搜索趋势数据可视分析系统[J/OL].计算机辅助设计与图形学学报,2021.[5]冯培义,吴限量,刘海砚.面向热点新闻事件的地图快速制作框架与实现[J].信息工程大学学报,2016,17(06):754-759.作者简介王一高(1999-),男,山西省忻州市人。大学本科在读。研究方向为大数据与云计算。任耀星(2000-),男,山西省汾阳市人。大学本科在读。研究方向为人工智能。李嘉瑶(1993-)(通讯作者),女,山西省晋城市人。硕士研究生,助教。研究方向为数据处理,大数据应用,计算机视觉。172电子技术与软件工程Electronic Technology & Software Engineering数据库技术Database Technology供了存储保障。1.2 分布式计算框架Spark面对如此复杂且巨大的数据,如何快速对数据进行处理、计算是个巨大的问题,使用分布式计算框架Spark,可以使用多台计算机同时运作,快速完成对数据的清洗、筛选、计算等工作。Spark是一种通用的、可扩展的大数据分析引擎,现在是Apache的顶级开源项目。Spark由Scala语言编写,而Scala则是运行在JVM上语言,表 1:技术组件版本软件操作系统JDKHadoopSparkFlumeHive版本CentOS 7.01.82.6.52.2.21.6.01.1.0这意味着Spark可以很容易与Hadoop、Hbase等大数据框架衔接。Spark是在Hadoop MapReduce分布式计算平台上的基础上发展来的,Spark继承了MapReduce的优点并改进了其缺点,具有运行速度快、容错性高、通用性强等优点。(1)运行速度快:Spark计算过程中的中间数据直接放在内存中,而Hadoop MapReduce计算过程中的中间数据需要先保存到磁盘,因此Spark减少了磁盘IO,提高了数据计算效率;(2)容错性高:在Spark计算过程中,如果出现了因断电导致的数据丢失,Spark可以基于它的弹性分布式数据集RDD(Resilient
Distributed Dataset)对数据进行重建,而不需要对数据重新计算。(3)通用性强:Hadoop MapReduce只提供Map和Reduce两种计算操作,而Spark提供Union、Map、FlatMap、Sample、GroupByKey、Filter、Join、Cogroup、MapValues、ReduceByKey、Sort以及PartionBy等多种操作类型,并且Spark还提供流式计算,这是MapReduce所不具备的。1.3 分布式数据库HbaseHDFS只是一个分布式文件系统,并不提供类似关系型数据库的全文检索的能力。Hbase(Hadoop Database)是Apache软件基金会的Hadoop项目的一部分,由java语言编写的开源的非关系型分布式数据库,是谷歌BigTable的开源实现。Hbase具有高扩展性、高可靠、海量存储、支持高并发等特性。(1)高扩展性:Hbase运行于Hadoop的HDFS文件系统之上,与Hadoop HDFS天然集成,无需复杂的衔接,只需简单增加廉价的机器即可达到扩大集群的目的。(2)高可靠:Hbase支持故障自动转移,即使节点故障也不必担心数据丢失。(3)海量存储:HBase可以处理非常庞大的表,可以利用廉价的集群,通过水平扩展的方式,处理由超过10亿行数据和数百万列元素组成的数据表。(4)高并发:Hbase支持高并发的随机写和实时查询,这是HDFS做不到的。由Spark处理过的数据或者是原本就可以使用的数据,可以使用Hbase进行存储,方便使用。使用Hbase可以为海量石油数据提供随机写和实时查询的功能。2 平台技术架构本系统以当前热门的Hadoop大数据技术作技术支撑,分为数据采集、数据处理、数据存储、数据应用几个过程[3],将石油勘探开采过程中的各种现场数据、历史数据采集到HDFS中,再有Spark计算引擎处理数据,最终数据经过ETL后被持久化到Hbase、Hive等数据仓库以供用户消费,平台具体架构如图1所示。数据源主要分2种,一种是各种历史数据,这部分数据是在大数据技术出现之前长期积累的,数据样式、格式、单位等都不统一,例如服务日志、文本文件、Execl、图片、传统数据库数据等。另一种是现场采集的实时数据,包括现场设备的运行状态、参数,采Sqoop1.4.6Zookeeper3.4.5Kafka0.11.0.2MySQL5.6.24图1:基于Hadoop的石油大数据平台架构集到的油井数据等。对于数据采集,一般的历史数据可以直接导入HDFS,或者使用Sqoop等工具将传统的数据库中的数据导入到HDFS或者Hive、Hbase[4],而各种现场数据 ,例如现场设备数据、现场采集的油井数据等需要专门的日志收集框架。Flume正适合这种数据种类、数据源、数据流向多样的场景。日志由Flume收集,再由Kafka传输到相应的数据处理层进行数据预处理。数据处理层可以使用Spark引擎配合其它ETL工具。使用Spark不仅可以快速处理海量离线数据,而且Spark SQL可以快速的进行分布式数据查询,不需要写很多复杂的处理流程;使用Spark Streaming 可以实现高吞吐的、具备容错机制的海量数据流式处理。数据存储层主要使用HDFS存储大量原始数据,原始数据一般数据量大,价值密度低,并不能直接使用,需要经过数据清洗、筛选等数据步骤转化为我们所需要的数据。经过处理的后的结构化数据可以存储在Hbase、Hive等数据仓库中以供直接使用。传统的数据库都是基于磁盘存储的,如果并发量过高,不仅影响数据库访问效率,还会增加IO和CPU压力。Redis是基于内存的NoSQL数据库,因此使用Redis作为缓存,将热点数据存放在Redis中可以减轻数据库压力、增加数据访问速度。数据应用层可以给不同的主体展示结果。例如,可以数据可视化、定制数据报表等,也可以将对历史数据与现场数据做对比,以便做技术决策和危险预警等。3 系统实现3.1 平台搭建3.1.1 软件版本选择系统规划将直接决定整个平台是否能成功搭建和平稳运行。考173数据库技术Database Technology电子技术与软件工程Electronic Technology & Software Engineering表 2:集群服务规划表服务名称Hadoop HDFSZookeeperSparkHbaseFlumeKafkaHiveMySQLSqoop子服务名称NameNodeDataNodeSecondaryNameNodeZookeeper ServerSparkMasterWorkerHMasterRegionServerFlumeKafkaHiveMySQLSqoopNode1√√√√√√√√√√√3.2.1 数据导入HDFS对于无法直接使用的数据,可以直接上传到HDFS,HDFS提供Shell命令操作来操作文件。例如将本地文件剪切到HDFS目录上:hadoop fs -moveFromLocal 本地文件 HDFS目录3.2.2 数据导入数据仓库数据来源中很大一部分是传统关系型数据库的数据,例如MySQL、Oracle等数据库中的数据。使用Sqoop,可以轻松将传统的关系型数据库中的数据导入到Hive。例如将MySQL中的数据导入Hive,需要下面2步:(1)Hive中创建一个具有相同名字和相同表结构的表:sqoop
create-hive-table;(2)使用sqoop导入数据:sqoop import—hive-import。4 结束语使用大数据技术对石油数据进行管理,对石油企业尤为重要,使用传统的关系型数据库存储数据无法满足现在的石油行业的需求,因此文中提出基于Hadoop大数据技术平台来完善现有石油数据处理的不足,对其功能、架构、搭建过程做了详细的介绍,,并成功模拟搭建过程,验证平台搭建成功,为后续工作奠定了基础。下一步便是提高集群数据计算效率、数据存取效率等,以此优化集群。参考文献[1]李清泉,李德仁.大数据GIS[J].武汉大学学报(信息科学版),2014,39(06):641-644+666.[2]王玉.大数据时代Hadoop和Spark技术研究[J].品牌研究,
2020(04):88-90.[3]董蕾,李晨光,郭莹.基于云计算的职业教育信息化应用研究[J].信息技术与信息化,2017(12):125-128.[4]刘萍.基于Hadoop与Spark的高校校园大数据平台研究[J].软件工程,2018,21(05):15-18.作者简介张赢(1993-),男,湖北省随州市人。硕士研究生学历。研究方向为大数据技术。Node2√√√√√√Node3√√√√√√√虑到系统稳定性、兼容性和程序的开发成本,本项目框架的版本选型为CDH版5.12.0发行版,相关的技术组件版本选型如表1所示。3.1.2 机器准备由于Linux是开源的,更容易兼容其它开源软件并且所需资源更小更安全,所以本次大数据平台系统选择安装在Linux上。使用当下流行的虚拟化软件VMware Workstation 14.0最小化安装3台Linux系统作为服务器节点。服务器名字分别为Node1、Node2、Node3,分别配置静态IP、主机名以及SSH免密登录,并且关闭防火墙。其中SSH免密登录的配置如下:(1)生成公钥和私钥[**************]$ssh-keygen然后连续输入3个回车确认即可,该命令会在户目录下的.ssh目录下创建2个文件:公钥(id_)和私钥(id_rsa)。(2)将公钥拷贝到要免秘钥登录的目标机器上
[**************]$ssh-copy-id-i~/.ssh/id_t@node2[**************]$ssh-copy-id-i~/.ssh/id_t@node3该命令是将本地户目录下的.ssh目录下的公钥拷贝到目的主机~/.ssh目录上。(3)其它节点重复上面(1)、(2)两步操作。3.1.3 软件安装Node1、Node2、Node3的主机对应内存分别是:6G、4G、4G。Node1分配的内存较大,因此主服务都安装在Node1上,服务分配安装如表2所示。3.1.4 测试集群(1)测试Hadoop HDFS。访问node1:50070便可以成功进入HDFS的可视化管理界面。可以在此页面中对HDFS中的文件进行基本的操作。(2)测试Spark。访问node1:8080便可进入Spark Master的监控页面,在这里可以查看Spark主节点和从节点的状态。(3)测试Hbase。访问node1:16010便可以进入Hbase的管理页面,在这里可以查看Hbase状态。3.2 导入数据174
发布者:admin,转转请注明出处:http://www.yc00.com/xiaochengxu/1687986710a64072.html
评论列表(0条)