ご存知のように、あなたがRDD[String, Int]
にsaveAsTextFile
を使用する場合、出力は次のようになります。
SaveAsTextFileを使用して保存したSparkで生成されたファイルの読み取り/解析のベストプラクティスは何ですか?
(T0000036162,1747)
(T0000066859,1704)
(T0000043861,1650)
(T0000075501,1641)
(T0000071951,1638)
(T0000075623,1638)
(T0000070102,1635)
(T0000043868,1627)
(T0000094043,1626)
あなたは再びスパークでこのファイルを使用することもできますし、何がそれを読み取り、解析するためのベストプラクティスすべきですか?それはそれのようなものでなければならないのですか、それに対して何かエレガントな方法がありますか?
val lines = sc.textFile("result/hebe")
case class Foo(id: String, count: Long)
val parsed = lines
.map(l => l.stripPrefix("(").stripSuffix(")").split(","))
.map(l => new Foo(id=l(0),count = l(1).toLong))