2016-08-01 130 views
-1

我从Hbase加载数据并对该数据执行了一些操作并创建了配对的RDD。我想在下一个函数中使用这个RDD的数据。 RDD中有50万条记录。 能否请您建议性能有效的方式,通过配对的RDD中的密钥读取数据。Apache Spark RDD值查找

+6

[我如何问一个好问题?](https://stackoverflow.com/help/how-to-ask) – zero323

回答

0

您可以使用

rddName.take(5) 

其中5是要返回最顶端的元素个数。您可以相应地更改号码。 也读第一个元素,你可以使用

rddName.first 
+0

我必须通过一个密钥,并获得价值。 –

+0

您可以使用mapValues() –

0

仅从驱动程序,您可以使用rdd.lookup(key)返回与所提供的密钥相关联的所有值。

+0

感谢@Umberto。我从查阅影响性能的文档中读到。 RDD有大约50万条记录。有没有什么性能有效的做法? –

1

这是一个棘手的用例。你可以使用一些数据存储和索引它吗?

检查拼接机(开源)。

0

执行以下操作:

rdd2 = rdd1.sortByKey() 
rdd2.lookup(key) 

这将是快。