警务数据仓库的实现

目录

    • 一、SQL Server 2008 R2
      • (一)SQL Server 的服务功能
      • (二)SQL Server Management Studio
      • (三)Microsoft Visual Studio
    • 二、创建集成服务项目
    • 三、配置“旅馆_ETL”数据流任务
    • 四、配置“人员_ETL”数据流任务
      • (一)创建“人员_ETL”对象
      • (二)配置“人员_ETL”参数
    • 五、配置“时间_ETL”数据流任务
    • 六、配置“入住_ETL”数据流任务
    • 七、SSIS包package的部署
      • (一)将包另存到SSIS服务器
      • (二)创建作业代理



  本文介绍在警务信息数据仓库分析与设计的基础上,应用 Microsoft SQL Server 2008 R2 的集成服务(SQL Server Integration Services,SSIS)功能, 完成警务信息数据仓库 SSIS 包的配置任务,并最终实现将数据源 OLTPHotel 中的数据, 抽取转化后加载到数据仓库 HuangDW_Hotel 之中。

一、SQL Server 2008 R2

  Microsoft SQL Server 微软公司推出的一款商品化关系型数据库管理系统(RDBMS),因其中包括了数据仓库的管理功能,也是一款关系数据仓库管理系统(RDWMS),在国际国内有广泛用户群。

  Microsoft SQL Server 2008 R2 在 SQL Server 2008 基础上增加了许多新的功能,不仅能为用户的关键商业应用提供可信赖的、高效的、智能的开发平台,支持策略管理和审核、大规模数据仓库、空间数据、高级报告与分析服务等功能,还增强了应用开发能力,提高了可管理性,强化了对商业智能及数据仓库的支持。

  我们的警务信息数据仓库是在 SQL Server 2008 R2 平台上实现的,因此,简单介绍 SQL Server 2008 R2 与警务信息数据仓库实现有关的服务功能。

(一)SQL Server 的服务功能

  1. 数据库引擎(SSDE)是 SQL Server 系统的核心服务,包括传统数据库管理系统(DBMS)和数据仓库管理系统(DWMS)功能。
  2. 集成服务(SSIS)是一个功能强大的数据集成平台,可以完成有关数据的 “提取-转换-加载(ETL)” 功能。
  3. 分析服务(SSAS)提供了 OLAP 多维分析和数据挖掘功能,支持用户对所建立的数据仓库进行商业智能分析。
  4. 报表服务(SSRS)为用户提供了支持企业级的 Web 报表功能。通过使用 SSRS 服务,用户可以方便地定义和发布满足自己需求的报表,且无论是报表的布局格式,还是报表的数据源,用户都可以轻松地实现 Word,PDF,Excel,XML 等格式的报表。

(二)SQL Server Management Studio

  SQL Server Management Studio(SSMS)是一个集成的数据库/数据仓库管理环境,用于访问、配置、管理和创建 SQL Server 数据库/数据仓库有关的所有组件,使如数据库引擎(SSDE)、分析服务(SSAS)、报表服务(SSRS)、集成服务(SSIS)和嵌入式数据库(SSC)协同工作。

  在其【服务器类型】下拉框内有【数据库引擎】、Analysis Services、Reporting Services、Integration Services 和 SQL Server Compact 等5个选项。选择其中任何一个获得相应服务功能。

(三)Microsoft Visual Studio

1、商业智能开发平台简介

  • Microsoft Visual Studio(MVS)是微软公司推出的一个软件集成开发环境,称为商业智能开发平台(SQL Server Business Intelligence Development Studio),是目前最为流行的 Windows 应用程序开发环境之一。
  • SQL Server Integration Services(集成服务,简称SSIS)工具,可完成对数据源的数据抽取、转换并装载到数据仓库的集成项目开发,包括控制流、数据流任务参数配置。
  • SQL Server Analysis Services(分析服务,SSAS)工具,可完成对数据仓库数据的各种多维数据集重构,为 OLAP 分析提供支持。
  • SSIS 是 SQL Server 为用户提供的主要智能服务功能之一,是一个可视化的高性能数据 “抽取-转换-装载”(ETL)集成解决方案的配置和调试平台。
  • 对每一个实际应用问题,可利用 SSIS 为其开发一个数据集成方案(称为一个SSIS包)。SSIS 提供了一系列支持应用开发的内置任务和容器,数据源、数据查找、数据转换、数据目的等配置控件。用户只要配置数据流中各种控件的参数,几乎无需编写一行代码,就可以创建 SSIS 包来解决 ETL 等复杂的商业智能数据集成问题。

2、进入商业智能开发平台

  选择 Windows 的【SQL Server Business Intelligence Development Studio】菜单命令,进入 SQL Server 商业智能开发平台 Microsoft Visual Studio(MVS)的【起始页】窗口。

3、本章后续内容

  本章后面几节将要介绍的内容,就是在这个 MVS 平台上完成如下两项工作。

(1)创建集成服务项目

  每一个集成服务项目至少有一个 SSIS 包,所以,当 HuangDC_ETL 成功创建后,它有一个默认的 SSIS 包名称 Package.dtsx。

(2)配置数据流任务

  一个 SSIS 包通常由若干个数据流任务连接起来的控制流组成,它们是从数据源中抽取数据,并将其清理、合并转换后加载到数据仓库的一个集成解决方案。下图显示的是已经完成配置的教程实例 SSIS 包,它由7个数据流任务组成,其中的箭头表明了它们的执行顺序。

在这里插入图片描述
① 旅馆_ETL。负责将数据源 OLTPHotel 中旅馆信息表 LGXX 的数据抽取出来,经过转换后,加载到数据仓库 HuangDW_Hotel 目的表 DimHotel(旅馆维度表)之中。
OLTPHotel.LGXX → HuangDW_Hotel.DimHotel

② 人员_ETL。将 OLTPHotel 中常住人口表 CZRK、暂住人口表 ZZRK 和人员前科表 RYQK,加载到数据仓库 HuangDW_Hotel 目的表 DimPeople(人员维度表)之中。
OLTPHotel.CZRK, ZZRK, RYQK → HuangDW_Hotel. RYQK

③ 时间_ETL。将 OLTPHotel 中旅馆入住表 LGRZ 的入住时间 RZSJ 和离店时间 LDSJ 抽取出来,派生出年、月、日、时等新列,加载到数据仓库 HuangDW_Hotel 目的表 DimDate(时间维度表)之中。
OLTPHotel. LGRZ → HuangDW_Hotel.DimDate

④ 入住_ETL。将 OLTPHotel 旅馆入住表 LGRZ 的数据抽取出来,派生出年、月、日、时等新列,加载到数据仓库 HuangDW_Hotel 目的表 FactHotel(旅馆事实表)之中。
OLTPHotel.LGRZ → HuangDW_Hotel.FactHotel

⑤ 犯罪_ETL。将 OLTPHotel 中犯罪类型表 FZLX 的数据抽取出来,加载到 HuangDW_Hotel 目的表 DimCaseType(犯罪类型维度表)之中。
OLTPHotel.FZLX → HuangDW_Hotel.DimCaseType

⑥ 地址_ETL。将 OLTPHotel 中所属辖区表 SSXQ 的数据抽取出来,加载到 HuangDW_Hotel 目的表 DimAddress(地址维度表)之中。
OLTPHotel.SSXQHuangDW_Hotel.DimAddress

⑦ 派出所_ETL。将 OLTPHotel 中派出所表 PCS 的数据抽取出来,加载到 HuangDW_Hotel 目的表 DimPolice(派出所维度表)之中。
OLTPHotel.PCS → HuangDW_Hotel. DimPolice

二、创建集成服务项目

  在 MVS【起始页】窗口【文件】菜单中依次选择【新建】-【项目】菜单命令,弹出如图所示的【新建项目】窗口。

在这里插入图片描述
说明 SSIS 包的设计窗口主要有4个区域。

1、菜单命令及其快捷按钮区域,分布在窗口的第一行和第二行;

2、功能设计区域,在窗口的正中央——包括【控制流】,【数据流】、【事件处理程序】和【包资源管理器】等功能选项卡,是配置SSIS包的操作和显示区域。实例仅使用【控制流】和【数据流】选项卡。

3、【工具箱】区域位于【控制流】选项卡的左边,可折叠/展开窗口。
(1)SSIS 包要想完成从数据源抽取数据,并将其转换和加载到数据仓库等各种操作步骤,都需要借助工具箱中的特定控件来实现。
(2)多个控件组成的一个执行顺序就构成一个数据流任务,多个数据流任务按照执行顺序连接起来称为一个控制流。

4、【解决方案资源管理器】区域分布在窗口的右边,显示了整个项目拥有的对象,如数据源,数据源视图、SSIS 包和杂项等,以方便用户随时查看和引用。

说明:在 SSIS 包的配置实验过程中,可随时停止配置并退出 SQL Server 商业智能开发平台(MVS)。重新启动商业智能开发环境,在【起始页】窗口的【最近的项目】区域内单击 HuangDC_ETL,可重新进入 SSIS 包的设计窗口。

三、配置“旅馆_ETL”数据流任务

  配置将数据源 OLTPHotel 中旅馆信息表 LGXX 的数据,抽取、转化并加载到数据仓库 HuangDW_Hotel 目的表 DimHotel 之中所需要的操作控件、操作顺序和相关参数。比如数据源 LGXX 所在的服务器名称、数据库名称,还有目的表 DimHotel 所属数据库名称,以及数据库所在的服务器名称等。

在这里插入图片描述

四、配置“人员_ETL”数据流任务

(一)创建“人员_ETL”对象

  添加 “数据流任务” 并重命名为 “人员_ETL”。

(二)配置“人员_ETL”参数

  “人员_ETL” 对象包括 “ADO NET源”、“数据转换”、“派生列”、“查找”、“排序”、“合并”、“合并联接” 和 “ADO NET Destination” 等多种控件组成。

在这里插入图片描述

五、配置“时间_ETL”数据流任务

  配置 “时间_ETL” 数据流任务,就是配置将旅馆入住信息表 LGRZ 的入住时间 RZSJ 和离店时间 LDSJ 两个数据,抽取到数据仓库目的表 DimDate 之中所需要的操作控件、操作顺序和相关参数。

在这里插入图片描述

六、配置“入住_ETL”数据流任务

  “入住_ETL” 对象创建的步骤和操作方法与前面创建 “人员_ETL” 对象完全相同。可以模仿完成 “入住_ETL” 对象的创建。

在这里插入图片描述

  此外,我们还需 “犯罪_ETL” 数据流任务,“地址_ETL” 数据流任务和 “派出所_ETL” 数据流任务,且其配置过程与旅馆_ETL、入住_ETL的类似。下图所示分别展示了每个数据流任务中所需的控件。

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

七、SSIS包package的部署

  前面已成功创建了一个集成服务项目 HuangDC_ETL,并为该项目的 SSIS 包 package.dtsx 配置了 “旅馆_ETL”、“人员_ETL” 等7个数据流任务。将把包 package.dtsx 部署到 SQL Server 的 SSIS 服务器中,使其能够根据指定的时间节点自动运行这个包,完成从 OLTPHotel 不断抽取数据并追加到数据仓库 HuangDW_Hotel 的任务。

SSIS 包的部署包括如下2项工作。
(1)将 SSIS 包 package.dtsx 另存到 SSIS 服务器,并将其命名为 HDC_ETL_Hotel,使其成为一个 “已存储的包” 对象存储在 SSIS 服务器之中;
(2)配置包的运行作业参数,包括周期和时间,使代理能够在指定时间内执行该包。

(一)将包另存到SSIS服务器

1、进入 SSIS 包文件所在的文件夹

2、打开 SSIS 包的设计窗口

3、指定 SSIS 包另存的服务器

4、为 SSIS 包副本命名

5、配置包保护级别

6、将包另存到服务器

7、查看包另存的结果

  服务器类型选择 Integration Services 登录 SSMS。

在这里插入图片描述

(二)创建作业代理

1、登录数据库服务器

  【服务器类型】选择 “数据库引擎” 登录SSMS。

2、启动 SQL Server 代理

3、配置新建的作业

(1)打开 “新建作业” 窗口。
(2)配置 “常规” 属性。
(3)打开作业 “步骤” 窗口。
(4)配置 “新建作业步骤” 参数。
(5)打开作业 “计划” 窗口。
(6)配置 “新建作业计划”。

在这里插入图片描述
4、查看新建作业

  在图窗口中右击【SQL Server代理】对象,并在快捷菜单中选择【刷新】命令,再展开【SQL Server代理】,即可在【作业】对象下面看见一个名为 “旅馆数据抽取作业” 的对象。这表明存储在 SSIS 服务器中的包 HDC_ETL_Hotel,已作为 SQL Server 数据库服务器中的一个代理作业。至此以后会,它将在规定时间节点(每天凌晨2点)自动抽取事务数据库 OLTPHotel 中新增加的数据,并将其追加到数据仓库 HuangDW_Hotel 之中。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mfbz.cn/a/486909.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

c++--replace函数

目录 1.从位置 pos 开始,替换长度为 len 的子字符串为 str。2.用字符串 str 替换迭代器范围 [i1, i2) 内的内容。3.从位置 pos 开始,替换长度为 len 的子字符串为 str 中从 subpos 开始长度为 sublen 的子字符串。4.用迭代器范围 [first, last) 内的内容…

ChatGLM3 Linux 部署

1.首先需要下载本仓库: git clone https://github.com/THUDM/ChatGLM3 2.查看显卡对应的torch 版本 官方文档说明: Start Locally | PyTorch 例如: a. 先查看显卡的CUDA版本 nvcc --version 查看对应版本 Previous PyTorch Versions …

2024爱分析·搜索型数据库市场厂商评估报告: 拓尔思

01 研究范围定义 研究范围: 在中央及地方政府的信创政策推动下,我国信创部分领域正在从“试点验证”迈向“规模推广”阶段。随着信创替换的深化,爱分析观察到,在需求侧,企业对信创产品的需求逐渐融合更丰富的业务诉求…

2024年洗地机综合实力排行榜:谁才是真正的洗地神器?

近年来,洗地机在行业里,它集合了扫地和拖地以及自动清洁和除菌的功能,备受人们的喜爱,尤其是平时忙于工作并没有多少时间清洁家务的用户,但是对于第一次接触洗地机的用户来说,怎么选购洗地机也是个问题&…

力扣HOT100 - 42. 接雨水

解题思路&#xff1a; 动态规划 感觉不是很好想 class Solution {public int trap(int[] height) {int n height.length;if (n 0) return 0;int[] leftMax new int[n];leftMax[0] height[0];for (int i 1; i < n; i) {leftMax[i] Math.max(leftMax[i - 1], height[i…

【CSS】CSS基础1(CSS基本介绍+常见样式设计)

目录 什么是CSS&#xff1f; 语法规范 常见样式 例子 代码展示 什么是CSS&#xff1f; 点击以下链接了解更多&#xff1a; ​​​​​​​ ​​​​​https://baike.baidu.com/item/%E5%B1%82%E5%8F%A0%E6%A0%B7%E5%BC%8F%E8%A1%A8/524980?fromModulelemma_inlink(英文…

ADW300多功能无线计量仪表

仪表应用背景 电力运维行业&#xff1a;运维服务系统实时采集大量用户站的运行和动环数据&#xff0c;经专业数据分析&#xff0c;当用户站发生异常情况或运行故障时&#xff0c;及时反馈到运维指挥中心&#xff0c;并通过移动终端通知相应的运维工程师&#xff0c;指导现场作…

Linux Networking - MTU

MTU MTU&#xff0c;Maximum Transmission Unit&#xff0c;指的是Ethernet Frame的Payload部分的长度限制&#xff0c;如下图&#xff1a; 1500这个数字则有一定的历史原因&#xff0c; 参考链接&#xff1a; How 1500 bytes became the MTU of the internethttps://blog.b…

指针知识大礼包,让你的编程之路更顺畅(二)

1. 数组名的理解 2. 使⽤指针访问数组 3. ⼀维数组传参的本质 4. ⼆级指针 5. 指针数组 6. 指针数组模拟⼆维数 正文开始&#xff1a; 1. 数组名的理解 在上⼀个章节我们在使⽤指针访问数组的内容时&#xff0c;有这样的代码&#xff1a; int arr[10] {1,2,3,4,5,6,7,…

启动性能优化

一、应用启动慢的原因 1.在主线程执行了太多耗时的操作&#xff0c;比如加载数据&#xff0c;或者初始化三方库等等&#xff0c;导致在Application的oncreate或者Activity的oncreate方法中耗时太久 2.布局嵌套太深&#xff0c;或者一些不会立即使用的布局也在一开始一起加载到…

Jira 软件缺陷管理 (软件测试)

内容来源&#xff1a;总结黑马课程 1.软件缺陷信息 2.创建缺陷问题 2.1 缺陷模板 2.2 创建缺陷问题模板

3.25作业

定义自己的命名空间&#xff0c;其中有string类型的变量&#xff0c;再定义两个函数&#xff0c;一个函数完成字符串的输入&#xff0c;一个函数完成求字符串长度&#xff0c;再定义一个全局函数完成对该字符串的反转有以下定义&#xff0c;说明哪些量可以改变哪些不可以改变&a…

【C】盛最多水的容器(双指针)

盛最多水的容器 原题目链接:点击跳转 给定一个长度为 n 的整数数组 height 。有 n 条垂线&#xff0c;第 i 条线的两个端点是 (i, 0) 和(i, height[i]) 。 找出其中的两条线&#xff0c;使得它们与 x 轴共同构成的容器可以容纳最多的水。 返回容器可以储存的最大水量。 说…

【3D reconstruction 学习笔记 第二部】

三维重建 3D reconstruction 4. 三维重建与极几何三角化&#xff08;线性解法&#xff09;三角化&#xff08;非线性解法&#xff09;多视图几何极几何极几何约束基础矩阵估计 5. 双目立体视觉重建6. 多视图重建7. SFM 系统设计8. SLAM系统设计 4. 三维重建与极几何 三角化&…

微信SEO秘籍:6年经验,祝你轻松引流获客

我 17 年前就已经开始研究微信 SEO&#xff0c;并逐步完善成系统的教程&#xff0c;可以说是国内最早的微信 SEO 课程。至今&#xff0c;我已连续教授了 6 年&#xff01; 我自己也一直亲自操作&#xff0c;不断优化和升级我的课程&#xff0c;我的许多学员通过学习我的微信 S…

嵌入式3-25

1、输入一个数&#xff0c;实现倒叙 123-->321 2、输入一个&#xff0c;判断是否是素数 3、输入一个文件名&#xff0c;判断是否在家目录下存在&#xff0c;如果是一个目录&#xff0c;则直接输出是目录下的.sh文件的个数。如果存在则判断是否是一个普通文件&#xff0c;如果…

nba官网详情wasm逆向 第二部分

声明: 本文章中所有内容仅供学习交流使用&#xff0c;不用于其他任何目的&#xff0c;抓包内容、敏感网址、数据接口等均已做脱敏处理&#xff0c;严禁用于商业用途和非法用途&#xff0c;否则由此产生的一切后果均与作者无关&#xff01;wx a15018601872 本文章…

Orangedx:引领新一轮 BTCFi 浪潮

“OrangeDx 作为新一轮 BTCFi 浪潮引领者被市场寄予厚望 &#xff0c;前不久在 FinceptorApp 的平台的公开销售 20 万美元的额度仅在几秒售罄&#xff0c;而其即将以 Startup 方式登陆 Gate 平台也同样备受市场期待。” 自 Ordinals 面向市场为比特币生态带来全新的资产发行方案…

QT常见Layout布局器使用

布局简介 为什么要布局&#xff1f;通过布局拖动不影响鼠标拖动窗口的效果等优点.QT设计器布局比较固定&#xff0c;不方便后期修改和维护&#xff1b;在Qt里面布局分为四个大类 &#xff1a; 盒子布局&#xff1a;QBoxLayout 网格布局&#xff1a;QGridLayout 表单布局&am…

16:00面试,16:06就出来了,问的问题有点变态。。。

从小厂出来&#xff0c;没想到在另一家公司又寄了。 到这家公司开始上班&#xff0c;加班是每天必不可少的&#xff0c;看在钱给的比较多的份上&#xff0c;就不太计较了。没想到8月一纸通知&#xff0c;所有人不准加班&#xff0c;加班费不仅没有了&#xff0c;薪资还要降40%…
最新文章