Skip to main content
 首页 » 编程设计

apache-spark之从 Spark 数据框中获取特定行

2024年10月25日13emanlee

df[100, c("column")] 有什么替代方案吗?在 Scala Spark 数据框中。我想从一列 Spark 数据框中选择特定的行。
例如 100th上面 R 等效代码中的行

请您参考如下方法:

首先,您必须了解DataFrames是分布式的,这意味着您无法在典型的 中访问它们程序方法,您必须先进行分析。虽然,你问的是 Scala我建议你阅读 Pyspark Documentation ,因为它的示例比任何其他文档都多。

但是,继续我的解释,我将使用 RDD 的一些方法。 API 导致所有 DataFrame s 有一个 RDD作为属性。请看我下面的例子,注意我是如何取得第二条记录的。

df = sqlContext.createDataFrame([("a", 1), ("b", 2), ("c", 3)], ["letter", "name"]) 
myIndex = 1 
values = (df.rdd.zipWithIndex() 
            .filter(lambda ((l, v), i): i == myIndex) 
            .map(lambda ((l,v), i): (l, v)) 
            .collect()) 
 
print(values[0]) 
# (u'b', 2) 

希望有人能用更少的步骤给出另一种解决方案。