假设
rdd1 = ( (a, 1), (a, 2), (b, 1) ),
rdd2 = ( (a, ?), (a, *), (c, .) ).
Run Code Online (Sandbox Code Playgroud)
想要生成
( (a, (1, ?)), (a, (1, *)), (a, (2, ?)), (a, (2, *)) ).
Run Code Online (Sandbox Code Playgroud)
任何简单的方法?我认为它与交叉连接不同但无法找到一个好的解决方案.我的解决方案是
(rdd1
.cartesian( rdd2 )
.filter( lambda (k, v): k[0]==v[0] )
.map( lambda (k, v): (k[0], (k[1], v[1])) ))
Run Code Online (Sandbox Code Playgroud) 我写了一个简单的代码,将2,4,8,16,32,3,9,27,5,6,7插入到一个矢量对象中.插入这些数字后,我用std :: binary_search检查8,但奇怪的是它返回0.
这是代码.我不知道为什么.有人能帮助我吗?非常感谢!
#include <iostream>
#include <math.h>
#include <vector>
#include <algorithm>
using namespace std;
void printVector(vector<int>const & p) {
for (int i = 0; i < p.size(); i++)
cout << p[i] << ' ';
cout << endl;
}
int main() {
const int max = 100;
int num;
vector<int> base;
for (int i = 2; i <= 7; i++) {
int expo = log(max) / log(i);
num = 1;
for (int iexp = 1; iexp < expo; iexp++) { …Run Code Online (Sandbox Code Playgroud)