rdd相关内容

正确使用大型广播变量的技巧?

我使用了一个大约 100 MB 大小的腌制广播变量,我用它来近似: >>>数据 = 列表(范围(整数(10*1e6)))>>>导入 cPickle 作为泡菜>>>len(pickle.dumps(数据))98888896 在具有 3 个 c3.2xlarge 执行程序和一个 m3.large 驱动程序的集群上运行,使用以下命令启动交互式会话: IPYTHON=1 pyspark --ex ..
发布时间:2021-12-22 21:26:17 Python

将 RDD 划分为长度为 n 的元组

我对 Apache Spark 和 Python 比较陌生,想知道我要描述的内容是否可行? 我有一个 [m1, m2, m3, m4 形式的 RDD, m5, m6.......mn](你在运行 rdd.collect() 时得到这个).我想知道是否有可能将这个 RDD 转换为另一个形式为 [(m1, m2, m3),(m4, m5, m6).....(mn-2, mn-1, mn)].内部 ..
发布时间:2021-12-22 21:21:22 Python

为什么在 Spark 中需要折叠动作?

我有一个愚蠢的问题,涉及fold 和PySpark 中的reduce.我理解这两种方法之间的区别,但是,如果两者都需要应用的函数是一个可交换的幺半群,我无法找出一个例子,其中 fold 不能被reduce`替代. 另外,在fold的PySpark实现中使用了acc = op(obj, acc),为什么使用这个操作顺序而不是acc =op(acc, obj)?(这第二个顺序对我来说听起来更接近 ..
发布时间:2021-12-22 21:19:52 其他开发

PySpark 中的随机数生成

让我们从一个总是返回随机整数的简单函数开始: 将 numpy 导入为 np定义 f(x):返回 np.random.randint(1000) 和一个用零填充并使用 f 映射的 RDD: rdd = sc.parallelize([0] * 10).map(f) 由于上面的 RDD 不是持久化的,我希望每次收集时都会得到不同的输出: >rdd.collect()[255, 512, 51 ..
发布时间:2021-12-21 16:10:27 Python

你如何使用 Python 在 Spark 中执行两个 RDD 表的基本连接?

您将如何使用 Python 在 Spark 中执行基本连接?在 R 中,您可以使用 merg() 来执行此操作.在 spark 上使用 python 的语法是什么: 内连接 左外连接 交叉连接 有两个表 (RDD),每个表中有一个具有公共键的列. RDD(1):(key,U)RDD(2):(key,V) 我认为内部联接是这样的: rdd1.join(rdd2).map(cas ..
发布时间:2021-12-17 20:29:40 Python

Spark RDD - 分区是否总是在 RAM 中?

我们都知道 Spark 在内存中进行计算.我只是对以下内容感到好奇. 如果我从 HDFS 在我的 pySpark shell 中创建 10 个 RDD,是否意味着所有这 10 个 RDD 的数据都将驻留在 Spark Workers 内存中? 如果我不删除RDD,它会永远在内存中吗? 如果我的数据集(文件)大小超过可用 RAM 大小,数据将存储在哪里? 解决方案 如果 ..
发布时间:2021-12-15 18:48:51 其他开发

spark中的RDD是什么

定义说: RDD 是不可变的分布式对象集合 我不太明白这是什么意思.是不是像存储在硬盘上的数据(分区对象)如果是这样,那么RDD为什么可以有用户定义的类(例如java,scala或python) 来自此链接:https://www.safaribooksonline.com/library/view/learning-spark/9781449359034/ch03.html 它 ..
发布时间:2021-12-15 18:47:40 其他开发

当 Spark 意识到 RDD 不再被使用时,它会取消持久化 RDD 吗?

当我们想要多次使用它时,我们可以将 RDD 持久化到内存和/或磁盘中.但是,我们以后是否必须自己取消持久化,或者 Spark 是否会进行某种垃圾收集并在不再需要 RDD 时取消持久化?我注意到如果我自己调用 unpersist 函数,我的性能会变慢. 解决方案 是的,当 RDD 被垃圾回收时,Apache Spark 将取消持久化. 在 RDD.persist 可以看到: sc.c ..
发布时间:2021-12-15 18:38:49 其他开发

如何使用 Spark 找到中位数和分位数

如何使用分布式方法、IPython 和 Spark 找到整数 RDD 的中位数?RDD 大约有 700,000 个元素,因此太大而无法收集和找到中位数. 这个问题和这个问题类似.但是,问题的答案是使用 Scala,我不知道. 如何使用 Apache Spark 计算准确的中位数? 使用 Scala 答案的思路,我正在尝试用 Python 编写一个类似的答案. 我知道我首先要 ..
发布时间:2021-11-28 21:42:51 Python

使用 sc.textFile() 加载本地文件以触发

问题 如何使用 sc.textFile 从本地文件系统加载文件到 Spark?我需要更改任何 -env 变量吗?同样,当我在未安装 Hadoop 的 Windows 上尝试相同的操作时,我也遇到了同样的错误. 代码 >val inputFile = sc.textFile("file///C:/Users/swaapnika/Desktop/to do list")/17 22:28 ..
发布时间:2021-11-15 00:48:56 其他开发

Spark RDD groupByKey + join vs join 性能

我在与其他用户共享的集群上使用 Spark.因此,仅根据运行时间来判断我的哪个代码运行效率更高是不可靠的.因为当我运行更高效的代码时,其他人可能会运行大量数据并使我的代码执行更长时间. 我可以在这里问两个问题吗: 我正在使用 join 函数来加入 2 个 RDD 并且我在使用 之前尝试使用 groupByKey()加入,像这样: rdd1.groupByKey().join(rdd2 ..
发布时间:2021-11-14 23:30:47 其他开发

自制 DataFrame 聚合/dropDuplicates Spark

我想对我的 DataFrame df 执行转换,以便我在最终 DataFrame 中只有每个键一次并且只有一次. 出于机器学习的目的,我不想在我的数据集中有偏差.这应该永远不会发生,但是我从数据源获得的数据包含这种“怪异".因此,如果我有具有相同键的行,我希望能够选择两者的组合(如平均值)或字符串连接(例如标签)或随机值集. 说我的 DataFrame df 看起来像这样: +--- ..
发布时间:2021-11-14 23:30:07 其他开发

自制 DataFrame 聚合/dropDuplicates Spark

我想对我的 DataFrame df 执行转换,以便我在最终 DataFrame 中只有每个键一次并且只有一次. 出于机器学习的目的,我不想在我的数据集中有偏差.这应该永远不会发生,但是我从数据源获得的数据包含这种“怪异".因此,如果我有具有相同键的行,我希望能够选择两者的组合(如平均值)或字符串连接(例如标签)或随机值集. 说我的 DataFrame df 看起来像这样: +--- ..
发布时间:2021-11-14 23:26:58 其他开发

Spark RDD groupByKey + join vs join 性能

我在与其他用户共享的集群上使用 Spark.因此,仅根据运行时间来判断我的哪个代码运行效率更高是不可靠的.因为当我运行更高效的代码时,其他人可能会运行大量数据并使我的代码执行更长时间. 我可以在这里问两个问题吗: 我正在使用 join 函数来加入 2 个 RDD 并且我在使用 之前尝试使用 groupByKey()加入,像这样: rdd1.groupByKey().join(rdd2 ..
发布时间:2021-11-14 23:26:18 其他开发

将csv文件加载到RDD和spark中的Dataframe之间的区别

我不确定这个特定问题是否更早被问到.可能是重复的,但我无法找到坚持此的用例. 正如我们所知,我们可以将 csv 文件直接加载到数据帧中,也可以将其加载到 RDD 中,然后将该 RDD 转换为数据帧. RDD = sc.textFile("pathlocation") 我们可以对这个RDD应用一些Map、filter等操作,将其转化为dataframe. 我们也可以创建一个直接读取c ..
发布时间:2021-11-14 23:21:31 其他开发