参考答案和解析
正确答案:
答:
Staging的意思就是将数据写到磁盘上。出于安全及ETL能方便重新开始,在数据准备区(Staging Area)中的每个步骤中都应该将数据写到磁盘上,即生成文本文件或者将建立关系表保存数据,而不应该以数据不落地方式直接进行ETL。
例如,在数据抽取阶段,我们需要连接到源系统,为了对源系统的影响尽量小,我们需要将抽取的数据保存成文本文件或者放入数据准备区的表中,这样,当ETL过程出现错误而失败时,我们就可以从这些文本文件开始ETL,而不需要再次影响源系统。
更多“When should data be set to disk for safekeeping during the ETL?简述ETL过程中哪个步骤应 ”相关问题
  • 第1题:

    Describe how to estimate the load time of a large ETL job.

    Real Time ETL

    简述如何评估大型ETL数据加载时间。


    正确答案:
    答:评估一个大型的ETL的数据加载时间是一件很复杂的事情。数据加载分为两类,一类是初次加载,另一类是增量加载。
    在数据仓库正式投入使用时,需要进行一次初次加载,而这次初次加载需要的时间一般较难预料。在数据仓库的日常使用和维护中,每天需要对数据仓库进行增量加载。增量加载的数据量要比初次加载小很多。
    下面以初次加载为例来谈谈如何评估大型ETL的数据加载时间。
    对初次加载的加载时间进行预估,需要将整个ETL过程分成抽取、转换和加载三部分,分别对这三部分进行评估。
    1.对抽取时间的评估。
    抽取通常占用的ETL的大部分时间,而且对这部分需要时间的评估也是非常困难的。为了对这部分时间进行评估,我们可以将查询时间分成两部分,一部分是查询响应时间,另一部分是数据返回时间。查询响应时间指从查询开始执行到结果开始返回这段时间。数据返回时间指第一条记录返回到最后一条记录返回的时间。
    另外,初次加载的数据量太大,我们可以考虑选择其中的一部分来评估整体的时间,实际处理中,可以选择事实表的一个分区。一般来说各个分区的数据量差不多,评估出一个分区的时间,乘上分区数可以作为整体的评估时间。
    2.对数据转换时间的评估
    数据转换工作通常在内存中完成,一般来说都有着非常快的速度,占总体时间的比重比较小。如果要评估这部分需要的时间的话,最简单的评估方法是先评估出抽取时间和加载时间,然后运行整个过程,用整体时间减去抽取时间和加载时间。
    3.对加载时间的评估
    很多原因都可能影响加载时间,其中最重要的两个分别是索引和日志。
    对加载时间的评估,也可以像评估抽取时间时一样,选择加载数据的一部分,如1/200进行加载,计算出时间后乘以200来作为整体加载时间。
    总之,大型ETL数据的加载时间的评估是很困难的,我们采用的方法主要是类比评估,即选择一部分数据减少整体时间进行评估。在进行评估时要注意到测试环境和生产环境的配置等的差别会引起评估结果的偏差。虽然这种对时间的评估一定会有误差,但是可以做为整体加载时间的一个参考。

  • 第2题:

    Outline some challenges faced by real-time ETL and describe how to overcome them.

    简述实时ETL的一些难点及其解决办法。


    正确答案:
    答:实时ETL的引入给数据仓库的建设带来了很多新的问题和挑战,下面列举了一些问题,其中有些问题有具体的解决办法,有些只能在实际情况下去斟酌。
    1.连续的ETL处理对系统可靠性提出更高的要求。
    2.离散快照数据的间隔时间变短。
    3.缓慢变化维变成快速变化维。
    4.如何确定数据仓库中数据的刷新频率。
    5.目的是只出报表还是要实现数据整合。
    6.做数据整合还是应用整合。
    7.采用点对点的方式还是集中的方式。
    8.前端展现工具的数据刷新方式如何确定。

  • 第3题:

    数据仓库的数据ETL过程中,ETL分别是哪几个过程?

    A.数据抽取

    B.数据稽核

    C.数据转换

    D.数据装载


    数据装载;数据转换;数据抽取

  • 第4题:

    Describe the architecture options for implementing real-time ETL.

    简述在架构实时ETL时的可以选择的架构部件。


    正确答案:
    答:在建立数据仓库时,ETL通常都采用批处理的方式,一般来说是每天的夜间进行跑批。
    随着数据仓库技术的逐步成熟,企业对数据仓库的时间延迟有了更高的要求,也就出现了目前常说的实时ETL(Real-Time ETL)。实时ETL是数据仓库领域里比较新的一部分内容。
    在构建实时ETL架构的数据仓库时,有几种技术可供选择。
    1.微批处理(microbatch ETL,MB-ETL)
    微批处理的方式和我们通常的ETL处理方式很相似,但是处理的时间间隔要短,例如间隔一个小时处理一次。
    2.企业应用集成(Enterprise Application Integration,EAI)
    EAI也称为功能整合,通常由中间件来完成数据的交互。而通常的ETL称为数据整合。
    对实时性要求非常高的系统,可以考虑使用EAI作为ETL的一个工具,可以提供快捷的数据交互。不过在数据量大时采用EAI工具效率比较差,而且实现起来相对复杂。
    3.CTF(Capture, Transform. and Flow)
    CTF是一类比较新的数据整合工具。它采用的是直接的数据库对数据库的连接方式,可以提供秒级的数据。CTF的缺点是只能进行轻量级的数据整合。通常的处理方式是建立数据准备区,采用CTF工具在源数据库和数据准备区的数据库之间相连接。数据进入数据准备区后再经过其他处理后迁移入数据仓库。
    4.EII(Enterprise Information Integration)
    EII是另一类比较新的数据整合软件,可以给企业提供实时报表。EII的处理方式和CTF很相似,但是它不将数据迁移入数据准备区或者数据仓库,而是在抽取转换后直接加载到报表中。
    在实际建立实时ETL架构的数据仓库时,可以在MB-ETL, EAI, CTF, EII及通常的ETL中作出选择或者进行组合。

  • 第5题:

    数据仓库的数据ETL过程中,ETL软件的主要功能包括:

    A.数据抽取

    B.数据转换

    C.数据加载

    D.数据稽核


    参考答案:A,B,C