The invention relates to a method of generating massive astronomical data coverage area based on Spark, its main technical features are: Map operator using Spark and HEALPix hierarchical spherical index method, according to the index block of data one by one right ascension and declination information; map operator Spark, parent block number and sub block the number of the current layer of each data block number using HEALPix bit operation segmentation operation; for all blocks aggregation operation using Spark combineByKey operator; the above operation through the iteration, until meet the conditions of iteration termination, are generated after the data coverage area. The invention of the invention has reasonable design, can be completed in a short time a large-scale astronomical data area coverage generation, provides support for the realization of rapid archiving massive astronomical data, access to data, improve the processing efficiency, the invention generates results can be used for data visualization, as researchers intuitively show the distribution of astronomical data in the sky catalog.
【技术实现步骤摘要】
基于Spark的大规模天文数据天区覆盖生成方法
本专利技术属于大数据处理
,尤其是一种基于Spark的大规模天文数据天区覆盖生成方法。
技术介绍
天区覆盖生成是天文数据归档中的重要一环,其结果对天文数据检索、计算等后续处理流程至关重要。由于天文数据的海量性,应用传统科学计算方法处理这一问题通常耗时较长,效率不高,且受限于存储空间的制约,扩展性差。近年来科技的发展大大提高了天文数据的采集能力,各波段的数据量呈指数级增长,天文学逐渐走向全波段巡天的“大数据”时代。面对如此庞大的数据量,对传统科学计算技术处理大规模天文数据的做法提出了新的挑战。一般而言,天文数据的计算主要分为数据导入、数据预处理和数据计算三个阶段,如果面对大规模天文数据,在预处理阶段对数据没有进行合理的安排,会降低数据计算阶段的执行效率,从而制约天文发现的进展。除此之外,随着望远镜拍摄能力的逐渐提升,它会带来庞大的数据量,如何提高计算的效率又成为另一问题。分布式计算的出现让研究人员得以用廉价、高效的方式处理海量数据,目前已有一些天文数据处理方法利用到了分布式计算框架。如赵青等人利用HadoopMapReduce实现大规模天文数据的交叉证认;张夏旭等人利用HadoopHBase构建对不同星表数据的有效存储,提高集群磁盘利用率和星表信息查询效率;Li等人则利用Hive优化了多星表连接的过程。此外也有黄智昌等人利用到SparkMLlib机器学习库实现星系的分类,还有SharmaT等人结合Hadoop与Spark利用聚类算法实现了星象图片的聚合分类。但是以上这些方法在数据预处理阶段缺乏对天文数据合 ...
【技术保护点】
一种基于Spark的大规模天文数据天区覆盖生成方法,其特征在于包括以下步骤:步骤1:从HDFS中读取天文数据,使用Spark的map算子并结合HEALPix层次化球面索引方法,根据赤经、赤纬信息对数据逐条进行分块索引,将每条数据中不相关的信息以唯一Id代替,并将各个HEALPix块号调整为键;步骤2:从最低层级开始,使用Spark的map算子,利用位运算对当前层每条数据的HEALPix块号进行父块块号及子块块号的分割操作,获得相应的父块号highOrder和子块号lowOrder,最后将每条数据的父块号highOrder调整为键;步骤3:使用Spark的combineByKey算子,对步骤2处理完成的所有区块进行聚合操作;如果聚合后的结果满足条件,则全部HEALPix块号由对应的父块号highOrder代替并且被带到下次迭代,不满足条件的数据会暂存至文件系统;步骤4:以上操作进行反复迭代,若满足结束条件,停止迭代,每次迭代输出至文件系统的数据即为最终完成天区覆盖生成后的数据。
【技术特征摘要】
1.一种基于Spark的大规模天文数据天区覆盖生成方法,其特征在于包括以下步骤:步骤1:从HDFS中读取天文数据,使用Spark的map算子并结合HEALPix层次化球面索引方法,根据赤经、赤纬信息对数据逐条进行分块索引,将每条数据中不相关的信息以唯一Id代替,并将各个HEALPix块号调整为键;步骤2:从最低层级开始,使用Spark的map算子,利用位运算对当前层每条数据的HEALPix块号进行父块块号及子块块号的分割操作,获得相应的父块号highOrder和子块号lowOrder,最后将每条数据的父块号highOrder调整为键;步骤3:使用Spark的combineByKey算子,对步骤2处理完成的所有区块进行聚合操作;如果聚合后的结果满足条件,则全部HEALPix块号由对应的父块号highOrder代替并且被带到下次迭代,不满足条件的数据会暂存至文件系统;步骤4:以上操作进行反复迭代,若满足结束条件,停止迭代,每次迭代输出至文件系统的数据即为最终完成天区覆盖生成后的数据。2.根据权利要求1所述的基于Spark的大规模天文数据天区覆盖生成方法,其特征在于:所述步骤1的HEALPix层次化球面索引方法为:根据星体坐标和区块块号之间的映射关系,采用四叉树结构,以层层递归的方式对天球进行等面积划分;每一层级的区块都会被分配到唯一的二进制编码,在初始层级天球被划分成12个面积相等的基准球面四边形,每一个四边形被看作一个区块,从00至11为其编号;下一级在此基础上,每个四边形又被等分为4个子四边形,随着层级深度的增加,每一层的每个四边形都会被递归的进行四等分操作。3.根据权利要求2所述的基于Spark的大规模天文数据...
【专利技术属性】
技术研发人员:熊聪聪,田祖宸,赵青,史艳翠,王丹,苏静,
申请(专利权)人:天津科技大学,
类型:发明
国别省市:天津,12
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。