相关疑难解决方法(0)

如何将RDD拆分为两个或更多RDD?

我正在寻找一种方法将RDD分成两个或更多RDD.我见过的最接近的是Scala Spark:拆分收集到几个RDD?这仍然是一个RDD.

如果您熟悉SAS,请执行以下操作:

data work.split1, work.split2;
    set work.preSplit;

    if (condition1)
        output work.split1
    else if (condition2)
        output work.split2
run;
Run Code Online (Sandbox Code Playgroud)

这导致了两个不同的数据集.它必须立即坚持以获得我打算的结果......

apache-spark rdd pyspark

35
推荐指数
2
解决办法
4万
查看次数

Spark - scala:随机将RDD /拆分RDD分成两个随机部分

我怎样才能采取火花的RDD阵列,并且它分成两个RDDS随机所以每个RDD将包括数据的一些部分(可以说97%和3%).

我打算把名单洗牌然后 shuffledList.take((0.97*rddList.count).toInt)

但是我该如何改变rdd呢?

或者是否有更好的方法来拆分列表?

scala apache-spark rdd

10
推荐指数
2
解决办法
1万
查看次数

列表作为PySpark的reduceByKey的键

我试图在格式的数据上调用pyspark的reduceByKey函数 (([a,b,c], 1), ([a,b,c], 1), ([a,d,b,e], 1), ...

似乎pyspark不接受数组作为普通键中的键,通过简单地应用.reduceByKey(add)来降低值.

我已经尝试过首先将数组转换为字符串,.map((x,y): (str(x),y))但这不起作用,因为将字符串后处理回数组太慢了.

有没有办法让pyspark使用数组作为键或使用另一个函数快速将字符串转换回数组?

这是相关的错误代码

  File "/home/jan/Documents/spark-1.4.0/python/lib/pyspark.zip/pyspark/shuffle.py", line 268, in mergeValues
    d[k] = comb(d[k], v) if k in d else creator(v)
TypeError: unhashable type: 'list'
    enter code here
Run Code Online (Sandbox Code Playgroud)

摘要:

输入:x =[([a,b,c], 1), ([a,b,c], 1), ([a,d,b,e], 1), ...]

所需的输出:y =[([a,b,c], 2), ([a,d,b,e], 1),...] 使得我可以访问ay[0][0][0]2y[0][1]

python apache-spark rdd pyspark

7
推荐指数
1
解决办法
3876
查看次数

标签 统计

apache-spark ×3

rdd ×3

pyspark ×2

python ×1

scala ×1