我有一个单独的字符串值的Spark RDD,其中每个字符串由|
符号分隔的单词形成。令牌字符串在“字符串RDD”返回另一个RDD
此RDD由SparkSQL查询生成,而不是由.textFile(...)
加载操作生成。
我不能(除非我想知道一些基本的东西)使用.flatMap(_.split("|"))
操作,因为这会在应用.split()
之前将每个字符串变为单个字符。
但是,我确实需要做一些事情,比如.flatMap()
,因为我需要一对多的映射。由于我的数据集可能非常大,我需要此操作进行并行化,因此需要使用RDD和相关操作。
有趣的是,在使用.textFile(...)
加载RDDs处理字符串时,.flatMap(...)
操作完全符合我的要求!所以我猜测,必须有一种方法...
任何帮助或建议将不胜感激!
谢谢!
>>因为这会在应用.split()之前将每个字符串压扁为单个字符为什么你这么认为? – ipoteka
对不起,这是错的!我让自己感到困惑。这是由于我在'|'符号上分裂而引起的,现在我意识到这将被解释为REGEX或操作。所以我正在有效地分割''''这当然最终会给我个人角色!!所以,如果我使用'“”“\ |”“”',那么一切都按预期工作。对不起,谢谢! –