问题标签 [pyspark]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
5 回答
31960 浏览

apache-spark - PySpark 和 MLLib:随机森林特征的重要性

我正在尝试提取我使用 PySpark 训练的随机森林对象的特征重要性。但是,我在文档中的任何地方都没有看到这样做的示例,也不是 RandomForestModel 的方法。

如何从RandomForestModelPySpark 中的回归器或分类器中提取特征重要性?

这是文档中提供的示例代码,可帮助我们入门;但是,其中没有提及特征重要性。

我没有看到model.__featureImportances_可用的属性——我在哪里可以找到这个?

0 投票
0 回答
2907 浏览

python - Pyspark 说“行”对象在 partitionBy() 上没有属性“_get_object_id”

考虑以下 SchemaRDD:

我无法在其上使用partitionBy,尝试了以下操作:

两者都给出“Row”对象没有属性“_get_object_id”错误。

然后我们如何使用 - 选择的#partitions - 特定分区器对 SchemaRdd 进行分区 - 我还想在 _get_object_id 问题解决后提供第二个参数,即分区器

0 投票
0 回答
580 浏览

scala - PySpark:hash()ResultIterable在collect()之前和之后不同

我正在尝试在 PySpark 中实现局部敏感散列(基于spark-hash项目,用 Scala 编写)。散列步骤正在产生一些奇怪的行为。

在我获取为每个向量生成的 minhashes 列表的哈希值的步骤中,其输出似乎很大程度上取决于我是并行哈希(PySpark REPL)还是顺序哈希(之后collect)。例如,如果我以这种方式生成散列(调用groupByKey应该给我散列到同一波段的元素):

我得到了一个类似于您所期望的列表;即,许多独特的数字:

但是,我采用完全相同的数据,但使用 Spark 构造对其进行哈希处理:

现在我得到一个如下所示的列表:

相同的哈希一遍又一遍地重复。但是,如果我使用相同的 Spark 构造,但在最后一秒将 ResultIterable 转换为frozenset:

现在我再次得到一个唯一哈希列表。知道发生了什么吗?ResultIterable在 Spark 执行期间,散列在对象上的工作方式有什么奇怪的吗?

0 投票
3 回答
6092 浏览

python-2.7 - Spark安装错误--pyspark

我正在 Windows 8 上安装 spark 1.2.1,并且我已经下载了 Hadoop 2.4 的预构建包

当我运行pyspark时,出现以下错误:

我已经搜索过,我发现通常错误是由于路径变量未正确定义而引起的,但我已经检查过并且我的变量都已到位。我该如何解决这个错误?“该系统找不到指定的路径。” 它在说哪条路。?

0 投票
2 回答
11084 浏览

apache-spark - PySpark:在“NoneType”对象上过滤掉 RDD 元素失败是不可迭代的

我想filter删除字段“状态”不等于“确定”的 RDD 元素。我从 HDFS 上的一组 CSV 文件创建我的 RDD,然后map在尝试之前获取我想要的结构filter

我可以对这个 RDD 做其他事情——例如mapget某些字段做其他事情,等等。但是,当我使用 运行我的代码时,其中一个任务总是失败,并在我的lambda 函数filter中出现异常:filter

我认为这意味着filterlambda 正在接收None,所以我添加了代码loadRecord以避免返回None。但是,我仍然遇到同样的错误。它确实适用于一个小样本数据集,但我的实际数据足够大,我不确定如何检测它的哪些部分可能导致问题。

任何输入表示赞赏!

0 投票
4 回答
34388 浏览

python - 如何在 pyspark 脚本中访问 SparkContext

以下 SOF 问题How to run script in Pyspark and drop into IPython shell when done? 告诉如何启动 pyspark 脚本:

但是我们如何访问existin spark上下文呢?

只是创建一个新的不起作用:

但是尝试使用现有的..那么现有的呢?

即 SparkContext 实例没有变量

0 投票
3 回答
118193 浏览

python - 如何在pyspark中将DataFrame转换回正常的RDD?

我需要使用

DataFrame 上不可用的方法。所有 DataFrame 方法仅引用 DataFrame 结果。那么如何从 DataFrame 数据中创建一个 RDD 呢?

注意:这是对 1.2.0 的更改(在 1.3.0 中)。

从@dpangmao 的答案更新:方法是.rdd。我有兴趣了解 (a) 它是否是公开的,以及 (b) 对性能的影响是什么。

好吧,(a)是肯定的,(b)——你可以在这里看到有显着的性能影响:必须通过调用mapPartitions创建一个新的 RDD :

dataframe.py中(注意文件名也发生了变化(原为 sql.py):

0 投票
2 回答
28297 浏览

python - 在 pyspark RDD 上显示分区

pyspark RDD 文档

http://spark.apache.org/docs/1.2.1/api/python/pyspark.html#pyspark.RDD

没有显示任何方法来显示 RDD 的分区信息。

有没有办法在不执行额外步骤的情况下获取该信息,例如:

以上确实有效..但似乎需要额外的努力。

0 投票
2 回答
6137 浏览

apache-spark - 设置 PySpark 脚本中使用的核心数?

我想知道如何设置 PySpark 程序中使用的核心数。

我一直在做一些搜索,但无法找到明确的答案。

0 投票
5 回答
163933 浏览

python - Updating a dataframe column in spark

Looking at the new spark DataFrame API, it is unclear whether it is possible to modify dataframe columns.

How would I go about changing a value in row x column y of a dataframe?

In pandas this would be:

Edit: Consolidating what was said below, you can't modify the existing dataframe as it is immutable, but you can return a new dataframe with the desired modifications.

If you just want to replace a value in a column based on a condition, like np.where:

If you want to perform some operation on a column and create a new column that is added to the dataframe:

If you want the new column to have the same name as the old column, you could add the additional step: