“敏捷数据开发”的版本间的差异

来自CloudWiki
跳转至: 导航搜索
第5章 使用图表进行数据可视化
第19行: 第19行:
  
 
==第5章 使用图表进行数据可视化==
 
==第5章 使用图表进行数据可视化==
 +
===图表质量:迭代至关重要===
 +
一个好的图表应该会讲故事,用户可以从图表中得出见解,可以发现有趣的内容并分享和做出应对。实际上,大多数图表并不能实现这样的目标,几乎没什么价值。能讲故事的图表非常罕见,因为大多数人做出图表后就结束了。实际上,你必须迭代改进图表才能实现有用的可视化。做好在得到几个有用的图表前要丢弃很多图表的心理预期,不要试图提前定好图表细节,否则你会失望。使用你的直觉和好奇心,在即席的交互式探索式数据分析中有机地添加图表。
 +
 +
在敏捷数据科学中,我们优先通过网页进行可视化。尽管使用matplotlib或者R创建图表图像要比创建图表网页简单,但这种状况在迅速改变。有了现代的JavaScript图表库,创建基于网页的图表不会太难,因此我们从一开始就使用它来做可视化。
 +
 +
===用发布/装饰模型伸缩数据库===
 +
为了实现图表和其他服务,我们要怎样计算、发布和消费数据,以及我们在哪里进行数据处理,是数据库规范化过程中我们必须理解的概念。我们在批量计算中做的处理越多,在发布数据、读取数据库一层中做的处理越少,操作数据库所需的时间就越少。数据访问有几种典型模式,相应的数据处理和数据库操作的方式都有所不同
 +
 +
===一阶形式===
 +
数据伸缩性最好的形式是把图表、表格、预测模型都作为整体提前准备好,作为单个嵌套对象存储到键/值对存储系统或者文档存储系统中(不过从技术上来讲,你可以把数据以主键分组后用JSON格式编码,把任何数据库当作键/值对存储系统来用)。例如,要存储一个时间序列图表的数据,我们可以计算出图表中数据排序后的列表,把这个列表放到一个对象中并分配主键,这样我们就可以通过一条查询语句获取这个图表的数据了。

2021年8月13日 (五) 14:28的版本

敏捷数据科学有两大目标:

一是为了使用Python和Spark搭建出任意规模的数据分析应用,

二是帮助产品团队学会使用敏捷的方式协作开发分析应用来保障工作成效。

我为本书维护了一个网页(http://datasyndrome.com/book),里面有最新的更新,以及为读者准备的相关资料。

Data Syndrome提供视频课程《使用Kafka、PySpark、Spark MLlib和Spark Streaming进行实时预测分析》(Realtime Predictive Analytics with Kafka,PySpark, Spark MLlib and Spark Streaming. http://datasyndrome.com/video),使用了第7章和第8章的材料,教观看者如何用Kafka、Spark Streaming及网络应用的前端页面构建出整套的实时预测系统(见图P-2)。如果想进一步了解,请访问http://datasyndrome.com/video 或联系rjurney@datasyndrome. com。

补充材料(代码示例、练习等)可以在https://github.com/rjurney/Agile_Data_Code_2中下载到。

国内:www.broadview.com.cn

页面入口:http://www.broadview.com.cn/35166


第5章 使用图表进行数据可视化

图表质量:迭代至关重要

一个好的图表应该会讲故事,用户可以从图表中得出见解,可以发现有趣的内容并分享和做出应对。实际上,大多数图表并不能实现这样的目标,几乎没什么价值。能讲故事的图表非常罕见,因为大多数人做出图表后就结束了。实际上,你必须迭代改进图表才能实现有用的可视化。做好在得到几个有用的图表前要丢弃很多图表的心理预期,不要试图提前定好图表细节,否则你会失望。使用你的直觉和好奇心,在即席的交互式探索式数据分析中有机地添加图表。

在敏捷数据科学中,我们优先通过网页进行可视化。尽管使用matplotlib或者R创建图表图像要比创建图表网页简单,但这种状况在迅速改变。有了现代的JavaScript图表库,创建基于网页的图表不会太难,因此我们从一开始就使用它来做可视化。

用发布/装饰模型伸缩数据库

为了实现图表和其他服务,我们要怎样计算、发布和消费数据,以及我们在哪里进行数据处理,是数据库规范化过程中我们必须理解的概念。我们在批量计算中做的处理越多,在发布数据、读取数据库一层中做的处理越少,操作数据库所需的时间就越少。数据访问有几种典型模式,相应的数据处理和数据库操作的方式都有所不同

一阶形式

数据伸缩性最好的形式是把图表、表格、预测模型都作为整体提前准备好,作为单个嵌套对象存储到键/值对存储系统或者文档存储系统中(不过从技术上来讲,你可以把数据以主键分组后用JSON格式编码,把任何数据库当作键/值对存储系统来用)。例如,要存储一个时间序列图表的数据,我们可以计算出图表中数据排序后的列表,把这个列表放到一个对象中并分配主键,这样我们就可以通过一条查询语句获取这个图表的数据了。