1.1. 结构化数据是数据湖仓中最常见的基础数据之一
1.1.1. 是技术领域中最早出现的数据环境之一
1.2. 每条记录的结构都是相同的,即便不同记录中的内容可能不同,但数据的基本布局完全一样
1.3. 结构化数据环境都经过了优化,计算机能以最优的方式处理结构化数据
1.4. 很多业务活动都会生成结构化记录,这些结构化记录类似于业务活动的日志
1.5. 结构化记录的设计非常严格
1.6. 结构化数据是基础数据的重要组成部分
1.7. 键
1.7.1. 结构化记录中的键可以是唯一的,也可以是不唯一的
1.7.2. 键在数据库中以索引的形式存在,能够协助高效地直接访问数据
1.7.3. 如果没有索引,计算机在检索特定记录时,就必须执行低效且复杂的顺序查找(Sequential Search),即逐条检索数据库中的所有数据
1.7.4. 有了索引以后,通过结构化记录上的索引,就可以直接访问特定记录
1.7.5. 随着记录在计算机中不断累积,结构化记录会被写入表或数据库中
1.7.6. 在构建包含结构化数据环境的基础数据时,将结构化数据抽象为数据模型是至关重要的
1.7.7. 数据模型和实际的结构化数据一样,都应该是可用的
1.8. 联机事务处理
1.8.1. 直接访问数据库中结构化数据的主要优势之一是能够进行联机事务处理(Online Transaction Processing,OLTP)
1.8.1.1. 自动提款机(Automated Teller Machine,ATM)
1.8.1.2. 银行柜员处理和预订系统
1.8.2. OLTP的核心是快速、持续地运行事务
1.8.2.1. 系统的可用性也是一个关键因素
1.8.2.2. 如果系统宕机,组织将无法正常开展业务
1.8.3. OLTP系统遵循的准则是系统以最慢的速度进行交易,以确保每个事务使用最少的资源
1.8.4. OLTP赋予了组织一个重要的能力,即能够通过计算机使组织从繁琐的工作中解脱出来
1.8.5. 在OLTP中,紧急备份和恢复处理功能是必要的
1.8.6. 如果一个事务在OLTP作业流处理过程中出现问题,那么确保出现问题的事务不会破坏系统所使用的数据则非常重要
1.8.7. 当事务可以在线更新数据时,必须防止另一个事务在同一时间更新相同的数据
1.8.8. 多个事务同时对相同数据进行操作会产生冲突,从而破坏数据的完整性
1.9. 组织数据
1.9.1. 数据仓库的要求是将各个应用程序的数据集成到组织数据视图中,以提高数据的完整性
2. 文本数据2.1. 文本数据是最有用的数据类型之一
2.1.1. 目前我们仍未充分利用它
2.2. 文本数据的呈现方式
2.2.1. 纯文本文件
2.2.2. Word文件
2.2.3. PDF文件
2.2.4. HTML网页
2.2.5. JSON文件
2.2.6. XML文件
2.2.7. 手稿
2.2.8. 电子邮件
2.2.9. 网站评论
2.2.10. 博客
2.2.11. Excel单元格中的文本块等
2.3. 尽管许多转录软件产品和OCR产品并不完美,但它们在将音频文件和图片文件转换为可用的文本数据方面还是表现不错的
2.4. 文本数据往往都是不完整的且缺乏预定义的形式,同时大多数组织还将文本数据与数字数据、图片和细节混合存储,这进一步增加了人们的困惑
2.5. 文本数据之所以有价值,是因为我们能够提取有用的数据片段并为其添加上下文情境,从而通过分类、图表或相关性对其进行解释
2.6. 使用文本数据时的语言障碍
2.6.1. 文本数据的形式极为复杂,处理起来也极其困难
2.6.2. 全世界存在不少于7组主要字符构成的单词和文本数据
2.6.2.1. 包括美国字母表、多个阿拉伯字符集、俄语字母和希伯来字母表等
2.6.3. 当前全球有超过7100种语言,其中23种属于主要语言,全世界约80%的人口使用其中10种最主流的语言之一进行交流
2.6.4. 目前文本数据没有被广泛使用的另一个原因是大多数人都不知道如何说好自己的语言
2.6.4.1. 人们倾向于使用快捷说法、俚语以及不够规范的动词、名词和形容词
2.7. 多义词
2.7.1. 不使用文本数据的理由还有一个,那就是每个词语在不同的上下文情境中可能具有多种含义
2.7.2. 同一个词语可能因句子中其他词语的不同而具有完全不同的含义
2.8. 提取业务的含义
2.8.1. 手动提取需要让每位从事这项工作的员工接受相关培训,使其理解文本中蕴含的语义
2.8.1.1. 手动提取过程相对枯燥乏味,而且提取效果也因人而异
2.8.2. 文本ETL(Extract-Transform-Load)
2.8.3. 文本数据提取结果并不算完美
2.8.4. 情感体现了对某一产品或情形的感受
2.8.4.1. 情感不是一门精确的科学
2.8.5. 自然语言处理(Natural Language Processing,NLP)能够依据句子中的其他词语来标记词语
2.8.5.1. NLP作为一门科学,与其说是关于文本提取的,不如将其理解为基于标记、算法、人类假设和庞大测试数据集的文本预测
2.8.6. 提取文本数据时需要上下文情境
2.8.6.1. 在不降低结果质量的情况下,完成这种类型的文本数据提取所需要的时间和资源也会大大减少
2.9. 如果想要将文本数据转化为可用的数据源,就需要完成3个主要的数据清理步骤
2.9.1. 需要从数据源中提取文本数据并检索文本内容
2.9.2. 需要将数据转换为可与其他数据共同使用的格式
2.9.3. 需要将转换后的数据加载到待解决业务问题的结构中
3. 模拟/物联网数据3.1. 机器生成的模拟/物联网数据
3.1.1. 机器生成的数据是由机器操作所生成的,当机器运行时,会生成遥测数据以度量机器的工作
3.1.2. 机器可以通过多种途径生成数据,例如通过摄像头、热传感器、压力传感器等
3.1.3. 在机器生成数据时,还会记录许多其他参数
3.2. 当机器生成数据时,这些数据就会被保存到某种存储设备中
3.2.1. 工业设备,如泵或车床
3.2.2. 用于监视的摄像头
3.2.3. 手表
3.2.4. 无人机
3.2.5. 车辆
3.2.6. 当我们把有用的数据和无用的数据分开后,就可以把无用数据存入大容量存储器,之后如果需要的话,无用数据也仍然能被检索到
3.2.6.1. 节省了存储成本,因为大容量存储器更便宜
3.2.6.2. 处理数据所需时间更少
3.2.6.3. 更易于数据分析
3.2.7. 如果机器生成数据的环境构建得当,基础数据就会进一步固化
3.3. 数据有用性的差异
3.3.1. 大多数数据对企业等组织的业务来说并没有价值
3.3.2. 机器通常无法区分有用数据和无用数据,只是在不断地运行并生成数据
3.3.3. 机器生成的大部分数据都是糟粕数据(Dross Data)
3.3.3.1. 糟粕数据是准确的数据,它反映了机器的运行情况
3.3.3.2. 对企业等组织的业务来说是无用的
3.3.3.3. 只有非糟粕的数据才是有用的数据
3.4. 摄像头
3.4.1. 虽然车辆被破坏时所拍摄的照片数量相对较少,不到所有已拍摄照片的万分之一,但却是非常重要的
3.4.2. 对停车场来说,没有必要保留那些没有任何意义的照片,拍摄日常活动是没有任何价值的
3.4.3. 存储那些不重要的照片既昂贵又浪费资源,但是存储那些重要的照片是很有价值的
3.4.4. 机器拍摄停车场照片的模式通常是无用的,只会在机器生成数据的世界中一次又一次地重复
3.4.5. 几乎所有的机器都会遇到记录数据有用性方面的差异
3.4.6. 管理机器生成的数据则是需要从无用数据中蒸馏出有用的数据
3.5. 人工审视
3.5.1. 要想从无用数据中蒸馏出有用的数据,最原始的方法是通过人工审视数据
3.5.2. 蒸馏数据的方法虽然有效,但却相对粗暴,因为这意味着必须有人连续观看数小时的视频(或以其他方式查看收集的数据),才能获得几秒或几条有用的记录
3.5.3. 如果不小心错过视频中的重要部分,那么这一关键信息可能永远无法被发现
3.5.4. 唯一的好消息是,虽然这种人工方法痛苦而粗暴,但却总是有效的
3.5.5. 不建议使用此方法,除非没有其他更好的方法去访问和蒸馏机器生成的数据
3.6. 日期分隔
3.6.1. 按日期分隔数据
3.6.2. 手动蒸馏模拟/物联网数据是始终可用的,这样总比什么都没有好
3.7. 数据筛选
3.7.1. 筛选出可能需要的数据也是一种非常实用的方法,可以将不太可能需要的数据发送到大容量存储器,而将很有可能需要的数据发送到高性能存储器
3.7.2. 部分不需要的数据仍然会存储在高性能存储器中,这也是处理机器生成的数据所必须付出的代价
3.8. 阈值方法
3.8.1. 当数据进入高性能存储器后,超过阈值的数据记录立刻就显而易见了,而其余的数据则会被发送到大容量存储器中
3.8.2. 阈值方法的问题在于必须设置一个阈值
3.8.2.1. 如果阈值设置得太低,那么分析人员将可能错过重要的数据
3.8.2.2. 如果阈值设置得太高,分析人员可能将一些不必要的数据存储到高性能存储器中
3.8.3. 由于阈值方法能够节省大量的空间和时间,因此如果可能的话,应该优先考虑使用阈值方法
3.9. 时间排序方法
3.9.1. 蒸馏机器生成数据的另一种方法是时间排序方法
3.9.2. 在时间排序方法中,我们需要确定哪些时间段更有可能保存重要的数据
3.9.2.1. 决定不保留晚上8:00到早上5:00的监控数据,因为在这个时间段停车场通常没人
3.9.2.2. 在正常情况下,停车场在特定时间内是没有汽车的
3.9.2.3. 但也可能出现其他罕见的情况