Apache Spark RDD值查找

时间:2016-08-01 10:27:04

标签: apache-spark

我从Hbase加载数据并对该数据进行了一些操作,并创建了一个配对的RDD。我想在下一个函数中使用这个RDD的数据。我在RDD中有50万条记录。 您能否建议通过配对的RDD按键读取数据的性能有效方法。

4 个答案:

答案 0 :(得分:2)

执行以下操作:

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

这会很快。

答案 1 :(得分:1)

只有来自驱动程序,您才能使用<?php namespace App\Core; use App\Config; class Container { public $config; public $router; public $database; public $model; public $view; public $controller; public function __construct() { $this->config = new Config; $this->router = new Router; $this->database = new Database($this->config); } public function add() { // add dependencies from the outside? } public function getInstance(/* string */) { // return an instance for use somewhere? } public function newModel($model) { $model = $this->getModelNamespace() . $model; $this->model = new $model($this->database); return $this->model; } private function getModelNamespace() { $namespace = 'App\Models\\'; if (array_key_exists('namespace', $this->params = [])) { $namespace .= $this->params['namespace'] . '\\'; } return $namespace; } public function newView($params) { $this->view = new View($this->model, $params); return $this->view; } public function newController($controller) { $controller = $this->getControllerNamespace() . $controller; $this->controller = new $controller; return $this->controller; } private function getControllerNamespace() { $namespace = 'App\Controllers\\'; if (array_key_exists('namespace', $this->params = [])) { $namespace .= $this->params['namespace'] . '\\'; } return $namespace; } } 返回与提供的密钥相关联的所有值。

答案 2 :(得分:1)

这是一个棘手的用例。你可以使用一些数据存储并将其编入索引吗?

查看Splice Machine(开源)。

答案 3 :(得分:0)

您可以使用

rddName.take(5)

其中5是要返回的最顶层元素的数量。您可以相应地更改号码。 另外,要阅读第一个元素,您可以使用

rddName.first