Azure 数据基础知识探究核心数据概念-半结构化数据和非结构化数据
描述非关系数据的类型
非关系数据通常分为两类:半结构化和非结构化。
什么是半结构化数据?
半结构化数据是包含字段的数据。 每个实体中的字段不必相同。 只需基于每个实体依据来定义字段。 上一单元中介绍的客户实体就是半结构化数据的示例。 数据格式必须以这样一种方式来设置,即应用程序可以对其进行分析和处理。 执行此操作的常用方法是将每个实体的数据存储为 JSON 文档。 术语 JSON 代表 JavaScript 对象表示法;它是 JavaScript 应用程序用于在内存中存储数据的格式,但也可用于在文件中读取和写入文档。
JSON 文档括在大括号({ 和 })中。 每个字段都有名称(标签),后接冒号,然后是字段的值。 字段可包含简单值或子文档(每个都以大括号开头和结尾)。 字段还可以有多个值,以数组形式保存,并用方括号([ 和 ])括起来。 字段中的文本(或固定值)用引号引起来,字段之间以逗号隔开。
下面的示例显示上一单元的客户,格式为 JSON 文档:
{"ID": "1","Name": "Mark Hanson","Telephone": [ { "Home": "1-999-9999999" }, { "Business": "1-888-8888888" }, { "Cell": "1-777-7777777" }],"Address": [ { "Home": [{ "StreetAddress": "121 Main Street" }, { "City": "Some City" },{ "State": "NY" }, { "Zip": "10110" }] },{ "Business": [{ "StreetAddress": "87 Big Building" },{ "City": "Some City" },{ "State": "NY" },{ "Zip": "10111" }] }]
}{"ID": "2","Title": "Mr","Name": "Jeff Hay","Telephone": [ { "Home": "0044-1999-333333" }, { "Mobile": "0044-17545-444444" }],"Address": [{ "UK": [{ "StreetAddress": "86 High Street" },{ "Town": "Some Town" }, { "County": "A County" }, { "Postcode": "GL8888" }, { "Region": "UK" }] },{ "US": [{ "StreetAddress": "777 7th Street" }, { "City": "Another City" },{ "State": "CA" },{ "Zip": "90111" }] }]
}
可以自由定义任何喜欢的字段。 重要的一点是,数据遵循 JSON 语法。 当应用程序读取文档时,它可以使用 JSON 分析器将文档拆分为其组件字段并提取各个数据片段。
其他可能出现的格式包括 Avro、ORC 以及 Parquet:
- Avro 是一种基于行的格式。 它由 Apache 创建。 每条记录都包含一个标头,用于描述记录中的数据结构。 此标头以 JSON 格式存储。 数据以二进制信息的形式存储。 应用程序使用标头中的信息来分析二进制数据,并提取其中包含的字段。 Avro 是一种非常好的格式,用于压缩数据和最小化存储和网络带宽需求。 此示例部分显示了上例的标头信息(采用 Avro 格式):
{"type": "record","name": "contact_schema","fields": [{"name": "id","type": "int","doc": "ID of the contact"},{"name": "name","type": "string","doc": "Name of the contact"},
{"name": "telephone","type": ["null",{"type": "array","items": {"type": "record","name": "contact_schema.telephone","fields": [{"name": "phoneid","type": "int"},{"name": "phonetype","type": [ "null", "string" ]}]}}]}]
}
ORC(优化的行列式格式)将数据组织成列而不是行。 它由 HortonWorks 开发,用于优化 Apache Hive 中的读取和写入操作。 Hive 是一个数据仓库系统,支持快速数据汇总和查询大型数据集。 Hive 支持对非结构化数据进行类似于 SQL 的查询。 ORC 文件包含数据的带区。 每个带区都包含一列或一组列的数据。 带区包含对该带区中行的索引、每行的数据,以及保存着每列统计信息(count、sum、max、min 等)的脚注。
Parquet 是另一种列式数据格式。 它由 Cloudera 和 Twitter 创建。 Parquet 文件包括行组。 每列的数据一起存储在同一行组中。 每个行组都包含一个或多个数据块。 Parquet 文件包括描述在每个块中找到的行集的元数据。 应用程序可以使用此元数据快速找到给定行集的正确块,并为这些行检索指定列中的数据。 Parquet 专门用于有效地存储和处理嵌套数据类型。 它支持高效的压缩和编码方案。
什么是非结构化数据?
非结构化数据是不包含字段的数据。 示例包括视频、音频和其他媒体流。 每项都是二进制数据的无定形 blob。 无法在此数据中搜索特定元素。
可以选择将此类数据存储在专门为此目的设计的存储中。 在 Azure 中,可以将视频和音频数据存储为 Azure 存储帐户中的块 blob。 (blob 这个词表示“二进制大型对象”*)。 块 blob 仅支持基本的读取和写入操作。
也可以将文件视为非结构化数据的一种形式,尽管在某些情况下,文件可能包含用于指示文件类型(照片、Word 文档、Excel 电子表格等)的元数据、所有者以及可以存储为字段的其他元素。 但是,文件的主要内容是非结构化的。
Azure 数据基础知识探究核心数据概念-半结构化数据和非结构化数据相关推荐
- 大数据基础知识(下)
大数据基础知识:技巧与概念 大数据伦理 匿名方面的挑战 保密性方面的挑战 大数据的来源和结构 人类生成的数据 机器生成的数据 结构化数据 非结构化数据 存储大数据 分布式存储与云 云计算:IaaS.P ...
- 大数据基础知识(上)
大数据基础知识:技巧与概念 什么是大数据 数量多 流转快 种类多 大数据需要具备全部三个特征吗? 如何使用大数据 了解消费者大数据 了解企业大数据 了解科学研究大数据 大数据与数据科学 大数据与小数据 ...
- hawk大数据基础知识总结(1)
一.大数据概述 1.1大数据的概念 大数据一共具有三个特征:(1)全样而非抽样:(2)效率而非精确:(3)相关而非因果. (1)在过去由于缺乏获取全体样本的手段,人们发明了"随机调研数据&q ...
- 大数据基础知识全集,大数据爱好者收藏必备
目前,市场上的大数据产品太多,但远远低于IAAS的标准化水平,各产品之间的差异还不十分清楚.当许多公司正在制造大数据平台或大数据解决方案时,他们往往不知道选择哪些产品来满足他们的需求 ...
- 【大数据】大数据基础知识科普--数据分层
大数据基础知识科普–数据分层 (ETL.ODS.DW.DWD.DWM.DWS.DIM) 零.数据加载层:ETL(Extract-Transform-Load) 一.数据操作层:ODS(Operatio ...
- 大数据_02【大数据基础知识】
大数据_02[大数据基础知识] 01 什么是服务器 02 服务器类型 03 存储磁盘(硬盘) 04 什么是RAID RAID特点 RAID种类 05 什么是集群 06 什么是计算机网络 07 什么是交 ...
- 大数据_03【大数据基础知识】
大数据_03 [大数据基础知识] 01 大数据概述 02 什么是大数据?(Big Data) 03 传统数据与大数据的对比 04 大数据的特点 4.1 传统数据与大数据处理服务器系统安装对比 4.2 ...
- Big Data大数据基础知识
文章目录 大数据基础知识 什么是服务器? 服务器类型 什么是RAID 什么是集群? 为什么和谐号.复兴号会这么快? 大数据基础知识 内容概要 什么是服务器? 什么是RAID? 什么是集群? 什么是网络 ...
- 大数据基础知识科普(2)
上一篇<大数据基础知识科普(1)>为大家讲解了关于服务器,存储磁盘以及RAID的内容.这一篇将沿着之前的脚步,为大家带来更多学习大数据必须要掌握的知识! 目录 什么是集群? 什么是计算机网 ...
最新文章
- 如何用excel筛选相似内容_Excel筛选你用好了么?别再下拉点点点了
- zblog拓源纯净主题
- python双划线_Python中单下划线(_)和双下划线(__)的特殊用法
- c++使用单向链表存储一组有序数据_初试攻略丨计算机考研中数据结构知识点总结,硬核!...
- 一步一步教你使用AgileEAS.NET基础类库进行应用开发-基础篇-演示ORM中的查询
- 【Kafka】Kafka如何开启SSL 控制台消费与生产 代码消费与生产
- C# 线程手册 第二章 .NET 中的线程 线程的优势
- jstorm mysql_Jstorm+Spring+mybatis整合
- 程序员的小技能,1行代码修改开机密码、1张图片让你电脑死机
- Unity WebPlayer自定义进度条界面
- 论文必备:如何用卡片法写论文?
- java生成word目录_Apache POI自动生成Word文档(带目录)
- Hbuilder连接苹果手机
- NFT交易平台2.0来了,源代码,智能合约整套
- 点集的读入与输出操作
- 重读 阿里中供系前世今生:马云最神秘的子弟兵二
- 改变的不仅仅是货币——区块链技术的深层意义
- 基于SRS搭建RTMP直播流媒体服务器
- RiskCloud双控平台(有效分享HAZOP软件篇)
- 用随机场理论和卷积神经网络(CNN)分析边坡可靠度