摘要:
一、动机 我们已经学了很多在 Spark 中对已分发的数据执行的操作。到目前为止,所展示的示例都是从本地集合或者普通文件中进行数据读取和保存的。但有时候,数据量可能大到无法放在一台机器中,这时就需要探索别的数据读取和保存的方法了。 Spark 及其生态系统提供了很多可选方案。本章会介绍以下三类常见的 阅读全文
摘要:
错误的起因是本人因为一不小心点了下面圈出来的某一个按钮,具体记不清楚了(好像是"remove from build path"),然后整个项目变得很奇怪了,所有的包都变成了一个普通的文件,我的scala程序也运行不了了。 然后在查找资料的过程中,试了一种点击上面"Use as Source Fold 阅读全文
摘要:
键值对 RDD 是 Spark 中许多操作所需要的常见数据类型。键值对 RDD 通常用来进行聚合计算。我们一般要先通过一些初始 ETL(抽取、转化、装载)操作来将数据转化为键值对形式。键值对 RDD 提供了一些新的操作接口(比如统计每个产品的评论,将数据中键相同的分为一组,将两个不同的 RDD 进行 阅读全文
摘要:
Spark 对数据的核心抽象——弹性分布式数据集(Resilient Distributed Dataset,简称 RDD)。RDD 其实就是分布式的元素集合。在 Spark 中,对数据的所有操作不外乎创建 RDD、转化已有 RDD 以及调用 RDD 操作进行求值。而在这一切背后,Spark 会自动 阅读全文
摘要:
在编写第一个Scala语言的Spark程序时,在Scala IDE for Eclipse中运行程序时出现“Project XXXX contains build errors, Continue launch?”错误,程序没有报什么错误,所以应该是IDE的问题或者是配置的问题。 在多方查找的资料的 阅读全文
摘要:
在使用Debug模式前,一定要先打好断点。快捷调试方法: 在使用过程中,可以只保留Console,Variables,Debug窗口,把其他无用的窗口最小化掉,或者删掉即可。如果要恢复删掉的试图,按下图操作即可。 并且调整好相应布局,方便调试即可。 第一个箭头指向的按钮表示进入当前方法内部,一步一步 阅读全文
摘要:
一、搭建环境的前提条件 环境:ubuntu-16.04 hadoop-2.6.0 jdk1.8.0_161。 spark-2.4.0-bin-hadoop2.6。这里的环境不一定需要和我一样,基本版本差不多都ok的,但注意这里spark要和hadoop版本相对应。所需安装包和压缩包自行下载即可。 因 阅读全文
摘要:
题目描述: 代码实现: 运行结果: 阅读全文
摘要:
题目描述: 思路: 分酒,迷宫这些都是没有明显节点的图,不像城市建设网络这样子具有明显的节点,但是它是一种隐式的图,解决这类题目需要将它转换成图论来解决。这道题涉及的是状态转移,一个状态经过一次操作可能演变成另外一种状态,利用宽度优先搜索的话可以求解出从原始状态到目标状态需要经历的最少的步骤,宽度优 阅读全文
摘要:
题目: 在上一篇博客的基础上,这是另一种方法求最短路径的问题。 Dijkstra(迪杰斯特拉)算法:找到最短距离已经确定的点,从它出发更新相邻顶点的最短距离。此后不再关心前面已经确定的“最短距离已经确定的点”。 Dijkstra算法采用的是一种贪心的策略,声明一个数组dis来保存源点到各个顶点的最短 阅读全文
摘要:
题目: 最短路:给定两个顶点,在以这两个点为起点和终点的路径中,边的权值和最小的路径。考虑权值为点之间的距离。 单源最短路问题,Bellman-ford算法 思路:每次循环检查所有边,可优化。 应用于旅游等路径最小问题。 代码: 对于上一个代码。可以先把边集提取出来,这样不用每次扫描二维数组。 Ed 阅读全文
摘要:
学习最小生成树算法之前我们先来了解下下面这些概念: 树(Tree):如果一个无向连通图中不存在回路,则这种图称为树。 生成树 (Spanning Tree):无向连通图G的一个子图如果是一颗包含G的所有顶点的树,则该子图称为G的生成树。生成树是连通图的极小连通子图。这里所谓极小是指:若在树中任意增加 阅读全文
摘要:
一、问题描述 给定一个具有n个顶点的图,要给图上每个顶点染色并且要使相邻的顶点的颜色不同,问是否最多用2种颜色进行染色?没有重边和自环。把相邻顶点染成不同颜色的问题叫做图的着色问题。对图进行染色所需的最小颜色数,称为最小着色数。最小着色数为2的图称为二分图,如下图所示就是一个二分图。下面代码是用来判 阅读全文
摘要:
一、问题描述 根据图上描述,事实上一步走完是不可能的。可以用如下性质来判断欧拉回路与欧拉道路。 1、如果一个无向图是连通的,且最多只有两个并且最少要包含一个奇点(度数为奇数),则一定存在欧拉道路。 2、如果有两个奇点,它们必须是起点和终点。 3、如果奇点不存在,可以从任意点出发,最终一定会回到该点, 阅读全文
摘要:
一、定义: 没有圈的有向图,叫做DAG(Directed Acyclic Graph,有向无环图) 拓扑排序定义:将DAG中的顶点以线性方式进行排序。即对于任何自顶点u到顶点v的有向边u->v,在最后的排序结果中,顶点u总是在顶点v的前面。这样的排序结果,称为拓扑序。有环图,不存在拓扑排序。 二、拓 阅读全文