相关疑难解决方法(0)

如何在Scala Spark中对RDD进行排序?

读取Spark方法sortByKey:

sortByKey([ascending], [numTasks])   When called on a dataset of (K, V) pairs where K implements Ordered, returns a dataset of (K, V) pairs sorted by keys in ascending or descending order, as specified in the boolean ascending argument.
Run Code Online (Sandbox Code Playgroud)

是否可以返回"N"个数量的结果.因此,不要返回所有结果,只返回前10位.我可以将已排序的集合转换为数组并使用take方法,但由于这是一个O(N)操作,是否有更有效的方法?

scala apache-spark rdd

34
推荐指数
3
解决办法
4万
查看次数

如何在Spark RDD中选择一系列元素?

我想在Spark RDD中选择一系列元素.例如,我有一个带有一百个元素的RDD,我需要选择60到80之间的元素.我该怎么做?

我看到RDD有一个take(i:int)方法,它返回第一个i元素.但是没有相应的方法来获取最后的i元素,或者从某个索引开始的中间元素.

apache-spark rdd

24
推荐指数
3
解决办法
4万
查看次数

根据row_number过滤RDD

sc.textFile(path)允许读取HDFS文件,但它不接受参数(比如跳过多行,has_headers,......).

在"学习星火"O'Reilly电子书中,建议使用以下函数读取CSV(例5-12.Python加载CSV示例)

import csv
import StringIO

def loadRecord(line):
"""Parse a CSV line"""
input = StringIO.StringIO(line)
reader = csv.DictReader(input, fieldnames=["name", "favouriteAnimal"])
return reader.next()
input = sc.textFile(inputFile).map(loadRecord)
Run Code Online (Sandbox Code Playgroud)

我的问题是如何选择"采取"行:

  1. 如何避免加载第一行(标题)
  2. 如何删除特定行(例如,第5行)

我在这里看到一些不错的解决方案:选择元素范围,但我想看看是否有更简单的东西.

谢谢!

python csv apache-spark

11
推荐指数
1
解决办法
9823
查看次数

Pyspark向数据帧添加顺序和确定性索引

我需要使用三个非常简单的约束将索引列添加到数据框:

  • 从0开始

  • 是顺序的

  • 确定性的

我确定我遗漏了一些明显的东西,因为对于这样一个简单的任务,或者使用非顺序,不确定性越来越单调的id,我发现的示例看起来非常复杂。我不想使用index压缩,然后不得不将以前分开的列现在分开放在单列中,因为我的数据帧在TB中,这似乎是不必要的。我不需要按任何分区,也不需要按任何顺序进行分区,而我所找到的示例可以做到这一点(使用窗口函数和row_number)。我需要的只是一个简单的0到df.count整数序列。我在这里想念什么?

12345

indexing pyspark

3
推荐指数
1
解决办法
1601
查看次数

标签 统计

apache-spark ×3

rdd ×2

csv ×1

indexing ×1

pyspark ×1

python ×1

scala ×1