我有一个Seq[Seq[(Double, Double)]]
类型的变量:
val output: Seq[Seq[(Double, Double)]] = runStreams(ssc, numBatches, numBatches)
现在我想应用以RegressionMetrics
作为输入的函数RDD[(Double, Double)]
:
val metrics = new RegressionMetrics(output)
如何将Seq[Seq[(Double, Double)]]
转换为RDD [(Double,Double)]`以便能够使用RegressionMetrics类的函数?
答案 0 :(得分:1)
RDD
是Apache Spark对分布式弹性数据集的抽象
要创建RDD
,您需要一个SparkContext
的实例,可以将其视为运行Apache的群集的“连接”或“句柄”火花。
<强>假设强>:
SparkContext
(Double, Double)
值的“平坦”序列,忽略这些当前“拆分”为Seq[Seq[(Double, Double)]]
<中的子序列的方式/ LI>
您可以按如下方式创建RDD:
val sc: SparkContext = ???
val output: Seq[Seq[(Double, Double)]] = ???
val rdd: RDD[(Double, Double)] = sc.parallelize(output.flatten)