《大数据系统构建:可扩展实时数据系统构建原理与最佳实践》一第3章 大数据的数据模型:示例

简介:

本节书摘来自华章出版社《大数据系统构建:可扩展实时数据系统构建原理与最佳实践》一书中的第3章,第3.1节,南森·马茨(Nathan Marz) [美] 詹姆斯·沃伦(JamesWarren) 著 马延辉 向 磊 魏东琦 译,更多章节内容可以访问云栖社区“华章计算机”公众号查看。

第3章

大数据的数据模型:示例

本章内容
Apache Thrift
使用Apache Thrift实现图模式
序列化框架的局限性
在第2章中,你知道了形成一个数据模型的原则—原始数据的价值、处理语义规范化和不变性的至关重要作用。你知道了图模式可以满足所有这些属性,并了解了SuperWebAnalytics.com的图模式。
本章是第一个示例章节,将使用现实世界的工具演示前一章的概念。你可以只阅读本书的理论章节,学习整个Lambda架构,但示例章节展示了将理论转换为真正代码的细微差异。在本章中,我们将使用Apache Thrift实现SuperWebAnalytics.com的数据模型—Apache Thrift是一个序列化框架。你会看到,即使在一个类似写模式的简单任务中,理想化的理论和实践中的实现之间也是有冲突的。

3.1 为什么使用序列化框架

许多开发人员都曾将原始数据写为无模式的格式,如JSON。这是有吸引力的,因为它很容易入门,但这种方法很容易会导致问题。无论是由于错误还是不同开发人员之间的误解,数据损坏会不可避免地发生。根据经验,数据损坏错误是调试起来最耗时的错误之一。
数据损坏问题很难调试,因为你很难知道损坏是如何发生的。通常只有当处理的下游出现错误时,你才会注意到这一问题—在损坏的数据已经写入很长一段时间之后。例如,由于必需字段的丢失,你可能会得到一个空指针异常。你很快就会意识到这是由一个丢失的字段引起的,但绝对不会第一时间知道数据为什么会这样。
当创建一个可实施的模式时,你会在写数据时获得错误—返回完整的关于数据如何以及为什么变得无效的上下文(类似堆栈跟踪)。此外,错误阻止了程序通过写入这些数据来损坏主数据集。
序列化框架是一种能实现可实施模式的简单途径。如果你曾使用过面向对象和静态类型语言,那么会很快熟悉序列化框架的使用方法。序列化框架可以生成任何你希望用来读、写和验证可匹配模式的对象的代码。
然而,当谈到实现全面严格的模式时,序列化框架是有局限性的。讨论完如何将序列化框架应用到SuperWebAnalytics.com数据模型之后,我们将讨论这些局限性及其解决方法。

相关实践学习
基于MaxCompute的热门话题分析
Apsara Clouder大数据专项技能认证配套课程:基于MaxCompute的热门话题分析
相关文章
|
5月前
|
机器学习/深度学习 传感器 分布式计算
数据才是真救命的:聊聊如何用大数据提升灾难预警的精准度
数据才是真救命的:聊聊如何用大数据提升灾难预警的精准度
365 14
|
5月前
|
存储 SQL 分布式计算
MaxCompute 聚簇优化推荐原理
基于历史查询智能推荐Clustered表,显著降低计算成本,提升数仓性能。
331 4
MaxCompute 聚簇优化推荐原理
|
5月前
|
传感器 人工智能 监控
数据下田,庄稼不“瞎种”——聊聊大数据如何帮农业提效
数据下田,庄稼不“瞎种”——聊聊大数据如何帮农业提效
177 14
|
4月前
|
传感器 人工智能 监控
拔俗多模态跨尺度大数据AI分析平台:让复杂数据“开口说话”的智能引擎
在数字化时代,多模态跨尺度大数据AI分析平台应运而生,打破数据孤岛,融合图像、文本、视频等多源信息,贯通微观与宏观尺度,实现智能诊断、预测与决策,广泛应用于医疗、制造、金融等领域,推动AI从“看懂”到“会思考”的跃迁。
358 0
|
5月前
|
机器学习/深度学习 传感器 监控
吃得安心靠数据?聊聊用大数据盯紧咱们的餐桌安全
吃得安心靠数据?聊聊用大数据盯紧咱们的餐桌安全
182 1
|
5月前
|
数据采集 自动驾驶 机器人
数据喂得好,机器人才能学得快:大数据对智能机器人训练的真正影响
数据喂得好,机器人才能学得快:大数据对智能机器人训练的真正影响
338 1
|
6月前
|
机器学习/深度学习 监控 大数据
数据当“安全带”:金融市场如何用大数据玩转风险控制?
数据当“安全带”:金融市场如何用大数据玩转风险控制?
198 10
|
6月前
|
机器学习/深度学习 自然语言处理 监控
大数据如何影响新兴市场投资决策?——数据才是真正的风向标
大数据如何影响新兴市场投资决策?——数据才是真正的风向标
159 3
|
6月前
|
机器学习/深度学习 传感器 大数据
大数据真能治堵吗?聊聊交通行业用数据疏通“城市血管”
大数据真能治堵吗?聊聊交通行业用数据疏通“城市血管”
218 4
|
6月前
|
机器学习/深度学习 人工智能 自然语言处理
Java 大视界 -- Java 大数据机器学习模型在自然语言生成中的可控性研究与应用(229)
本文深入探讨Java大数据与机器学习在自然语言生成(NLG)中的可控性研究,分析当前生成模型面临的“失控”挑战,如数据噪声、标注偏差及黑盒模型信任问题,提出Java技术在数据清洗、异构框架融合与生态工具链中的关键作用。通过条件注入、强化学习与模型融合等策略,实现文本生成的精准控制,并结合网易新闻与蚂蚁集团的实战案例,展示Java在提升生成效率与合规性方面的卓越能力,为金融、法律等强监管领域提供技术参考。