我有一個單獨的字符串值的Spark RDD,其中每個字符串由|
符號分隔的單詞形成。令牌字符串在「字符串RDD」返回另一個RDD
此RDD由SparkSQL查詢生成,而不是由.textFile(...)
加載操作生成。
我不能(除非我想知道一些基本的東西)使用.flatMap(_.split("|"))
操作,因爲這會在應用.split()
之前將每個字符串變爲單個字符。
但是,我確實需要做一些事情,比如.flatMap()
,因爲我需要一對多的映射。由於我的數據集可能非常大,我需要此操作進行並行化,因此需要使用RDD和相關操作。
有趣的是,在使用.textFile(...)
加載RDDs處理字符串時,.flatMap(...)
操作完全符合我的要求!所以我猜測,必須有一種方法...
任何幫助或建議將不勝感激!
謝謝!
>>因爲這會在應用.split()之前將每個字符串壓扁爲單個字符爲什麼你這麼認爲? – ipoteka
對不起,這是錯的!我讓自己感到困惑。這是由於我在'|'符號上分裂而引起的,現在我意識到這將被解釋爲REGEX或操作。所以我正在有效地分割''''這當然最終會給我個人角色!!所以,如果我使用'「」「\ |」「」',那麼一切都按預期工作。對不起,謝謝! –