【发布时间】:2018-05-31 15:57:53
【问题描述】:
我有一个从包含以下格式的源 URL 和目标 URL 的文件中提取的 RDD:
google.de/2011/10/Extract-host link.de/2011/10/extact-host
facebook.de/2014/11/photos facebook.de/2014/11/name.jpg
community.cloudera.com/t5/ community.cloudera.com/t10/
这些是源 URL 和目标 URL。 我想只提取主机名,例如:
google.de link.de
facebook.de facebook.de
community.cloudera.com community.cloudera.com
如果文件中只有一列,我知道如何提取主机名
file.flatMap(_.split("/").take(1)).
我不确定如何将它应用于源 URL 和目标 URL。 这是我尝试过的:
file.flatMap{case(src + "\t" + dst) =>
((split.take(1).flatMap(line => line.split("/").take(1))),
(split.takeRight(1).flatMap(line => line.split("/").take(1))))}
请告诉我如何使用 scala 提取这种格式。
谢谢!!
【问题讨论】:
-
您希望输出的样子如何。?您是否希望源 URL 和目标 URL 都是由某个分隔符分隔的一条记录。还是希望将所有内容展平以仅提供主机名?
-
感谢您的回复。我只需要从由一些分隔符分隔的源 URL 和目标 URL 中提取的主机名,我的输出应该看起来像我在问题中指定的那样。
标签: scala