作为强大的交互式数据分析工具,Spark's Shell提供了一种简单的学习API的方法。它可以使用Scala(一种运行Java虚拟机上现有Java库的好方法)或Python。使用Spark Directory中的以下方式开始运行:
SPARK的主要抽象是可以使用Hadoop InputFormats(例如HDFS文件)创建弹性分布式分布式数据集(RDD)。RDDS。SPARK源代码目录中的文本文件。
RDD的操作从RDD返回,并且可以将转换转换为新的RDD并返回其参考。LET使用一些操作:LET的启动:
现在,让我们使用一个转换,我们将使用过滤器返回该文件中包含sub -data集的新RDD。
我们可以将动作和转换链接在一起:
可以在更复杂的计算中使用更多的RDD操作RDD操作和转换。例如,我们希望在一行中找到最大数量的单词:
首先将行映射到整数数值中以生成新的RDD。在此新的RDD上绘制最大数量的RDD。地图和降低的参数是Scala的函数字符串(闭合),并且可以使用任何语言特征或任何语言特征或scala/java类库。例如,我们可以轻松调用其他函数声明。我们使用Math.max()函数使代码易于理解:
Hadoop的流行数据流模式是MapReduce。Spark可以轻松实现MapReduce:
在这里,我们将Flatmap,Map和dredbyKey组合在一起,以计算文件中每个单词的数量。结果是RDD,其中包含一组(String,int)键对。我们可以使用[collect]操作我们的shell中的单词数:
缓存火花支持内存缓冲区以将数据集拉入集群中。当您要重复访问时,这非常有用。例如,当我们在一个小的热(热)数据集中查询或运行像Web搜索排序(例如Web Search Atting)的重复算法时。一个简单的示例,让我们记录在缓存中的LinesWithSpark数据集:
100行缓存的文本文件用于研究火花。这看起来很愚蠢。真正有趣的人是,我们可以在非常大的数据集中使用相同的功能,甚至可以在10或100节点中进行交叉计算。您也可以使用bin/spark -shell连接到群集交互式操作编程指南中的方法。
原始:https://juejin.cn/post/7098616450792816677