Spark作为ETL工具与SequoiaDB的结合应用

本文介绍了如何将Spark作为ETL工具应用于SequoiaDB,详细阐述了Spark环境搭建、配置过程,以及在SequoiaDB上的数据处理流程和性能结果。Spark与SequoiaDB的结合提供了高效的数据处理能力,适用于大数据应用中的数据加工分析。
摘要由CSDN通过智能技术生成

一、前言

ETL一词较常用于数据仓库,但其对象并不仅限于数据仓库。ETL是指将数据从源系统中经过抽取(Extract)、转换(Transform)、加载(Load)到目标数据存储区的过程。常见的ETL工具有Oracle Data IntegratorInformatica PowerCenterDataStageKettleDataSprider等。

在大数据应用中,海量的数据及对潜在应用的支持是非常重要的方面,并体现出与传统应用开发的巨大不同。因此,在选择合适的ETL工具时除了需要考虑数据处理的正确性完整性、工具易用性对不同数据格式的支持程度之外还必须考虑数据处理的效率、处理能力的可扩展、容错性。

Spark是UC Berkeley AMP lab开源的类Hadoop MapReduce的通用的并行计算框架,是一个新兴的大数据处理引擎,主要特点是提供了一个集群的分布式内存抽象。与Hadoop相比,Spark将中间数据放在内存中,避免频繁写盘,因此效率更高,更适合于迭代计算;在操作类型、开发语言支持上更丰富;在分布式数据集计算时通过checkpoint来实现容错。而且,由于Spark的分布式特性,处理能力的扩展更容易,也更经济。因此,从整体上,Spark作为ETL工具能帮助企业实现技术和财务的双赢。

SequoiaDB是新一代NewSQL数据库,是文档型分布式数据的典型代表。SequoiaDB企业版通过深度集成最新的Spark内存计算框架,实现了批处理分析、流处理等贴近应用的功能。存储层和计算层两层分离的架构,技术互补,是硅谷大数据新架构的主流,将分布式计算与分布式存储的能力分别发挥到了极致。在Spark最新版本中,SparkSQL对标准SQL的支持也越来越完善,更加体现出Spark产品的成熟。因此,在SequoiaDB应用中,利用Spark进行数据加工分析是理想之选。


二、功能概述


作为ETL工具,必须具备多样数据源的支持,比如HDFSHBaseAmazon S3MongoDB等。在这一点上,Spark支持跟多种数据源的对接,常见的数据源包括HDFSCassandraHBaseHiveALLUXIO(即Tachyon)、Amazon S3Spark也能从全文检索工具Elasticsearch中读写数据。Spark作为ETL工具能满足工具功能通用性的要求。

SparkETL处理的数据流图如图一所示:

图片1.jpg 

图一 SparkETL数据流图


在以上数据流图中,可以将存储于HDFSCassandra等系统中的存量数据通过Spark提供的接口抽到Spark中,利用Spark的快速处理能力进行处理,比如数据去重、更新,最后将结构数据存储到巨杉数据库中。整个处理过程中,不需要将数据以数据文件的形式存盘,加快了处理速度。

对于已存储到巨杉数据库中的数据,也可以在Spark中处理,并将处理后的数据落到库中。


三、环境搭建


3.1 Spark环境搭建

Spark运行模式包括StandaloneSpark on YARNSpark on Mesos。三种模式的主要区别在于使用的资源管理调度工具不一样。这里以Standalone模式为例进行说明。

在部署之前,将需要部署Spark的机器两两之间的信任关系配置好,并根据Spark版本对JDK版本的需求安装配置好JDK。然后就可以开始安装Spark

首先,从Spark官网获取最新版本的Spark安装文件。下载完成后将其解压到目标文件夹。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值