1. 数据文件管理
随着技术和业务的发展壮大,企业中产生的数据种类越来越多,数据量也越来越大。如何对数据进行有效的组织、存储、管理、检索、维护,将会显得越来越重要。在企业内部很多时候还涉及数据的跨部门存储与调用。因此,进行数据的管理就显得特别重要,也越来越受到企业的重视。
数据一般会以文件的形式存在,比如文本文件、视频文件、音频文件等。那么数据的管理就转化为对这些数据文件的管理。
文件管理的真谛在于方便保存和迅速提取,所有的数据文件将通过某种属性(比如业务、时间)分类被很好地组织起来,放在最能方便找到的地方。解决这个问题目前最理想的方法就是分类管理。
从每一个文件夹的建立,我们都要按照数据文件的属性,分为大大小小、多个层级的文件夹,建立合理的文件保存架构。此外所有的文件、文件夹,都要规范化地命名,并放入最合适的文件夹中。
当然企业中可不会像个人使用电脑文件资源管理器那样去管理文件,而是使用文件服务器去管理文件。在一些有条件的企业,会部署一个文件服务器,来统一管理文件。这样可以对企业管理带来如下好处:
定时集中对文件进行备份;
可以统一制定文件安全访问权限策略;
可以统一进行文件服务器防病毒管理。
常见的文件服务有以下这几种:
ftp文件服务
Samba文件服务
NFS文件服务
1.1. FTP文件服务
FTP 是一个文件传输的协议,采用Client/Server架构。用户可以通过各种不同的FTP客户端程序,借助FTP协议,来连接FTP服务器,以上传或者下载文件。它使用两个连接与客户端通信:
命令连接:用于传输文件管理类命令,在客户端连接后会始终在线;
数据连接:用于传输文件数据,此连接会按序创建。
Linux 中常用的 FTP 客户端软件有 lftp, ftp, lftpget, wget, curl 等。Windows 中可以使用浏览器,资源管理器或 Filezilla 等软件。
1.2. NFS文件服务
NFS 是Network File System的缩写,即网络文件系统。它允许网络中的计算机之间通过TCP/IP网络共享资源。NFS的基本原则是“容许不同的客户端及服务端通过一组RPC分享相同的文件系统”,它是独立于操作系统,容许不同硬件及操作系统的系统共同进行文件的分享。
NFS在文件传送或信息传送过程中依赖于RPC协议。RPC,远程过程调用 (Remote Procedure Call) 是能使客户端执行其他系统中程序的一种机制。NFS本身是没有提供信息传输的协议和功能的,但NFS却能让我们通过网络进行资料的分享,原因就在与RPC,可以说NFS本身就是使用RPC的一个程序。可以这么理解RPC和NFS的关系:NFS是一个文件系统,而RPC是负责信息的传输。
1.3. Samba文件服务
SMB(Server Messages Block,信息服务块)是一种在局域网上共享文件和打印机的一种通信协议,它为局域网内的不同计算机之间提供文件及打印机等资源的共享服务。
Samba是一组软件包,在Linux和UNIX系统上实现SMB协议的一个免费软件。Linux操作系统提供了Samba服务,Samba服务为两种不同的操作系统架起了一座桥梁,使Linux系统和Windows系统之间能够实现互相通信,这使得 Windows/Linux/Unix 间可以自由的进行文件共享。
2. 文件管理规范
为了更快速,更准确,更规范的进行数据文件管理,企业一般都会去制定相应的管理规范。从而使各方都按照这个规范去进行文件的存储、读取。规范着重于文件命名规则,以及一些校验性文件的描述。
例子:FTP服务进行跨部门文件共享的相关规范。以数据库数据文件导出至ftp文件服务器共享为例,目录下会存在以下3种格式文件。仅供参考。
2.1. 接口新增数据文件
正常数据:文件类型标示_源系统数据库类型简写.源系统数据库.表名称_数据日期_重传序号.lzo
如正常数据为:
增量(上次导出之后的新数据):
i_s.Peking.orders_20130711_000.lzo
全量(表中所有的数据):
a_s.Peking.orders_20130711_000.lzo
2.2. 接口控制校验文件
正常数据:增全量标示_源系统数据库类型简写.源系统数据库.表名称_数据日期_重传序号.md5
如正常数据为:
增量:
i_s.peking.orders_20130711_000.md5
全量:
a_s.peking.orders_20130711_000.md5
控制校验文件的存在意义在于标识数据的完整性校验,预防上传丢失导致其他使用者获取不完整数据。
2.3. 接口表结构文件
正常数据:增全量标示_源系统数据库类型简写.源系统数据库.表名称_数据日期_重传序号.xml
如正常数据为:
增量:
i_s.peking.orders_20130711_000.xml
全量:
a_s.peking.orders_20130711_000.xml
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<table type="hbase" database="credit" code="cds_courier_active">
<field type="string" code="pin"/>
<field type="string" code="d_seq_no"/>
<field type="string" code="d_cust_id"/>
<field type="string" code="d_mobile"/>
<field type="string" code="d_active_stcd"/>
<field type="string" code="d_active_result"/>
<field type="string" code="d_credit_amt"/>
<field type="string" code="d_active_tm"/>
<field type="string" code="d_seq_no_interface"/>
<field type="string" code="d_apply_channel"/>
<field type="string" code="d_apply_type"/>
<field type="string" code="d_oder_id"/>
<field type="string" code="d_name"/>
<field type="string" code="d_approve_times"/>
<field type="string" code="d_product_type"/>
</table>
表结构文件存在意义在于:便于数据的使用人员快速的了解本批次数据的大致内容,也方便后续回头对数据进行检测时作为依照。
3. 数据质量检测
数据质量是保证数据应用的基础,它的评估标准主要包括四个方面:完整性、一致性、准确性、及时性。评估数据是否达到预期设定的质量要求,就可以通过这四个方面来进行判断。
完整性指的是数据信息是否存在缺失的状况,数据缺失的情况可能是整个数据记录缺失,也可能是数据中某个字段信息的记录缺失。不完整数据的价值就会大大降低,也是数据质量最为基础的一项评估标准。
数据质量的完整性比较容易去评估,一般可以通过数据统计中的记录值和唯一值进行评估。例如,网站日志日访问量就是一个记录值,平时的日访问量在 1000左右,突然某一天降到100了,需要检查一下数据是否存在缺失了。再例如,网站统计地域分布情况的每一个地区名就是一个唯一值,我国包括了32个省和直辖市,如果统计得到的唯一值小于32,则可以判断数据有可能存在缺失。
一致性是指数据是否遵循了统一的规范,数据集合是否保持了统一的格式。数据质量的一致性主要体现在数据记录的规范和数据是否符合逻辑。规范指的是,一项数据存在它特定的格式,例如手机号码一定是11位的数字,IP地址一定是由4个0到255间的数字加上.组成的。逻辑指的是,多项数据间存在着固定的逻辑关系,例如PV一定是大于等于UV的,跳出率一定是在0到1之间的。
准确性是指数据记录的信息是否存在异常或错误。存在准确性问题的数据不仅仅只是规则上的不一致。最为常见的数据准确性错误如乱码。其次,异常的大或者小的数据也是不符合条件的数据。数据质量的准确性可能存在于个别记录,也可能存在于整个数据集,例如数量级记录错误。这类错误则可以使用最大值和最小值的统计量去审核。
一般数据都符合正态分布的规律,如果一些占比少的数据存在问题,则可以通过比较其他数量少的数据比例,来做出判断。
及时性是指数据从产生到可以查看的时间间隔,也叫数据的延时时长。及时性对于数据分析本身要求并不高,但如果数据分析周期加上数据建立的时间过长,就可能导致分析得出的结论失去了借鉴意义。
原文地址:http://blog.51cto.com/13587708/2176577