CN114327820A - 离线任务的处理方法和装置 - Google Patents
离线任务的处理方法和装置 Download PDFInfo
- Publication number
- CN114327820A CN114327820A CN202111609393.2A CN202111609393A CN114327820A CN 114327820 A CN114327820 A CN 114327820A CN 202111609393 A CN202111609393 A CN 202111609393A CN 114327820 A CN114327820 A CN 114327820A
- Authority
- CN
- China
- Prior art keywords
- data
- historical
- channel data
- offline
- task
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Landscapes
- Stored Programmes (AREA)
Abstract
本发明提供了一种离线任务的处理方法和装置,其中,该方法包括:获取预设时间周期内的历史渠道数据,采用计算引擎Spark对所述历史渠道数据进行划分,然后生成并编排所述历史渠道数据的离线任务;采用批处理调度器Azkaban对所述离线任务进行任务调度。本申请解决了现有技术中不能进行任务编排的问题。
Description
技术领域
本发明涉及数据处理领域,具体而言,涉及一种离线任务的处理方法和装置。
背景技术
随着云化技术的成熟,企业级的应用越来越多的向云化方向发展,这其中有着较多的云化下批处理任务的依赖调度。需要借助一些调度***来实现云化作业调度,而现在的云化任务调度产品,只具备任务调度没有任务编排的能力。
针对上述的问题,目前尚未提出有效的解决方案。
发明内容
本发明的主要目的在于提供一种离线任务的处理方法和装置,以解决现有技术中不能进行任务编排的问题。
为了实现上述目的,根据本发明的一个方面,提供了一种离线任务的处理方法,包括:获取预设时间周期内的历史渠道数据,采用计算引擎Spark对所述历史渠道数据进行划分,然后生成并编排所述历史渠道数据的离线任务;采用批处理调度器Azkaban对所述离线任务进行任务调度。
可选地,在获取预设时间周期内的历史渠道数据之前,所述方法还包括:在本地配置所述计算引擎Spark的运行环境,并将所述计算引擎Spark的master主节点配置为yarn模式。
可选地,在获取预设时间周期内的历史渠道数据之前,所述方法还包括:安装JAVA的语言软件开发工具包JDK,然后配置JAVA环境变量,其中,所述JAVA环境变量包括JAVA的JAVA_HOME配置和用于记录项目编译环境的所有信息的CLASSPATH文件,所述所有信息包括:源文件路径、编译后class文件存放路径、依赖的JAR包路径、运行的容器信息以及依赖的外部项目信息;配置分布式***基础架构HADOOP的环境变量,其中,所述HADOOP的环境变量包括进入HADOOP的根目录配置HADOOP_HOME、配置HADOOP_CONF_DIR、配置路径PATH、进行源文件source的更新并进行环境变量的生效测试,所述分布式***基础架构HADOOP是依赖于所述JAVA的语言软件开发工具包JDK运行的。
可选地,获取预设时间周期内的历史渠道数据,包括:使用textFile方法,从所述分布式***基础架构HADOOP的分布式文件***hdfs中读取渠道数据,或使用textFile方法,按照配置的数据源地址,从数据源读取渠道数据;获取所有读取的数据的产生时间,从中获取产生时间位于最近一周内的所述历史渠道数据。
可选地,获取预设时间周期内的历史渠道数据,采用计算引擎Spark对所述历史渠道数据进行划分,然后生成并编排所述历史渠道数据的离线任务,包括:采用计算引擎Spark将所述历史渠道数据划分为多批数据,然后生成并编排所述历史渠道数据的离线任务。
可选地,采用计算引擎Spark将所述历史渠道数据划分为多批数据,并生成所述历史渠道数据的离线任务,包括以下之一:采用计算引擎Spark对所述历史渠道数据按照时间段进行划分,得到多份历史数据,并为多份历史数据创建多个离线任务,然后建立离线任务之间的关联,其中,划分得到的每份历史数据对应于多个时间段中的一个,任意两份历史数据对应的时间段不同,创建的多个离线任务中的每个离线任务用于处理一份历史数据,任意两个离线任务所处理的历史数据不同;采用计算引擎Spark对所述历史渠道数据按照数据类型进行划分,得到多份历史数据,并为多份历史数据创建多个离线任务,然后建立离线任务之间的关联,其中,划分得到的每份历史数据对应于多个数据类型中的一个,任意两份历史数据对应的数据类型不同;采用计算引擎Spark对所述历史渠道数据按照数据量进行划分,得到多份数据量相同的历史数据,并为多份历史数据创建多个离线任务,然后建立离线任务之间的关联;采用计算引擎Spark对所述历史渠道数据按照数据源进行划分,得到多份历史数据,并为多份历史数据创建多个离线任务,然后建立离线任务之间的关联,其中,划分得到的每份历史数据对应于多个数据源中的一个,任意两份历史数据对应的数据源不同;采用计算引擎Spark对所述历史渠道数据进行随机划分,得到多份历史数据,并为多份历史数据创建多个离线任务,然后建立离线任务之间的关联。
为了实现上述目的,根据本发明的一个方面,提供了一种离线任务的处理装置包括:任务划分单元,用于获取预设时间周期内的历史渠道数据,采用计算引擎Spark对所述历史渠道数据进行划分,然后生成并编排所述历史渠道数据的离线任务;任务调度单元,用于采用批处理调度器Azkaban对所述离线任务进行任务调度。
可选地,上述装置还包括:配置单元,用于在获取预设时间周期内的历史渠道数据之前,在本地配置所述计算引擎Spark的运行环境,并将所述计算引擎Spark的master主节点配置为yarn模式。
可选地,上述配置单元还用于在获取预设时间周期内的历史渠道数据之前,安装JAVA的语言软件开发工具包JDK,然后配置JAVA环境变量,其中,所述JAVA环境变量包括JAVA的JAVA_HOME配置和用于记录项目编译环境的所有信息的CLASSPATH文件,所述所有信息包括:源文件路径、编译后class文件存放路径、依赖的JAR包路径、运行的容器信息以及依赖的外部项目信息;配置分布式***基础架构HADOOP的环境变量,其中,所述HADOOP的环境变量包括进入HADOOP的根目录配置HADOOP_HOME、配置HADOOP_CONF_DIR、配置路径PATH、进行源文件source的更新并进行环境变量的生效测试,所述分布式***基础架构HADOOP是依赖于所述JAVA的语言软件开发工具包JDK运行的。
可选地,任务划分单元还用于:使用textFile方法,从所述分布式***基础架构HADOOP的分布式文件***hdfs中读取渠道数据,或使用textFile方法,按照配置的数据源地址,从数据源读取渠道数据;获取所有读取的数据的产生时间,从中获取产生时间位于最近一周内的所述历史渠道数据。
可选地,任务划分单元还用于:采用计算引擎Spark将所述历史渠道数据划分为多批数据,然后生成并编排所述历史渠道数据的离线任务。
可选地,任务划分单元还用于:采用计算引擎Spark对所述历史渠道数据按照时间段进行划分,得到多份历史数据,并为多份历史数据创建多个离线任务,然后建立离线任务之间的关联,其中,划分得到的每份历史数据对应于多个时间段中的一个,任意两份历史数据对应的时间段不同,创建的多个离线任务中的每个离线任务用于处理一份历史数据,任意两个离线任务所处理的历史数据不同;采用计算引擎Spark对所述历史渠道数据按照数据类型进行划分,得到多份历史数据,并为多份历史数据创建多个离线任务,然后建立离线任务之间的关联,其中,划分得到的每份历史数据对应于多个数据类型中的一个,任意两份历史数据对应的数据类型不同;采用计算引擎Spark对所述历史渠道数据按照数据量进行划分,得到多份数据量相同的历史数据,并为多份历史数据创建多个离线任务,然后建立离线任务之间的关联;采用计算引擎Spark对所述历史渠道数据按照数据源进行划分,得到多份历史数据,并为多份历史数据创建多个离线任务,然后建立离线任务之间的关联,其中,划分得到的每份历史数据对应于多个数据源中的一个,任意两份历史数据对应的数据源不同;采用计算引擎Spark对所述历史渠道数据进行随机划分,得到多份历史数据,并为多份历史数据创建多个离线任务,然后建立离线任务之间的关联。
根据本申请实施例的另一方面,还提供了一种电子装置,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器通过计算机程序执行上述的方法。
根据本申请的一个方面,提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述方法中任一实施例的步骤。
应用本发明的技术方案,获取预设时间周期内的历史渠道数据,采用计算引擎Spark对所述历史渠道数据进行划分,然后生成并编排所述历史渠道数据的离线任务;采用批处理调度器Azkaban对所述离线任务进行任务调度,可以自动完成任务的生成、编排、调度,可以解决相关技术中不能进行任务编排的问题。
除了上面所描述的目的、特征和优点之外,本发明还有其它的目的、特征和优点。下面将参照图,对本发明作进一步详细的说明。
附图说明
构成本发明的一部分的说明书附图用来提供对本发明的进一步理解,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1是根据本申请实施例的离线任务的处理方法的流程图;
图2是根据本申请实施例的一种可选的crontab方案的示意图;
图3是根据本申请实施例的一种可选的任务创建的示意图;以及
图4是根据本申请实施例的一种可选的离线任务的处理装置的示意图。
具体实施方式
需要说明的是,在不冲突的情况下,本发明中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本发明。
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的术语在适当情况下可以互换,以便这里描述的本发明的实施例。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、***、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
需要注意的是,这里所使用的术语仅是为了描述具体实施方式,而非意图限制根据本申请的示例性实施方式。如在这里所使用的,除非上下文另外明确指出,否则单数形式也意图包括复数形式,此外,还应当理解的是,当在本说明书中使用术语“包含”和/或“包括”时,其指明存在特征、步骤、操作、器件、组件和/或它们的组合。
根据本申请实施例的一方面,提供了一种离线任务的处理方法的实施例。如图1所示,包括如下步骤:
步骤S11,获取预设时间周期内的历史渠道数据,采用计算引擎Spark对所述历史渠道数据进行划分,然后生成并编排所述历史渠道数据的离线任务。
可选地,在获取预设时间周期内的历史渠道数据之前,所述方法还包括:在本地配置所述计算引擎Spark的运行环境,并将所述计算引擎Spark的master主节点配置为yarn模式。
可选地,在获取预设时间周期内的历史渠道数据之前,所述方法还包括:安装JAVA的语言软件开发工具包JDK,然后配置JAVA环境变量,其中,所述JAVA环境变量包括JAVA的JAVA_HOME配置和用于记录项目编译环境的所有信息的CLASSPATH文件,所述所有信息包括:源文件路径、编译后class文件存放路径、依赖的JAR包路径、运行的容器信息以及依赖的外部项目信息;配置分布式***基础架构HADOOP的环境变量,其中,所述HADOOP的环境变量包括进入HADOOP的根目录配置HADOOP_HOME、配置HADOOP_CONF_DIR、配置路径PATH、进行源文件source的更新并进行环境变量的生效测试,所述分布式***基础架构HADOOP是依赖于所述JAVA的语言软件开发工具包JDK运行的。
可选地,获取预设时间周期内的历史渠道数据,包括:使用textFile方法,从所述分布式***基础架构HADOOP的分布式文件***hdfs中读取渠道数据,或使用textFile方法,按照配置的数据源地址,从数据源读取渠道数据;获取所有读取的数据的产生时间,从中获取产生时间位于最近一周内的所述历史渠道数据。
可选地,获取预设时间周期内的历史渠道数据,采用计算引擎Spark对所述历史渠道数据进行划分,然后生成并编排所述历史渠道数据的离线任务,包括:采用计算引擎Spark将所述历史渠道数据划分为多批数据,然后生成并编排所述历史渠道数据的离线任务。
可选地,采用计算引擎Spark将所述历史渠道数据划分为多批数据,并生成所述历史渠道数据的离线任务,包括以下之一:采用计算引擎Spark对所述历史渠道数据按照时间段进行划分,得到多份历史数据,并为多份历史数据创建多个离线任务,然后建立离线任务之间的关联,其中,划分得到的每份历史数据对应于多个时间段中的一个,任意两份历史数据对应的时间段不同,创建的多个离线任务中的每个离线任务用于处理一份历史数据,任意两个离线任务所处理的历史数据不同;采用计算引擎Spark对所述历史渠道数据按照数据类型进行划分,得到多份历史数据,并为多份历史数据创建多个离线任务,然后建立离线任务之间的关联,其中,划分得到的每份历史数据对应于多个数据类型中的一个,任意两份历史数据对应的数据类型不同;采用计算引擎Spark对所述历史渠道数据按照数据量进行划分,得到多份数据量相同的历史数据,并为多份历史数据创建多个离线任务,然后建立离线任务之间的关联;采用计算引擎Spark对所述历史渠道数据按照数据源进行划分,得到多份历史数据,并为多份历史数据创建多个离线任务,然后建立离线任务之间的关联,其中,划分得到的每份历史数据对应于多个数据源中的一个,任意两份历史数据对应的数据源不同;采用计算引擎Spark对所述历史渠道数据进行随机划分,得到多份历史数据,并为多份历史数据创建多个离线任务,然后建立离线任务之间的关联。
步骤S12,采用批处理调度器Azkaban对离线任务进行任务调度。
通过上述步骤,获取预设时间周期内的历史渠道数据,采用计算引擎Spark对历史渠道数据进行划分,然后生成并编排历史渠道数据的离线任务;采用批处理调度器Azkaban对离线任务进行任务调度,可以自动完成任务的生成、编排、调度,可以解决相关技术中不能进行任务编排的问题。下文结合具体实施方式进一步详述本申请的技术方案:
Spark是基于内存的分布式批处理***,它把任务进行拆分,然后分配到多个的CPU上进行处理,处理数据时产生的中间产物(计算结果)被存放在内存中,减少了对磁盘的I/O操作,大大的提升了数据的处理速度,适合应用在数据处理和数据挖掘等场景。
Spark的离线任务进行编排主要有两种:第一种是使用Linux的crontab定时任务;第二种是使用组件(例如Azkaban)进行编排。
使用crontab方案的方式如下:安装crontab,CentOS***并未自带crontab,可使用yum安装:yum install vixie-cron crrontabs;将需要执行的spark-submit命令做成shell脚本,即创建sh文件,如sparkShell.sh,内容为:#!/bin/bash spark-submit/usr/sdr/wbfiveconnectins.jar>/usr/sdr/log1229.out;编辑crontab,crontab–e,随即进入vim界面,输入:1 0***./etc/profile;/bin/sh/usr/sdr/sparkShell.sh(语义为:每天凌晨00:01执行此条命令),可通过crontab-l命令查看是否编辑成功,方案中需引入环境变量,因crontab的环境变量与***不一致;重启crond服务:service crond restart;crontab的视角表达式如图2所示。
使用Azkaban方案的方式如下:Mysql初始化,为了保证Azkaban的稳定可靠,双进程服务模式建议使用Mysql作为数据库,Mysql安装此处省略,在安装Azkaban前,首先需要对Mysql初始化和配置,下载安装包并解压,解压新建目录(/usr/local/azkaban),将所有tar包都解压到该目录,进入/usr/local/azkaban目录下,修改名称,配置ExecutorServer,修改配置文件(在conf目录下),修改内容为Azkaban web server的地址。
在启动时出现executor.port文件,说明启动成功,在激活后返回"status":"success",表示激活成功,配置Web Server,修改配置文件修改内容如下:正在排队的任务数StaticRemainingFlowSize,CPU占用情况CpuStatus,内存占用情况MinimumFreeMemory。测试环境必须将MinimumFreeMemory删除掉,否则它会认为集群资源不够,不执行。
启动时必须进入/usr/local/azkaban/azkaban-web目录下,启动web server,在访问web页面首页有四个菜单,projects最重要的部分,创建一个工程,所有flows将在工程中运行;scheduling显示定时任务,executing显示当前运行的任务,history显示历史运行任务。
主要介绍projects部分,首先创建一个工程,填写名称和描述,如图3所示;点击创建之后,工作流程Flows有多个job组成,权限管理Permission,工程日志Project Logs;job的创建,创建job很简单,只要创建一个以.job结尾的文本文件就行了,例如创建一个工作,用来打印hello,名字叫做command.job,一个简单的job就创建好了,一个工程一般不可能只有一个job,现在创建多个依赖job,这也是采用azkaban的首要目的;将job资源文件打包;通过azkaban web管理平台创建project并上传压缩包。
Spark应用场景:数据处理(Data Processing),可以用来快速处理数据,兼具容错性和可扩展性;迭代计算(Iterative Computation),支持迭代计算,有效应对复杂的数据处理逻辑;数据挖掘(Data Mining),在海量数据基础上进行复杂的挖掘分析,可支持多种数据挖掘和机器学习算法;流式处理(Streaming Processing),支持秒级延迟的流处理,可支持多种外部数据源;查询分析(Query Analysis),支持SQL的查询分析,同时提供领域特定语言(DSL)以方便操作结构化数据,并支持多种外部数据源。
crontab的方案简单易行,但是如果多个作业之间存在先后关系,较难实现(比如前一个任务执行结束后,创建一个文件夹,后一个任务检测到文件夹后开始执行);而用Azkaban可以解决多个Spark任务统筹编排。考虑产品的性能以及代码的可维护性,本申请基于Azkaban完成Spark离线任务调度等其它功能。本发明的目的,是采用Spark完成对历史一周的渠道数据的数据处理,采用Azkaban对Spark离线任务进行任务调度。
步骤1,针对不同的渠道数据进行不同的数据处理。
步骤1.1,新建spark(专为大规模数据处理而设计的快速通用的计算引擎)运行环境,配置app。
步骤1.2,使用textFile方法从Hadoop分布式文件***hdfs中读取数据,还可以从其他数据源读取数据。
文件路径可以写本地文件路径,前提是本地需要安装Hadoop,bin目录下有添加winutils相关dll,且配置了hadoop_home环境变量;也可以写hdfs文件路径。
mapPartitions每次处理一大批数据data,可将data分成多批数据进行处理,每次可以处理其中一批数据。
做完计算之后将数据汇集到一个分区,然后再执行保存的动作,一个分区,spark只起一个任务task来执行保存的动作,也就只有一个文件产生。
步骤2,一个业务包含多个离线任务,针对这个业务进行任务编排。
在本申请的技术方案中,可以采用定时任务的思想,结合Spark离线任务实现定时执行任务。采用Spark完成对历史一周的渠道数据的数据处理。采用Azkaban对Spark离线任务进行任务调度。
需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本申请并不受所描述的动作顺序的限制,因为依据本申请,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本申请所必须的。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到根据上述实施例的方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本申请各个实施例所述的方法。
根据本申请实施例的另一个方面,还提供了一种用于实施上述方法的装置。图4是根据本申请实施例的一种可选的离线任务的处理装置的示意图,如图4所示,该装置可以包括:
任务划分单元41,用于获取预设时间周期内的历史渠道数据,采用计算引擎Spark对所述历史渠道数据进行划分,然后生成并编排所述历史渠道数据的离线任务;任务调度单元43,用于采用批处理调度器Azkaban对所述离线任务进行任务调度。
可选地,上述装置还包括:配置单元,用于在获取预设时间周期内的历史渠道数据之前,在本地配置所述计算引擎Spark的运行环境,并将所述计算引擎Spark的master主节点配置为yarn模式。
可选地,上述配置单元还用于在获取预设时间周期内的历史渠道数据之前,安装JAVA的语言软件开发工具包JDK,然后配置JAVA环境变量,其中,所述JAVA环境变量包括JAVA的JAVA_HOME配置和用于记录项目编译环境的所有信息的CLASSPATH文件,所述所有信息包括:源文件路径、编译后class文件存放路径、依赖的JAR包路径、运行的容器信息以及依赖的外部项目信息;配置分布式***基础架构HADOOP的环境变量,其中,所述HADOOP的环境变量包括进入HADOOP的根目录配置HADOOP_HOME、配置HADOOP_CONF_DIR、配置路径PATH、进行源文件source的更新并进行环境变量的生效测试,所述分布式***基础架构HADOOP是依赖于所述JAVA的语言软件开发工具包JDK运行的。
可选地,任务划分单元还用于:使用textFile方法,从所述分布式***基础架构HADOOP的分布式文件***hdfs中读取渠道数据,或使用textFile方法,按照配置的数据源地址,从数据源读取渠道数据;获取所有读取的数据的产生时间,从中获取产生时间位于最近一周内的所述历史渠道数据。
可选地,任务划分单元还用于:采用计算引擎Spark将所述历史渠道数据划分为多批数据,然后生成并编排所述历史渠道数据的离线任务。
可选地,任务划分单元还用于:采用计算引擎Spark对所述历史渠道数据按照时间段进行划分,得到多份历史数据,并为多份历史数据创建多个离线任务,然后建立离线任务之间的关联,其中,划分得到的每份历史数据对应于多个时间段中的一个,任意两份历史数据对应的时间段不同,创建的多个离线任务中的每个离线任务用于处理一份历史数据,任意两个离线任务所处理的历史数据不同;采用计算引擎Spark对所述历史渠道数据按照数据类型进行划分,得到多份历史数据,并为多份历史数据创建多个离线任务,然后建立离线任务之间的关联,其中,划分得到的每份历史数据对应于多个数据类型中的一个,任意两份历史数据对应的数据类型不同;采用计算引擎Spark对所述历史渠道数据按照数据量进行划分,得到多份数据量相同的历史数据,并为多份历史数据创建多个离线任务,然后建立离线任务之间的关联;采用计算引擎Spark对所述历史渠道数据按照数据源进行划分,得到多份历史数据,并为多份历史数据创建多个离线任务,然后建立离线任务之间的关联,其中,划分得到的每份历史数据对应于多个数据源中的一个,任意两份历史数据对应的数据源不同;采用计算引擎Spark对所述历史渠道数据进行随机划分,得到多份历史数据,并为多份历史数据创建多个离线任务,然后建立离线任务之间的关联。
可选地,本实施例中的具体示例可以参考上述实施例中所描述的示例,本实施例在此不再赘述。
可选地,在本实施例中,上述存储介质可以包括但不限于:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
上述本申请实施例序号仅仅为了描述,不代表实施例的优劣。
上述实施例中的集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在上述计算机可读取的存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在存储介质中,包括若干指令用以使得一台或多台计算机设备(可为个人计算机、服务器或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。
在本申请的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
在本申请所提供的几个实施例中,应该理解到,所揭露的客户端,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个***,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
以上所述仅是本申请的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本申请的保护范围。
Claims (10)
1.一种离线任务的处理方法,其特征在于,包括:
获取预设时间周期内的历史渠道数据,采用计算引擎Spark对所述历史渠道数据进行划分,然后生成并编排所述历史渠道数据的离线任务;
采用批处理调度器Azkaban对所述离线任务进行任务调度。
2.根据权利要求1所述的方法,其特征在于,在获取预设时间周期内的历史渠道数据之前,所述方法还包括:
在本地配置所述计算引擎Spark的运行环境,并将所述计算引擎Spark的master主节点配置为yarn模式。
3.根据权利要求1所述的方法,其特征在于,在获取预设时间周期内的历史渠道数据之前,所述方法还包括:
安装JAVA的语言软件开发工具包JDK,然后配置JAVA环境变量,其中,所述JAVA环境变量包括JAVA的JAVA_HOME配置和用于记录项目编译环境的所有信息的CLASSPATH文件,所述所有信息包括:源文件路径、编译后class文件存放路径、依赖的JAR包路径、运行的容器信息以及依赖的外部项目信息;
配置分布式***基础架构HADOOP的环境变量,其中,所述HADOOP的环境变量包括进入HADOOP的根目录配置HADOOP_HOME、配置HADOOP_CONF_DIR、配置路径PATH、进行源文件source的更新并进行环境变量的生效测试,所述分布式***基础架构HADOOP是依赖于所述JAVA的语言软件开发工具包JDK运行的。
4.根据权利要求1所述的方法,其特征在于,获取预设时间周期内的历史渠道数据,包括:
使用textFile方法,从分布式***基础架构HADOOP的分布式文件***hdfs中读取渠道数据,或使用textFile方法,按照配置的数据源地址,从数据源读取渠道数据;
获取所有读取的数据的产生时间,从中获取产生时间位于最近一周内的所述历史渠道数据。
5.根据权利要求1所述的方法,其特征在于,采用计算引擎Spark对所述历史渠道数据进行划分,然后生成并编排所述历史渠道数据的离线任务,包括:
采用计算引擎Spark将所述历史渠道数据划分为多批数据,然后生成并编排所述历史渠道数据的离线任务。
6.根据权利要求5所述的方法,其特征在于,采用计算引擎Spark将所述历史渠道数据划分为多批数据,并生成所述历史渠道数据的离线任务,包括以下之一:
采用计算引擎Spark对所述历史渠道数据按照时间段进行划分,得到多份历史数据,并为多份历史数据创建多个离线任务,然后建立离线任务之间的关联,其中,划分得到的每份历史数据对应于多个时间段中的一个,任意两份历史数据对应的时间段不同,创建的多个离线任务中的每个离线任务用于处理一份历史数据,任意两个离线任务所处理的历史数据不同;
采用计算引擎Spark对所述历史渠道数据按照数据类型进行划分,得到多份历史数据,并为多份历史数据创建多个离线任务,然后建立离线任务之间的关联,其中,划分得到的每份历史数据对应于多个数据类型中的一个,任意两份历史数据对应的数据类型不同;
采用计算引擎Spark对所述历史渠道数据按照数据量进行划分,得到多份数据量相同的历史数据,并为多份历史数据创建多个离线任务,然后建立离线任务之间的关联;
采用计算引擎Spark对所述历史渠道数据按照数据源进行划分,得到多份历史数据,并为多份历史数据创建多个离线任务,然后建立离线任务之间的关联,其中,划分得到的每份历史数据对应于多个数据源中的一个,任意两份历史数据对应的数据源不同。
7.根据权利要求5所述的方法,其特征在于,采用计算引擎Spark将所述历史渠道数据划分为多批数据,并生成所述历史渠道数据的离线任务,包括:
采用计算引擎Spark对所述历史渠道数据进行随机划分,得到多份历史数据,并为多份历史数据创建多个离线任务,然后建立离线任务之间的关联。
8.一种离线任务的处理装置,其特征在于,包括:
任务划分单元,用于获取预设时间周期内的历史渠道数据,采用计算引擎Spark对所述历史渠道数据进行划分,然后生成并编排所述历史渠道数据的离线任务;
任务调度单元,用于采用批处理调度器Azkaban对所述离线任务进行任务调度。
9.一种存储介质,其特征在于,所述存储介质包括存储的程序,其中,所述程序运行时执行上述权利要求1至7任一项中所述的方法。
10.一种电子装置,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器通过所述计算机程序执行上述权利要求1至7任一项中所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111609393.2A CN114327820A (zh) | 2021-12-27 | 2021-12-27 | 离线任务的处理方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111609393.2A CN114327820A (zh) | 2021-12-27 | 2021-12-27 | 离线任务的处理方法和装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114327820A true CN114327820A (zh) | 2022-04-12 |
Family
ID=81012450
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111609393.2A Pending CN114327820A (zh) | 2021-12-27 | 2021-12-27 | 离线任务的处理方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114327820A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115686867A (zh) * | 2022-11-30 | 2023-02-03 | 北京市大数据中心 | 一种基于云计算的数据挖掘方法、装置、***、设备以及介质 |
-
2021
- 2021-12-27 CN CN202111609393.2A patent/CN114327820A/zh active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115686867A (zh) * | 2022-11-30 | 2023-02-03 | 北京市大数据中心 | 一种基于云计算的数据挖掘方法、装置、***、设备以及介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107577475B (zh) | 一种数据中心集群***的软件包管理方法及*** | |
US7823023B2 (en) | Test framework for testing an application | |
CN103795759B (zh) | 一种虚拟机镜像文件的调度方法和*** | |
CN107451147B (zh) | 一种kafka集群动态切换的方法和装置 | |
US20120203823A1 (en) | Apparatus, systems and methods for deployment and management of distributed computing systems and applications | |
CN104750555B (zh) | 一种Android程序中的进程管理方法和装置 | |
CN103580908A (zh) | 服务器的配置方法及*** | |
CN103067501B (zh) | PaaS平台的大数据处理方法 | |
CN111026723B (zh) | 大数据集群管理控制方法、装置、计算机设备及存储介质 | |
CN103034540A (zh) | 分布式消息***及其设备和协调方法 | |
CN113220431A (zh) | 跨云的分布式数据任务调度方法、设备及存储介质 | |
CN103034541A (zh) | 一种分布式消息***及其中的设备和方法 | |
CN114721809A (zh) | 一种kubernetes集群的应用部署方法及装置 | |
CN114064213A (zh) | 基于Kubernets容器环境的快速编排服务方法及*** | |
CN105553732B (zh) | 一种分布式网络模拟方法及*** | |
CN107465709A (zh) | 分布式镜像构建任务方法及装置、*** | |
CN114327820A (zh) | 离线任务的处理方法和装置 | |
CN109597627A (zh) | 一种组件安装方法、装置、存储介质和处理器 | |
CN107493200B (zh) | 一种光盘镜像文件的创建方法、虚拟机部署方法及装置 | |
WO2023160418A1 (zh) | 资源处理方法及资源调度方法 | |
US9176974B1 (en) | Low priority, multi-pass, server file discovery and management | |
CN112181644B (zh) | 用于机器学习组件Jupyter跨域的方法、***及装置 | |
CN115016862A (zh) | 基于Kubernetes集群的软件启动方法、装置、服务器及存储介质 | |
CN114500268A (zh) | chart资源的部署方法、装置、服务器及存储介质 | |
CN115454572A (zh) | 基于Docker工具构建虚拟机磁盘镜像的方法及*** |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |