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

来自CloudWiki
跳转至: 导航搜索
第5章 使用图表进行数据可视化
第4章 记录收集与展示
 
(未显示同一用户的28个中间版本)
第1行: 第1行:
敏捷数据科学有两大目标:
+
==第1章 理论==
 +
*[[敏捷数据开发:前言]]
 +
*[[敏捷数据科学]]
  
一是为了使用Python和Spark搭建出任意规模的数据分析应用,
+
==第2章 敏捷工具==
 +
*[[Spark全栈:可伸缩性=易用性]]
 +
*[[Spark全栈:敏捷数据科学之数据处理]]
 +
*[[Spark全栈:下载数据到本地]]
 +
*[[Spark全栈:下载并运行代码]]
 +
*[[Spark全栈:工具集概览]]
  
二是帮助产品团队学会使用敏捷的方式协作开发分析应用来保障工作成效。
+
==第3章 数据==
 +
*[[Spark全栈:飞行航班数据]]
 +
*[[Spark全栈:天气数据]]
 +
*[[Spark全栈:敏捷数据科学中的数据处理]]
 +
*[[Spark全栈:SQL vs.NoSQL]]
  
我为本书维护了一个网页(http://datasyndrome.com/book),里面有最新的更新,以及为读者准备的相关资料。
+
==第4章 记录收集与展示==
 +
*[[Spark全栈:攀登金字塔]]
 +
*先备知识:
 +
**[[PySpark实战:下载Spark]]
 +
**[[PySpark实战:Linux搭建Spark环境]]、[[PySpark实战:Windows搭建Spark环境]]
 +
**[[PySpark实战:用PySpark建立第一个Spark RDD]]、[[PySpark实战:PySpark Shell 建立RDD]]、[[PySpark实战:Python文件 建立RDD]]
 +
**[[PySpark实战:DataFrame存储csv数据]]
 +
*[[Spark全栈:航班数据收集与序列化]]
  
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。
 
  
*[[本书主要结构]]
+
*先备知识:
 +
**[[PySpark实战:安装MongoDB]]
 +
**[[PySpark实战:MongoDB基本操作]]
 +
**[[PySpark实战:安装pymongo]]
 +
**[[PySpark实战:安装MongoDB的Java驱动]]
  
补充材料(代码示例、练习等)可以在https://github.com/rjurney/Agile_Data_Code_2中下载到。
+
排错:
 +
https://blog.csdn.net/zhangxiaohui4445/article/details/104412312
  
国内:www.broadview.com.cn
+
https://blog.csdn.net/zhangxiaohui4445/article/details/104412312
  
页面入口:http://www.broadview.com.cn/35166
+
https://blog.csdn.net/qq_28626909/article/details/81636803
  
 +
**[[PySpark实战:安装mongo-spark]]
 +
**[[MongoDB + Spark: 完整的大数据解决方案  https://blog.51cto.com/u_15486212/5239193]]
 +
**[[PySpark实战:安装mongo-hadoop]]
 +
**[[PySpark实战:安装pymongo_spark]]
 +
*[[Spark全栈:航班记录处理与发布]]
  
 
==第5章 使用图表进行数据可视化==
 
==第5章 使用图表进行数据可视化==
===图表质量:迭代至关重要===
+
*[[Spark全栈:使用图表进行数据可视化]]
一个好的图表应该会讲故事,用户可以从图表中得出见解,可以发现有趣的内容并分享和做出应对。实际上,大多数图表并不能实现这样的目标,几乎没什么价值。能讲故事的图表非常罕见,因为大多数人做出图表后就结束了。实际上,你必须迭代改进图表才能实现有用的可视化。做好在得到几个有用的图表前要丢弃很多图表的心理预期,不要试图提前定好图表细节,否则你会失望。使用你的直觉和好奇心,在即席的交互式探索式数据分析中有机地添加图表。
 
  
在敏捷数据科学中,我们优先通过网页进行可视化。尽管使用matplotlib或者R创建图表图像要比创建图表网页简单,但这种状况在迅速改变。有了现代的JavaScript图表库,创建基于网页的图表不会太难,因此我们从一开始就使用它来做可视化。
+
==第6章 通过报表探索数据==
 +
*[[Spark全栈:通过报表探索数据]]
  
===用发布/装饰模型伸缩数据库===
+
参考文档:https://github.com/rjurney/Agile_Data_Code_2
为了实现图表和其他服务,我们要怎样计算、发布和消费数据,以及我们在哪里进行数据处理,是数据库规范化过程中我们必须理解的概念。我们在批量计算中做的处理越多,在发布数据、读取数据库一层中做的处理越少,操作数据库所需的时间就越少。数据访问有几种典型模式,相应的数据处理和数据库操作的方式都有所不同
 
 
 
====一阶形式====
 
数据伸缩性最好的形式是把图表、表格、预测模型都作为整体提前准备好,作为单个嵌套对象存储到键/值对存储系统或者文档存储系统中(不过从技术上来讲,你可以把数据以主键分组后用JSON格式编码,把任何数据库当作键/值对存储系统来用)。例如,要存储一个时间序列图表的数据,我们可以计算出图表中数据排序后的列表,把这个列表放到一个对象中并分配主键,这样我们就可以通过一条查询语句获取这个图表的数据了。
 
 
 
====二阶形式====
 
二阶形式的伸缩性仅次于一阶形式。它利用了Google Bigtable(https://hbase.apache.org/book.html#scan)及Apache HBase等衍生项目中键范围查询(http://hbase.apache.org/)的功能。HBase表中的数据按键的字典序排序存储。这是很关键的功能,它让我们可以高效访问一定范围内的数据,因为键相似的记录都在磁盘上按顺序存储。
 
 
 
====三阶形式====
 
式之后,最高效的数据存储形式是把按时间或者分类归纳后的数据存储在MySQL或者MongoDB这样的数据库系统中,利用系统提供的B树(https://en.wikipedia.org/wiki/B-tree)索引(https://en.wikipedia.org/wiki/Database_index)高效查询表中的一部分记录,或是进行表连接。这有可能用到范围查询,也可能用到一些更复杂的随机查询,与对排好序的表进行范围查询完全不同。这些数据库通常有GROUP BY的功能,可以进行聚合计算,和我们用Spark SQL所实现的差不多。
 
 
 
====选择一种形式====
 
总之,选择低阶的形式可以让系统更容易伸缩,甚至实现水平伸缩。但是请记住,你可以选择功能更丰富的数据库,然后除迫切需要外不使用那些功能。
 
 
 
===探究时令性===
 
====查询并展示航班总数====
 
====第一张图表进行迭代====
 
 
 
===提取“金属”(飞机(实体))===
 
数据价值金字塔的图表层还有一个要素:实体提取。在创建图表时,我们把原子记录按属性分组做聚合,这其实是隐含的实体提取。实体一般是我们分析过程中的下一步。比如,前一章做了航班的列表和搜索,本章中对航班进行了聚合,这时我们会自然而然地想对航班的一些方面进行深挖:飞机、航空公司、机场等。图5-7展示了我们可能要提取的一些实体。
 
 
 
====提取机尾编号====
 
我们首先用TailNum字段代表飞机,为一架飞机的所有航班记录创建一个索引。然后创建一个元组,第一个字段为机尾编号,第二个字段为2015年该机尾编号所对应的按日期排序的所有航班列表。
 
 
 
数据处理:批处理还是实时处理?
 
 
 
我们现在面对一个选择:在哪里实现这个功能。在实际数据应用领域中,这种选择是经常会遇到的。总的原则是原型开发时选择任何一层都可以,可以用Spark计算,也可以用HTML模拟,但要尽可能地移到批处理阶段。
 
 
 
就本例而言,第一种选择是用PySpark按机尾编号对航班进行分组。这种方法把我们所有的处理都放到后端的批处理中,符合处理大量数据的要求。第二种方法是和之前一样使用MongoDB或者Elasticsearch查询航班记录索引,只是在网络应用程序的处理中稍作修改。
 
 
 
====用Spark进行数据分组和排序====
 
====发布飞机到Mongo中====
 
====用Flask提供飞机记录====
 
 
 
====评估飞机记录====
 
===数据完善===
 
有了飞机的机尾编号之后,我们还想要飞机的更多信息!这些信息不包含在准点情况记录中,因此我们需要使用别的数据源完善(enrich)我们的数据集。Techopedia把数据完善定义为“表示增强、提炼或者改进原始数据的过程的术语”。我们所说的完善(enrich)指的是引入另一个数据集来增强已有的数据集,换句话说,就是表连接操作和数据清洗(munging)等附加处理。
 
 
 
====网页表单逆向工程====
 
自动化表单提交
 
 
 
 
 
Python的requests包(http://docs.python-requests.org/en/master/)很适合用来获取网页(用Python写爬虫的另一种方式是使用Selenium(http://www.seleniumhq.org/),它可以自动化操作浏览器;我们后面会介绍到)。而Python的BeautifulSoup包(https://www.crummy. com/software/BeautifulSoup/)可以很方便地解析HTML来提取数据。
 
 
 
====评价完善后的数据====
 

2022年7月21日 (四) 10:35的最新版本

第1章 理论

第2章 敏捷工具

第3章 数据

第4章 记录收集与展示


排错: https://blog.csdn.net/zhangxiaohui4445/article/details/104412312

https://blog.csdn.net/zhangxiaohui4445/article/details/104412312

https://blog.csdn.net/qq_28626909/article/details/81636803

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

第6章 通过报表探索数据

参考文档:https://github.com/rjurney/Agile_Data_Code_2