当前位置: 首页 > 知识库问答 >
问题:

阅读和学习Spark API?

田骁
2023-03-14
val input = sc.textFile("README.md")
val words = input.flatMap(x => x.split(" "))
val result = words.map(x => (x, 1)).reduceByKey((x, y) => x + y)
def reduceByKey(func: (V, V) ⇒ V): RDD[(K, V)]

我想我问这个问题,因此使用问题主题是因为我仍然不知道如何正确阅读API,或者我只是错过了一些甚至是基本的火花概念?!

共有1个答案

王棋
2023-03-14

通常数据集的形式是(“key1”,val11)、(“key2”,val21)、(“key1”,val12)、(“key2”,val22)……等等

在RDD[(K,V)]中将有一个具有多个值的相同键

当您使用reduceByKey时。对于键中的每个值,将应用函数。

 val data = Array(("key1",2),("key1",20),("key2",21),("key1",2),("key2",10),("key2",33))

 val rdd = sc.parallelize(data)
 val res = rdd.reduceByKey((x,y) => x+y)
 res.foreach(println)
 (key2,64)
 (key1,24)

在这里,值序列被传递给函数。对于KEY1->(2,20,2)

最后,每个键都有一个值。

您可以使用spark shell来尝试API。

 类似资料:
  • 问题内容: 我试图理解下面的代码,并且遇到了困难。有人可以回答几个问题来帮助我理解吗? 我知道PHRASES(变量)包含字典,因此“类%%%(%%%)”映射为“使名为%%%的类为-a %%%”。 这些行(第2-13行)是否也实际上是在创建类,还是就像“字符串”一样?因为它看起来可能正在创建类,但是我不确定。 我也知道%%%, * 和@@@实际上会被代码中某些地方的实际单词替换,但是不知道如何或在哪

  • 本文向大家介绍轻松学习jQuery插件EasyUI EasyUI创建RSS Feed阅读器,包括了轻松学习jQuery插件EasyUI EasyUI创建RSS Feed阅读器的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了通过 jQuery EasyUI框架创建一个RSS阅读器,分享给大家供大家参考。具体如下: 运行效果截图如下: 我们将使用以下插件: layout:创建应用的用户界面。

  • 主要内容:机器学习,深度学习,机器学习与深度学习的区别,机器学习和深度学习的应用人工智能是近几年来最流行的趋势之一。机器学习和深度学习构成了人工智能。下面显示的维恩图解释了机器学习和深度学习的关系 - 机器学习 机器学习是让计算机按照设计和编程的算法行事的科学艺术。许多研究人员认为机器学习是实现人类AI的最佳方式。机器学习包括以下类型的模式 - 监督学习模式 无监督学习模式 深度学习 深度学习是机器学习的一个子领域,其中有关算法的灵感来自大脑的结构和功能,称为人工神经网络。

  • 我有以下类,它从/到包裹读取和写入对象数组: 在上面的代码中,我在读取< code>readParcelableArray时得到一个< code>ClassCastException: 错误/AndroidRuntime(5880):原因:Java . lang . classcastexception:[land roid . OS . parcelable; 上面的代码有什么错误?在编写对象数

  • 问题内容: Java的默认编码为。是?(请参见下面的编辑) 当文本文件被编码为?读者如何知道自己必须使用? 我谈论的读者是: s 来自的s 一个从 … 轮到我们,编码取决于操作系统,这意味着以下内容并非在每个操作系统上都适用: 问题答案: 读者如何知道他必须使用UTF-8? 通常你指定 你自己 的一个。它有一个采用字符编码的构造函数。例如 所有其他读者(据我所知)都使用平台默认字符编码,这实际上可

  • 问题内容: 我正在使用Paho发送和接收mqtt消息。到目前为止,发送消息一直没有问题,我正在使用mosquitto接收消息。 现在,我想使用Java客户端读取消息,并且注意到关于接收消息的文档越来越少。 我实现了MqttCallback接口,但仍然无法弄清楚如何阅读已订阅的主题的消息。 到目前为止,这是我的源代码,我可以使用mosquitto_sub读取消息。 问题答案: 您将在代理有时间将消息