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