(1)数据清洗数据仓库需要从种类各异的多个数据源中导入大量数据,数据仓库的一个重要任务就通过数据清洗保证数据的一致性与正确性。
(2)数据粒度数据仓库中存储的数据粒度将直接影响到数据仓库中数据的存储量及查询质量,并进一步影响数据仓库能否满足最终用户的分析需求。设计数据仓库时要合理确定数据粒度。
xlsx是MicrosoftOfficeExcel2007或者更新版本保存的文件格式,是用新的基于XML的压缩文件格式取代了其之前专有的文件格式。此文件格式在传统的文件扩展名后面添加了字母x(“.docx”取代“.doc”,“.xlsx”取代“.xls”),使文件占用系统的空间更小。xls格式的文件能用所有版本的MicrosoftExcel打开。存储存储成本下降JSON文件格式
JSON全称是JavaScript
ObjectNotation,即JavaScript对象标记,是一种轻量级的数据传输格式,常用于网络信息的传输。JSON基于
ECMAScript
规范,采用独立于编程语言的文本格式来存储和表示数据。JSON具有简洁和清晰的层次结构,是一种当下较为理想的数据传输语言。因为JSON易于阅读和编写,也易于机器解析和生成,因此能有效地提升网络传输效率,在现有的客户端和服务器数据交换传输中,JSON的应用非常广泛。如下所示,为JSON的举例:存储存储存储成本下降HTML文件格式
数据类型是一种数据结构,包括定义一个值的集合以及定义在这个值集上的一组操作。通常根据数据的特点将数据划分为不同的类型。
按照计算机的存储特性,编程语言和数据库应用都会把数据划分为特定的几种类型:Java数据类型:Java的基础数据类型可分为4类8种,包含整型(byte、short、int、long)、浮点型(float、double)、逻辑型(boolean)以及符型(char)。具体内容如下:MYSQL数据类型
1、字节、字符和字符集:字节(Byte)是计算机信息技术用于计量存储容量的一种单位,通常情况下一字节等于八位二进制位,同时也表示一些计算机编程语言中的数据类型。字符是指计算机中使用的字母、数字、字和符号。字符集(CharacterSet)是多个字符的集合,字符集种类较多,每个字符集包含的字符个数不同,常见字符集名称:ASCII字符集、GB2312字符集、BIG5字符集、GB18030字符集、Unicode字符集等。
2、内码:内码是指计算机汉字系统中使用的二进制字符编码,是沟通输入、输出与系统平台之间的交换码,通过内码可以达到通用和高效率传输文本的目的。
3、编码与字符集:编码(Ecoding)和字符集不同,字符集只是字符的集合,不一定适合网络传送、处理,有时需要经过编码以后才能实现应用。
4、空值和乱码:(1)空值:在数据库中,空值(NULL)用来表示实际值未知或无意义的情况(2)乱码:乱码主要指用文本编辑器打开文本时,使用了不对应的字符集和编码,从而造成文本解码错误,导致文本的部分字符或所有字符无法被正确显示的情况
数据转换
2、RDBMS数据转换:常见的RDBMS有Oracle、MySQL、Access、SQLServer等。在日常业务中,可能存在数据规模的变化,出现数据库管理系统的变化,例如MySQL转换到Oracle数据库管理系统等.大多数据库管理系统均有数据的导入、导出工具,可以实现数据源到目标的转换。例如,SQLServer可以通过数据库客户端(SSMS)的界面工具实现数据库与Excel、数据库与数据库之间的相互转换。Thanks谢谢您的聆听!电子表格与文本编辑器主讲:XXX目录Content电子表格中的数据清洗1文本数据清洗2电子表格中的数据清洗电子表格在数据清洗方面的功能主要体现在两个方面:一是它可以将数据组织成列和行,第二个方面在于他的内置函数。1、Excel的文本分列功能
2、字符串的拆分
3、字符串的拼接4、从关系数据库(以Mysql为例)中导入Excel数据5、使用电子表格生成SQL语句
对文本进行清洗主要包括电子表格中的数据清洗和文本编辑器的数据清洗。对于电子表格中的数据清洗,主要是利用表格中的行和列,以及电子表格中的内置函数。我们通常把一些数据复制到电子表格中,电子表格根据相应分隔符(制表位或逗号或其他)把数据分成不同的列。有时候会根据系统不同来人为地制定分隔符。
对于文本编辑器中的数据清洗,主要是许多操作系统中集成了文本编辑器,如Windows操作系统中的文本编辑器。在进行文本清洗前,需要对数据进行整理,包括对数据中的数据改变大小写、在文本每一行前端增加前缀,主要是为了在转换过程中,有可以参考的分隔符。RDBMS清洗路线RDBMS即关系型数据库管理系统,它作为经典的、长期使用的数据存储解决方案,成为数据存储的标准。但由于不同的人在设计数据库时,往往存在设计缺陷,需要对数据库的数据进行清洗。通过清洗可以找到异常数据,通常使用不同的策略来清洗不同类型的数据。对于RDBMS数据的清洗,有两种方式可以选择,即可以先把数据导入数据库,然后在数据库端进行清洗;也可以在电子表格或文本编辑器中进行清洗。具体选择哪种方案,会根据不同的数据进行不同的选择。Web内容清洗路线
业务需求是数据仓库最终用户的信息需求,它直接决定了数据源的选择。在许多情况下,最初对于数据源的调查不一定完全反映数据的复杂性和局限性,所以在ETL设计时,需要考虑原始数据是否能解决用户的业务需求,同时,业务需求和数据源的内容是不断变化的,需要对ETL不断进行检验和讨论。对数据仓库典型的需求包括:数据源的归档备份以及随后的数据存储。任何造成数据修改的交易记录的完整性证明。对分配和调整的规则进行完备的文档记录。数据备份的安全性证明,不论是在线还是离线进行。ETL入门2.数据评估
数据评估是使用分析方法来检查数据,充分了解数据的内容、质量。设计好的数据评估方法能够处理海量数据。
例如,企业的订单系统,能够很好地满足生产部门的需求。但是对于数据仓库来说,因为数据仓库使用的字段并不是以订单系统中的字段为中心,因此订单系统中的信息对于数据仓库的分析来讲是远远不够的。对于“脏”数据源需要进行操作处理,主要包括以下几个方面:完全清除某些输入字段;补入一些丢失的数据;自动替换掉某些错误数据值;在记录级别上进行人工干预;对数据进行完全规范化的表述。ETL入门3.数据集成在数据进入数据仓库之前,需要将全部数据无缝集成到一起。数据集成可采用规模化的表格来实现,也就是在分离的数据库中建立公共维度实体,从而快速构建报表。在ELT系统中,数据集成是数据流程中一个独立的步骤,叫作规格化步骤。4.最终用户提交界面ETL系统的最终步骤是将数据提交给最终用户,提交过程占据十分重要的位置,并对构成最终用户应用的数据结构和内容进行严格把关,确保其简单快捷。将使用复杂、查询缓慢的数据直接交给最终用户是不负责的,经常犯的一个错误就是将完全规范化的数据模型直接交给用户,就不再过问。ETL基本构成ETL基本构成数据抽取数据转换数据加载ETL数据抽取1.数据抽取所谓数据抽取,就是从源端数据系统中抽取目标数据系统需要的数据。
6、管理元数据元数据是描述数据的数据,它是对业务数据本身及其运行环境的描述与定义,主要用于支持业务系统应用。元数据的主要表现是对对象的描述,即对数据库、表、列、主键等的描述。在当前信息化建设中,一些应用的异构性和分布性越来越普遍,使用统一的元数据成为重要的选择,合理的元数据可以打破以往信息化建设中的“信息孤岛”等问题。ETL开源工具1、PentahoKettleKettle是一款国外的开源ETL工具,纯Java编写,可以在Windows、Linux、UNIX上运行,无须安装,数据抽取高效稳定。
待抽取的文本文件文本文件的数据抽取步骤打开Kettle,在左侧导航栏中,从主对象树中选择转换,右键选择“新建”,创建一个新的转换trans_txtExtract_test,双击DB连接,创建新的数据连接,本例创建一个MySQL的数据连接。12人工分析文本文件中的分隔符,TxtExtract_test.txt文件的分隔符为“|”;文本文件的数据抽取步骤2.1步骤2,MySQL的数据连接,入图所示
1)确定范围,计算源端数据中字段缺失值比例,之后根据缺失率和重要性分别制定策略。2)去除重要性低的字段,通常重要性低的字段,且缺失严重,可以采取将数据抽取的结果放入一中间临时库中,在数据清洗之前,先备份临时库数据,然后直接删除不需要的字段。3)填充缺失内容,通常会在某些缺失值的补齐中,采取一定的值去填充缺失项,从而使数据完备化。通常基于统计学原理,根据决策表中其余对象取值的分布情况来对一个空值进行填充,例如用其属性的平均值来进行补充等。
2、格式内容清洗
2)进行全角半角清洗:全角指一个字符占用两个标准字符位置,半角指一字符占用一个标准的字符位置。在数据采集时,时常因输入法设置问题,将字母或者数字输入存储为全角格式。故在对数据进行ETL操作时,需要进行全角和半角转换。
3)清洗不应有的字符:在源端系统中,数据采集时因人为原因可能存在一些数据不应有的字符。
4)进行重新取数:某些指标非常重要又缺失率高,且存在其他数据源可以获取,可采取重新抽取不同数据源的数据进行关联对比清洗。