GATK官方文档翻译--Spark

原文所在链接:Spark

Spark

简而言之,Spark是GATK4用来实现多线程的一种软件,是一种允许一台计算机(或计算机集群)尽快完成任务的并行化形式。你可以在这里阅读有关GATK中多线程、并行性的更多信息。

Spark软件库是开源的,由Apache Software Foundation维护。在计算机行业中,Spark应用非常广泛,是加速分析流程执行速度的最有前景的技术之一。

不是所有的GATK工具都使用Spark

那些可以使用Spark的工具,通常会在他们各自的工具文档中注明使用Spark的效果。

-->一些GATK工具存在支持Spark环境、不支持Spark环境的不同版本

      对于“sparkified”版本,在他们的名称末尾会带有后缀“Spark”。

      这些版本中的许多部分仍是实验性的,我们计划整合他们,以便每个工具只有一个版本。

-->一些GATK工具只存在支持Spark的版本中

       这些工具的名称中没有"Spark"后缀。

你不需要Spark集群来运行支持Spark的GATK工具

如果你正在使用多核CPU的“普通”计算机(即使只是一台笔记本电脑),GATK引擎仍然可以使用Spark来创建虚拟独立集群,并将这个集群部署支持多核CPU的机器上,利用机器的多核可用这一特性。(所用CPU核数可以由你来指定,也可以将全部可用的CPU均分配使用起来)。请参阅下面给出的示例参数、本地Spark教程来获取有关如何控制CPU核数选择的更多信息。如果你的机器只有一个核,这些工具可以始终以单核的模式运行--只是,他们需要花费更长的时间才能完成同等的工作。

需要清楚的一点是,虽然只支持Spark环境下运行的工具可以在常规机器上运行,但实际上,他们中的一些可能会运行地非常慢(SV 工具和PathSeq)。有关特定工具的说明,请参阅工具文档。

如果你有权访问Spark集群,只支持Spark环境下运行的工具将会非常开心,但是你可能需要提供一些额外的参数才能有效地使用他们。有关更多信息,请参阅cluster-Spark教程。

示例命令行参数

以下是一些示例参数,你将需要为支持Spark的GATK工具设定的:

    --sparkMaster local[*]   //使用所有核心在本地机器上运行

    --sparkMaster local[2]   //使用两个核心在本地机器上运行

    --sparkMaster spark://23.195.26.187:7077  //在集群23.195.26.187的端口7077处运行

    --sparkRunner GCS --cluster my_cluster   //在Google Dataproc的my_cluster上运行

不需要安装任何其他的软件就可以在GATK中使用Spark

所有使用Spark时,无论是在本地计算机还是一个Spark集群上使用Spark,所必须的软件都捆绑在了GATK本身内。只要确保使用gatk包装器调用GATK,而不是直接调用jar包就可以调用的,因为包装器会选择合适的jar文件(这里有两个!),并且会为你设置一些参数。







猜你喜欢

转载自blog.csdn.net/orange_612/article/details/79363585