MaxCompute分布式计算如何提升基因大数据处理速率?

简介: 在2016杭州云栖大会首日,来自华大基因的基因组学数据专家黄树嘉在大数据专场分享了《基于数加MaxCompute的极速全基因组数据分析》,他主要从全基因组测序的背景与原理、传统单机分析流程的挑战、基于MaxCompute的方案三个方面进行了分享,详细介绍了华大基因运用阿里云处理海量的实践。

在2016杭州云栖大会首日,来自华大基因的基因组学数据专家黄树嘉在大数据专场分享了《基于数加MaxCompute的极速全基因组数据分析》,他主要从全基因组测序的背景与原理、传统单机分析流程的挑战、基于MaxCompute的方案三个方面进行了分享,详细介绍了华大基因运用阿里云处理海量的实践。

以下内容根据演讲PPT及现场分享整理。


什么是基因

90e3f73ea02f387191c9817b295485b440a5f462

基因是生命的基本因素,是人类和其他生物的基础遗传物质。细胞内有染色体,染色体是由一个一个的DNA碱基组成的,这些DNA碱基表现出来的是一个个的字符串。人共有23对染色体,有30亿个碱基对,我们在处理的过程中可以把它看作30亿量级的字符串。一个人拥有这么大的数据量,我们在对其进行解读的时候,为了保证数据的准确性,需要有几十层数据的解读。30亿个碱基对多么重要?一个人生老病死、健康与否的信息都会存储在基因中,所以,所进行的关于健康数据的研究是更直接的、更加面向这个人的本质。

什么是基因测序

如何获得细胞里面的数据?获得基因数据需要有一定的专用仪器,通过物理或者化学的相应方法,把处于细胞中的相应数据读取出来、数字化,我们才能对其进行相应的解读。

基因数据

77b2f721e1ed80fb0174427747319f94076858fa

为什么基因数据的数据量非常大?从上图中可以看出,我们的基因数据不仅仅是来自细胞核中的基因组,其还包括转录组、表现组(比如肠道卫生基因组、表观基因组等)、宏基因组等。这些数据加起来大约会有10T的数量级。基因数据的分析过程包括:测序,即从化学信号转为数字信号;数据记录成相应的数据格式;解读、比对、数据分析,以此来知道这个人为什么会如此的不同?为什么容易患病?为什么能够千杯不倒?为什么代谢咖啡的速度会特别快?最终形成数据报告。

传统单机分析流程的挑战

挑战1:流程繁杂,标准难统一

由于基因行业是一个比较新的行业,各个企业的标准难以统一。在分析过程中,会有很多步骤,而且每个步骤都会包含很多分析脚本,系统命令和外部工具,工具要被反复手动部署到计算集群,导致分析流程变得比较繁杂。随着基因组测序成本的降低,其测序的数据量不断提升,这种低效的方法已经阻碍了基因行业的发展。

挑战2:命令行操作、交互性差

c2f0ea60b8a06416cd5634a23eeb735266fafab2

繁杂的命令行操作导致了交互性能的低下。

挑战3:时间长

b82e933c6b08f1bb5f9e4a0e4ab88c16d50da24a

最致命的问题是分析时间过长。目前最先进的测序仪每一次测序的数据产量是1.5TB(大约为150人的数据量),并且产出这些数据的时间为3.5天。用传统的HPC集群进行分析的话,基本需要3天的时间来分析一个人的数据,而单个节点的话则需要5.8天的时间。由此可以看出,数据解读的效率远远跟不上数据的产出速度,这就为精准医疗后续的发展带来了极大的挑战。因为精准医疗就是要精准到个人的个性化用药,每个人的所有性状信息只有通过基因数据的分析才能做到个性化医疗。

基于MaxCompute的方案

如何及时的把这么多的数据解读出来,是现如今面临的挑战。为了解决上述挑战,提出了基于MaxCompute的解决方案。

MaxCompute分布式计算

4ebb3b44047ad8e4882765352fe2ee2068e90889

把最常用的基因组的解读放在了MaxCompute上部署,这个过程与单机部署的过程完全不一样。此过程需要把产出数据到得到最终结果的过程中的每一步利用MaxCompute的思维将其分散出去,然后把如何去并行、如何加快有效速度在过程中呈现出来。

加速情形

搭建出这个流程之后,一个人的基因数据总共测了52层(即测试了52倍,大约为120G的数据量),该测试基本在3个小时之内就完成了分析,比单机提升50+倍,比HPC集群提升25+倍,比Hadoop集群提升6+倍。

群体测试

实际上,在基因解析的过程中,是多人同时分析的。每个人都是属于一定的群体的,我们要更好的解读这个人,就必须放在对应的群体中,而且基因组数据只有你将人放在群体中来分析才能够更加准确、更具有表达力。从华大数据中抽取了50个人的基因进行测试,整个测试分解为两大步骤、七万多任务量的提交,只消耗了41.5个小时就完成了50个人的整体基因组的分析,平均每个人只需要花费50分钟进行测试。

7f94d07205f8f56c6b2109e1af023b791c04f9e8

为什么单个人需要3个小时,50个人反而是41个小时而不是150个小时?在人群中分析基因组数据时,很多中间的步骤其实可以分散出去,最后并不需要每个人一个一个的去读取,而是群体分析数据情况,因此,时间状态总的来讲是缩短了。如果人数由50人加到更多的话,每个人的平均测试时间可以进一步的降低。

总的来说,50个人处理的数据量大约为2T,最终解读出来的有意义的数据量是21G,这样就实现了从海量计算,从原始数据到精确数据的变异。

相关实践学习
简单用户画像分析
本场景主要介绍基于海量日志数据进行简单用户画像分析为背景,如何通过使用DataWorks完成数据采集 、加工数据、配置数据质量监控和数据可视化展现等任务。
SaaS 模式云数据仓库必修课
本课程由阿里云开发者社区和阿里云大数据团队共同出品,是SaaS模式云原生数据仓库领导者MaxCompute核心课程。本课程由阿里云资深产品和技术专家们从概念到方法,从场景到实践,体系化的将阿里巴巴飞天大数据平台10多年的经过验证的方法与实践深入浅出的讲给开发者们。帮助大数据开发者快速了解并掌握SaaS模式的云原生的数据仓库,助力开发者学习了解先进的技术栈,并能在实际业务中敏捷的进行大数据分析,赋能企业业务。 通过本课程可以了解SaaS模式云原生数据仓库领导者MaxCompute核心功能及典型适用场景,可应用MaxCompute实现数仓搭建,快速进行大数据分析。适合大数据工程师、大数据分析师 大量数据需要处理、存储和管理,需要搭建数据仓库?学它! 没有足够人员和经验来运维大数据平台,不想自建IDC买机器,需要免运维的大数据平台?会SQL就等于会大数据?学它! 想知道大数据用得对不对,想用更少的钱得到持续演进的数仓能力?获得极致弹性的计算资源和更好的性能,以及持续保护数据安全的生产环境?学它! 想要获得灵活的分析能力,快速洞察数据规律特征?想要兼得数据湖的灵活性与数据仓库的成长性?学它! 出品人:阿里云大数据产品及研发团队专家 产品 MaxCompute 官网 https://www.aliyun.com/product/odps 
相关文章
|
14天前
|
分布式计算 DataWorks 大数据
MaxCompute产品使用合集之大数据计算MaxCompute如何实现通过离线同步脚本模式
MaxCompute作为一款全面的大数据处理平台,广泛应用于各类大数据分析、数据挖掘、BI及机器学习场景。掌握其核心功能、熟练操作流程、遵循最佳实践,可以帮助用户高效、安全地管理和利用海量数据。以下是一个关于MaxCompute产品使用的合集,涵盖了其核心功能、应用场景、操作流程以及最佳实践等内容。
|
14天前
|
机器学习/深度学习 分布式计算 大数据
MaxCompute产品使用合集之大数据计算MaxCompute是否支持直接在多个节点之间进行批量复制
MaxCompute作为一款全面的大数据处理平台,广泛应用于各类大数据分析、数据挖掘、BI及机器学习场景。掌握其核心功能、熟练操作流程、遵循最佳实践,可以帮助用户高效、安全地管理和利用海量数据。以下是一个关于MaxCompute产品使用的合集,涵盖了其核心功能、应用场景、操作流程以及最佳实践等内容。
MaxCompute产品使用合集之大数据计算MaxCompute是否支持直接在多个节点之间进行批量复制
|
14天前
|
分布式计算 运维 DataWorks
MaxCompute产品使用合集之大数据计算MaxCompute对于某个特定表该怎么获取,特定分区的instances id
MaxCompute作为一款全面的大数据处理平台,广泛应用于各类大数据分析、数据挖掘、BI及机器学习场景。掌握其核心功能、熟练操作流程、遵循最佳实践,可以帮助用户高效、安全地管理和利用海量数据。以下是一个关于MaxCompute产品使用的合集,涵盖了其核心功能、应用场景、操作流程以及最佳实践等内容。
|
14天前
|
SQL 分布式计算 大数据
MaxCompute产品使用合集之怎样可以将大数据计算MaxCompute表的数据可以导出为本地文件
MaxCompute作为一款全面的大数据处理平台,广泛应用于各类大数据分析、数据挖掘、BI及机器学习场景。掌握其核心功能、熟练操作流程、遵循最佳实践,可以帮助用户高效、安全地管理和利用海量数据。以下是一个关于MaxCompute产品使用的合集,涵盖了其核心功能、应用场景、操作流程以及最佳实践等内容。
|
14天前
|
SQL 数据采集 分布式计算
MaxCompute产品使用合集之大数据计算MaxCompute的PyODPS API相比ODPSSQL那个数据清洗的效率高
MaxCompute作为一款全面的大数据处理平台,广泛应用于各类大数据分析、数据挖掘、BI及机器学习场景。掌握其核心功能、熟练操作流程、遵循最佳实践,可以帮助用户高效、安全地管理和利用海量数据。以下是一个关于MaxCompute产品使用的合集,涵盖了其核心功能、应用场景、操作流程以及最佳实践等内容。
|
13天前
|
分布式计算 DataWorks 数据管理
DataWorks操作报错合集之DataWorks中udf开发完后,本地和在MaxCompute的工作区可以执行函数查询,但是在datawork里报错FAILED: ODPS-0130071:[2,5],是什么原因
DataWorks是阿里云提供的一站式大数据开发与治理平台,支持数据集成、数据开发、数据服务、数据质量管理、数据安全管理等全流程数据处理。在使用DataWorks过程中,可能会遇到各种操作报错。以下是一些常见的报错情况及其可能的原因和解决方法。
26 0
|
13天前
|
分布式计算 DataWorks 关系型数据库
DataWorks产品使用合集之在DataWorks中,使用JSON解析函数将MySQL表中的字段解析成多个字段将这些字段写入到ODPS(MaxCompute)中如何解决
DataWorks作为一站式的数据开发与治理平台,提供了从数据采集、清洗、开发、调度、服务化、质量监控到安全管理的全套解决方案,帮助企业构建高效、规范、安全的大数据处理体系。以下是对DataWorks产品使用合集的概述,涵盖数据处理的各个环节。
27 3
|
14天前
|
分布式计算 大数据 调度
MaxCompute产品使用合集之大数据计算MaxCompute底层加速查询的原理是什么
MaxCompute作为一款全面的大数据处理平台,广泛应用于各类大数据分析、数据挖掘、BI及机器学习场景。掌握其核心功能、熟练操作流程、遵循最佳实践,可以帮助用户高效、安全地管理和利用海量数据。以下是一个关于MaxCompute产品使用的合集,涵盖了其核心功能、应用场景、操作流程以及最佳实践等内容。
|
14天前
|
SQL 分布式计算 运维
MaxCompute产品使用合集之在大数据计算MaxCompute中,怎么查看工作空间中正在运行的查询和任务
MaxCompute作为一款全面的大数据处理平台,广泛应用于各类大数据分析、数据挖掘、BI及机器学习场景。掌握其核心功能、熟练操作流程、遵循最佳实践,可以帮助用户高效、安全地管理和利用海量数据。以下是一个关于MaxCompute产品使用的合集,涵盖了其核心功能、应用场景、操作流程以及最佳实践等内容。
|
14天前
|
SQL 机器学习/深度学习 分布式计算
MaxCompute产品使用合集之大数据计算MaxCompute是否支持递归
MaxCompute作为一款全面的大数据处理平台,广泛应用于各类大数据分析、数据挖掘、BI及机器学习场景。掌握其核心功能、熟练操作流程、遵循最佳实践,可以帮助用户高效、安全地管理和利用海量数据。以下是一个关于MaxCompute产品使用的合集,涵盖了其核心功能、应用场景、操作流程以及最佳实践等内容。

热门文章

最新文章

相关产品

  • 云原生大数据计算服务 MaxCompute