Achelous 运行Spark 程序

Spark 计算框架与生物信息学

Spark Logo

当计算规模较大的情况下,对整体计算的拆分可以有效增加计算资源利用率。尤其是Spark框架,作为目前较为主流的分布式计算框架,在生物信息领域得到了越来越多的应用。 但是相比Linux 交互式作业,Spark计算框架需要较多的配置。因此在使用和作业管理上对生物信息人员并不友好。Achelous通过对Spark框架的整合,可以使生物信息分析者,通过有限的配置完成Spark框架作业的投递、管理和开发等工作,从而降低了使用门槛,和开发障碍。

用户可以通过Achelous 平台运行 GATK-Spark任务中的实例,了解如何运行Spark程序。

Achelous 对Spark 计算框架的完美支持

Achelous 既能支持批量计算,也能支持Spark 计算。以基因计算的GATK4 为例,它的某些阶段调用了Spark 框架进行处理。

Achelous 支持用户的WDL 的任意Task 都可以使用Spark,且能够在同一个Workflow 中混合使用批量计算和Spark。

  1. 由于Gatk4 的Spark 需要使用HDFS,系统管理员需要部署HDFS 文件系统或者使用已经部署好的HDFS 文件系统。添加一个新的计算集群:
  2. 用户可以使用极道的DataMover 在存储和HDFS 之间传输数据,可以使用vol@cluster的方式在同一个Task 中混合使用共享存储和HDFS。Achelous 将做合适的路径转换和自动挂载。
  3. 对于Spark 任务,需要在Task 中设置合适的runtime 属性,例如:其中SparkExecutorURI 指定用户自己的Spark 的binary 的存放位置,需要在HDFS 中。UseXtaoSparkScheduler 选项将自动设置SparkMaster 到极道的环境,用户无需进行复杂的配置。

简化Spark集群搭建以及维护工作

一般生信开发人员可以通过将直接编写 WDL 使用Spark应用,高阶用户也可以通过Python、R、Scala等语言,自行开发应用。

应用实例

项目 说明 项目地址
GATK4-Spark GATK4内嵌了Spark运行模式,目前Achelous平台可以支持其完美运行。项目支持 Fastq 到 vcf的整体流程,也支持部分步骤的Spark模式运行(如传统BWA 、 MarkDuplicates等步骤) https://github.com/broadinstitute/gatk
SparkBlast 待测试 https://github.com/sparkblastproject/v2
  • 更多Spark框架的生信应用,可参考:

https://www.ncbi.nlm.nih.gov/pmc/articles/PMC6113509/

Powered by XTAO TechnologyLast Modified On:2021 2023-03-24 09:05:11

results matching ""

    No results matching ""