2015-08-28 61 views
0

我正在使用Spark的Java API。现在我需要将我的Java应用程序“翻译”为Scala代码,因为我想尝试Apache Zeppelin。我有一个PairDStream (1.1.1.123,(1,1,1,1)),并需要映射其对PairDStream形式(1.1.1,(1,1,1,1)) (把第一对的钥匙中的“123”切掉)。有人可以给出一个线索如何做到这一点或如何将一对映射到scala中的另一个呢?我用地图函数来创建第一对。谢谢!Spark Scala API:将PairDStream映射到另一个PairDStream

+0

目前还不清楚是什么你正在尝试做的。你只是想剪掉123,还是已经创建好了,你想一起加入。你可以发布一个样本,还有你试过的吗? –

+0

我已经创建了一个带有键1.1.1.123和值1,1,1,1的PairRDD。现在我想用较短的键1.1.1将这些对映射到新的对。我想删除密钥的第四位数字,不加入。谢谢 –

+0

你甚至尝试使用另一张地图...?这听起来很直接,然后...... –

回答

0

试试这个(假设你的IP地址是一个字符串):

val newPairs = oldPairs.map { case (ipAddress, values) => (ipAddress.substring(0, ipAddress.lastIndexOf(".")) , values) } 
+0

地图{case(k,v)=>(...,...)}为我做了,谢谢!我不知道这个案例陈述是为了获得这对产品的关键/价值部分。 –

相关问题