当前位置: 首页 > 面试题库 >

将JavaPairRDD转换为JavaRDD

公羊浩气
2023-03-14
问题内容

我正在使用ElasticSearch-Hadoop库从ElsticSearch提取数据。

JavaPairRDD<String, Map<String, Object>> esRDD = JavaEsSpark.esRDD(sc);

现在我有了JavaPairRDD。我想在此RDD上使用来自MLLib的随机森林。所以我将其转换为JavaPairRDD.toRDD(esRDD)这将给我RDD。使用RDD,我再次转换为JavaRDD

JavaRDD<LabeledPoint>[] splits = (JavaRDD.fromRDD(JavaPairRDD.toRDD(esRDD),
            esRDD.classTag())).randomSplit(new double[] { 0.5, 0.5 });

JavaRDD<LabeledPoint> trainingData = splits[0];
JavaRDD<LabeledPoint> testData = splits[1];

我想将trainingData和TestData传递给Random Forest算法,但是它在编译时给出了强制转换异常。

类型不匹配:无法从JavaRDD [Tuple2 [String,Map [String,Object]]] []转换为JavaRDD
[LabeledPoint] []

添加小于和大于符号的方括号不起作用

有人可以建议我进行铸造的正确方法吗?我是Spark Datastrucutres的新手。


问题答案:

您在JavaPairRDD列中拥有哪些数据?与常规的RDD不同,JavaPairRDD是第一列和第二列之间的键/值映射。

您可能希望从JavaPairRDD删除第一列,仅返回带有值列的JavaRDD。

为此,只需运行以下命令:

JavaRDD newRDD = esRDD.map(x => x._2);

或等效方法以创建不带第一列的新JavaRDD。



 类似资料:
  • 然后输入LDA: 但是在Java API中,我使用以下代码获得了CountVectorizerModel: 像这样: 我使用的是Spark和MLlib 1.5.1以及Java8 任何帮助都是非常感谢的。谢谢,当我试图从DataFrame转换为JavaPairRDD时,这里是异常日志文件

  • 问题内容: 我正在开发一些应用程序,它允许从SD卡中选择图像,将其保存到数据库中并为ImageView设置此值。我需要知道将uri转换为字符串并将字符串转换为uri的方法。现在,我使用了Uri的getEncodedPath()方法,但是例如,此代码不起作用: 因此,我不知道如何将Uri保存到数据库中并根据保存的值创建新的Uri。请帮我修复它。 问题答案: 我需要知道将uri转换为字符串并将字符串转

  • 我正在努力将图像标记转换为链接并复制标记内的参数,即。 进入 我的问题不仅仅是复制src和alt数据,还包括丢失和额外的标记。 进入 和 进入 这需要对整个字符串中img标记的所有实例执行。 不是说听起来像是一个挑战,但是有人能提出一个可能的解决方案吗,我相信这可以用preg_replace但是我就是做不到? 非常感谢。

  • 最近,我浏览了一些网站,将中缀转换成前缀符号,最后我被卷了起来。 我已经给出了我所做的步骤。。 例:-(1(2*3))(5*6)(7/8) 方法1:-(无需任何算法的手动转换):- 方法2:- 根据现场情况http://scanftree.com/Data_Structure/infix-to-prefix 所以,在这里我完全被绞死了。 请任何人提供以下方面的信息:- 关于我在以上2种方法中哪里出

  • 问题内容: 如何从float转换为string或从string转换为float? 在我的情况下,我需要在2个值字符串(我从表中获得的值)和我计算出的浮点值之间进行断言。 我尝试从浮动到字符串: 但是断言失败 问题答案: 使用Java的类。 为了进行比较,将字符串转换为float并比较两个float总是更好。这是因为对于一个浮点数,存在多个字符串表示形式,与字符串相比,它们是不同的(例如“ 25”!

  • 我们正在获取具有以下字段的订单数据(仅显示相关字段) 具有NULLoriginal_orderid的订单可以被认为是父订单 其中一些父母订单可能有子订单,子订单的original_orderid映射到父母的订单。 子顺序可以产生另一个子顺序,如图像所示,带有颜色编码。 与原始文本相同的数据: 作为转换,我们需要将所有子节点映射到它们的原始父节点(original_orderid为NULL),并获得