0
私はapache sparkで練習していましたが、いくつかの計算を試みました。しかし、私は私の望む結果を達成することができましたが、私はそれが働く前に2つの異なる方法を試しなければなりませんでした。RDD計算データセットをフィルタリングする
私はRDDを作成した既存のデータセットを持っています。
:私は、私は、既存のデータセットからRDDを作成したので、@で始まる単語をフィルタリングし、取得したい
を「RT @NigeriaNewsdesk Chibok女子生徒は@todayngを経由して5人のボコ・ハラムの指揮官のために交換されました」。私はまた、第二の試みで、それ を添付します。この
[u'R', u'T', u' ', u'@', u'N', u'i', u'g', u'e', u'r', u'i', u'a', u'N', u'e', u'w', u's', u'd', u'e', u's', u'k', u':', u' ', u'C', u'h', u'i', u'b', u'o', u'k', u' ', u's', u'c', u'h', u'o', u'o', u'l', u'g', u'i', u'r', u'l', u's', u' ', u'w', u'e', u'r', u'e', u' ', u's', u'w', u'a', u'p', u'p', u'e', u'd', u' ', u'f'
のようなものを持って
usernameFile = sc.parallelize(tweets)
username = usernameFile.flatMap(lambda line: line.split()).filter(lambda x: x.startswith('@')).collect()
print(username)
、私は、二回目は絶対にうまく働いたこの
tweets = tweets.split(" ")
usernameFile = sc.parallelize(tweets)
username = usernameFile.flatMap(lambda line: line.split()).filter(lambda x: x.startswith('@')).collect()
print(username)
print("username done")
のような何かをしましたしかし、なぜ私はデータセットを並列化する前に分割しなければならなかったのですか?
これを最初にやっていなくても同じことを達成できますか?
tweets = tweets.split(" ")
ありがとうございます。