[发明专利]一种自适应低延迟内存计算引擎的数据分析方法有效
申请号: | 202010548158.8 | 申请日: | 2020-06-16 |
公开(公告)号: | CN111736907B | 公开(公告)日: | 2022-08-02 |
发明(设计)人: | 陈琳;崔岭峰;黄杰 | 申请(专利权)人: | 湖南省星岳天璇科技有限公司 |
主分类号: | G06F9/4401 | 分类号: | G06F9/4401;G06F9/50;G06F11/30;G06F16/242;G06F16/25 |
代理公司: | 湖南兆弘专利事务所(普通合伙) 43008 | 代理人: | 周长清;邹大坚 |
地址: | 410205 湖南省长沙市高新开发区*** | 国省代码: | 湖南;43 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 自适应 延迟 内存 计算 引擎 数据 分析 方法 | ||
1.一种自适应低延迟内存计算引擎的数据分析方法,其特征在于,步骤包括:
步骤S1:定义Spark服务启动相关的参数;
步骤S2:在数据平台上集成一次启动处理过程;在首次启动时,向Hadoop集群提交Spark任务运行请求,申请硬件资源容器;向Spark内部注册进度监听器HKSparkListener;启动内部网络服务端用于接收通过JDBC接口提交的SQL查询请求及控制命令的处理;启动JDBC接口解析器负责解析所有的SQL语句;向JVM注册关机钩子负责JVM退出时的清理工作,至此该程序启动结束;
步骤S3:在进行SQL通信请求时,大数据平台上集成的Spark驱动客户端通过JDBC接口发起SQL查询请求;解析请求并发送到Hadoop集群中的Spark引擎;收到Spark引擎执行结束响应;如果synchFlag参数为true,则一直等待执行结束返回查询结果集,本次查询结束;对应synchFlag参数为false的情况则立即返回;当本Spark驱动收到Spark引擎的onJobEnd回调请求后通知调用的客户端查询结束并带上结果集一起返回,本次查询结束;当本Spark驱动收到Spark驱动客户端的进度查询请求时,本Spark驱动根据内部存储的jobIdMap容器中与querykey对应的任务进度信息进行查询,如果本次SQL查询请求已执行结束则带上结果集返回给客户端,本次查询结束;否则,循环本步骤直到本次查询结束;
步骤S4:当收到Spark驱动客户端的停止控制命令时,停止Spark的容器进程。
2.根据权利要求1所述的自适应低延迟内存计算引擎的数据分析方法,其特征在于,在所述步骤S1中,包括:
步骤S101:配置代理服务描述如下:
c_AgentServer={agent.server.host,agent.server.port}为代理服务主机和端口集合;
c_AgentKeepAliveSql={agent.keepal ive.sql}为监控Spark context环境有效性保活SQL参数;
c_AgentKeepAliveInterval={agent.keepal ive.interval.second}为检测SQL间隔参数;
步骤S102:配置SQLService服务描述如下:
c_SqlBatchReturn={sql.batch.return.max}为接口最大返回结果数配置参数;
c_SqlTmp={sql.tmp.db_database,sql.tmp.database,sql.tmp.table.prefix,sql.spark.register.tmp.table.prefix,sql.tmp.table.timeout.second,sql.tmp.table.stored,sql.tmp.table.compression}为临时表前缀、临时表清空时间、临时表存储方式、临时表压缩方式参数;
步骤S103:配置Spark任务提交相关参数描述如下:
c_SparkDriver={spark.driver.enable,spark.driver.pid,spark.driver.nohup.file}为所述方法的启用标志,pid文件名,nohup输入文件名参数;
c_SparkSubmit={spark.submit.user,spark.submit.dir,spark.submit.class,spark.submit.master,spark.submit.runjar}为运行用户、服务根目录、运行主类名、集群模式、运行jar包参数;
步骤S104:配置初始化Spark任务相关性能参数描述如下:
c_SparkExecutor={spark.executor.instances,spark.executor.cores,spark.executor.memory}为executor实例数、单个executor所在CPU核数、executor占用内存参数;
c_SparkDefault={spark.default.parallelism}为并行度配置参数;
c_SparkDriver={spark.driver.memeory}为配置Driver占用内存参数;
c_SparkStorage={spark.storage.memoryFraction}为存储内存占比参数;
c_SparkShuffle={spark.shuffle.memoryFraction}为shuffle阶段内存占比参数;
步骤S105:根据步骤S101-步骤S104中的参数动态生成Spark的启动命令参数DRIVER_RUN_CMD。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于湖南省星岳天璇科技有限公司,未经湖南省星岳天璇科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202010548158.8/1.html,转载请声明来源钻瓜专利网。