ETL是企业数据仓库构建过程中的一个核心步骤Y我们可以借助于ETL
工具来高效地完成数据抽取转换和加载工作之所以需要ETL工具Y
主要有以下几个原因X
??
1??当数据来自不同的物理主机Y这时候如果使用SQL语句去处理的
话Y就显得比较吃力且开销也更大]
??
2??数据来源可以是各种不同的数据库或者文件Y这时候需要先把它
们整理成统一的格式后才可以进行数据的处理Y这一过程用代码实现
显然有些麻烦]
??
3??在数据库中我们当然可以使用存储过程去处理数据Y但是Y处理
海量数据的时候Y存储过程显然比较吃力Y而且会占用较多数据库的
资源Y这可能会导致数据库资源不足Y进而影响数据库的性能。
在选择ETL工具时主要考虑如下因素X
??对平台的支持程度]
??抽取和装载的性能是不是较高Y且对业务系统的性能影响大不
大,高不高]。
??对数据源的支持程度]。
??是否具有良好的集成性和开放性]。
??数据转换和加工的功能。
??是否具有管理和调度的功能。
CDC解决方案包括变化捕捉代理变化数据服务和变化分发机制三个
组成部分
??
1??变化捕捉代理变化捕捉代理是一个软件组件Y它负责确定和捕
捉发生在操作型数据存储源系统中的数据变化可以对变化捕捉代理
进行专门优化Y使它适用于特定的源系统Y比如使用数据库触发器]
也可以使用通用的方法Y比如数据日志比较。
变化数据服务变化数据服务为变化数据捕捉的成功实现提供了
一系列重要的功能Y包括过滤排序附加数据生命周期管理和审
计等表6-4给出了每个功能的解释。
变化分发机制变化分发机制负责把变化分发到变化的消费者??通
常是ETL程序??那里变化分发机制可以支持一个或多个消费者Y并且提
供了灵活的数据分发方式Y包括推(push)或拉(pull)的方式Pull方式需要
消费者周期性地发送请求Y通常采用标准接口实现Y比如ODBC或JDBC
Push方式需要消费者一直监听和等待变化的发生Y一旦捕捉到变化Y就立
刻转移变化的数据Y通常采用消息中间件来实现变化分发机制的另一个
重要功能就是提供动态返回和请求旧的变化的能力Y从而满足重复处理和
恢复处理等任务。
变化数据捕捉技术有两个典型的应用场景X面向批处理的CDC
??
pull CDC??和面向实时的CDC??
push CDC??
1.面向批处理的CDC
在这种场景中YETL工具周期性地请求变化Y每次都接收批量数据Y
这些批量数据是在上次请求和这次请求之间所捕捉到的变化变化
分发请求可以采取不同的频度Y比如一天两次或每隔15分钟1次。
对于许多组织而言Y提供变化数据的一种比较好的方式是以数据表的记
录的形式表示这种方式可以使ETL工具通过标准接口??比如ODBC??的
方式无缝地访问变化数据CDC则需要维护上次变化分发的位置和分发
新的变化
这种应用场景和传统的ETL很相似Y不同的是Ypull CDC只需要转移变化
的数据Y并不需要转移所有的数据Y这就极大地减少了资源消耗Y也消
除了传统ETL过程的宕机时间。
面向批处理的CDC技术简单Y很容易实现Y因为它和传统的ETL很相似Y
并且使用现有的技术当企业对时间延迟以分钟或小时来进行衡量时Y
采取这种方式比较可行。
这种场景满足零延迟的要求Y变化分发机制一旦探测到变化Y就把变化
push给ETL程序Y这通常是通过可靠的传输机制来实现的Y比如事件分发
机制和消息中间件??如MQ Series??
虽然面向消息和面向事件的集成方法在EAI产品中更为常见Y但现在Y已
经有很多ETL工具厂商在他们的解决方案中提供这种功能Y以满足高端
实时的商务应用需求当BI应用需要零延迟和最新的数据时Y这种实时的
数据集成方法就是必须的。
很显然YCDC技术提供了诸多好处Y但也有几个值得思考的问题Y具体如
下X
??
1??变化捕捉方法读取数据库的日志文件使用数据库触发器数据比
较和在企业程序内编写定制的事件通知
??
2??对操作型系统的入侵程度对系统造成影响由高到低源代码入侵进
程内或地址空间入侵??数据库触发器??不影响应用的操作型数据源??使
用数据库日志??。
捕捉延迟选择CDC解决方案时最主要的考虑因素实时程度越高Y
入侵程度越高
??
4??过滤和排序服务过滤保证只有需要的变化才被分发]排序定义了变
化被分发的顺序
??
5??支持多个消费者CDC解决方案需要支持多个消费者Y每个消费者可
能具有不同的延迟要求。
失败和恢复保证变化能够被正确分发]恢复时保证变化分发数据流
从最近一次的位置开始Y且满足变化事务一致性
??
7??主机和遗产数据源将非关系型数据源映射成关系型数据源再进行
ETL
??
8??和ETL工具的无缝集成考虑不同ETL工具之间的难易程度和互联。
数据集成为分散在企业不同地方的商务数据提供了一个统一的视图我
们可以使用不同的技术来构建这个统一视图这个统一视图可以是一个
物理数据视图Y其中的数据来自多个分散的数据源Y并被整合存储到一
个集成的数据存储中Y比如数据仓库或者Y统一视图也可以是一个虚
拟数据视图Y其中的数据分散在多个数据源中Y而不是集中存储在一个
地方Y只有当需要使用这些数据的时候Y才临时把它们从多个数据源中
抽取出来Y并加以适当处理后Y提交给数据请求者本章内容介绍了数
据集成的概念和技术Y并重点介绍了两种代表性的数据集成技术Y即
ETL和CDC。
近年来,深度学习已经成为了计算机领域和其他领域学习与科研中的热门话题,虽
然人类已经利用卷积神经网络模型进行了许多与深度学习有关的科学研究,但是卷积神
经网络模型内部却仍像一个“黑匣子”。因此为了认识和理解模型内部的工作机理,对
其从内部卷积计算核和卷积层中获取到的特征进行分类,且理解从卷积神经网络中每一
级所获取到的图像特征信息,是深度学习领域中的关键任务之一。通过特征可视化的结
果,对网络结构进行适当调节以优化网络,避免盲目调参,进而以更快的速率使网络特
性信息达到最优化。
中重点利用了基于梯度分析的可视化方法,研究了针对不同卷积神经网络模型
的可视化效果,按照图像数据集中包含的图像数据,分别从单目标和多目标两个类别来
开展研究工作。本文的工作内容如下:
基于反卷积技术进行卷积神经网络每一层特征可视化的分析。实验结果表明低
层卷积层主要提取的是输入图像的颜色、轮廓及纹理等简单的特征,而高层则提取的是
输入图像中眼睛、嘴、翅膀等更加复杂抽象的特征,网络层数越深的模型,其内部提取
到的特征更加的接近实物的细节特征。
提出一种基于激活的特征可视化方法。该方法以热力图的可视化方式对
输入图像进行可视化分析,实验结果表明动物的头部特征是网络模型作出决策的重要依
据。在此方法的基础上针对多目标进行特征可视化,提出一种改进的 Grad-CAM 方法,
该方法主要通过更新图像最后一层权重的计算方式并结合目标选择梯度来对包含多个同
类目标的图像进行特征可视化。实验结果表明该方法相比于其他的可视化方法,在多目
标图像的可视化中表现更佳,生成的热力图中包含的同类目标信息更多。
(3)为了更好地对可视化效果进行评价,提出评估可视化效果的新方法。该方