小编Ric*_*Liu的帖子

获取一系列Spark RDD列

现在我的RDD中有300多列,但我发现需要动态选择一系列列并将它们放入LabledPoints数据类型中.作为Spark的新手,我想知道是否有任何索引方式可以在RDD中选择一系列列.像temp_data = data[, 101:211]R中的东西.有类似的东西val temp_data = data.filter(_.column_index in range(101:211)...吗?

任何想法都受到欢迎和赞赏.

scala apache-spark rdd

6
推荐指数
1
解决办法
8191
查看次数

RDD到LabeledPoint的转换

如果我有一个大约有500列和2亿行的RDD,并且RDD.columns.indexOf("target", 0)显示Int = 77了我的目标因变量是在第77列.但我对如何选择所需(部分)列作为特征没有足够的知识(比如说)我想要23到59,111到357,399到489的列.我想知道我是否可以申请:

val data = rdd.map(col => new LabeledPoint(
    col(77).toDouble, Vectors.dense(??.map(x => x.toDouble).toArray))
Run Code Online (Sandbox Code Playgroud)

任何建议或指导将不胜感激.

也许我搞砸了RDD与DataFrame,我可以将RDD转换为DataFrame,.toDF()或者使用DataFrame比RDD更容易实现目标.

scala apache-spark rdd apache-spark-sql apache-spark-mllib

5
推荐指数
1
解决办法
5785
查看次数