我是stackoverflow的新手。我需要幫助從「data.txt」文件(大小:1.84 GB)以組織形式提取數據。我正在使用scala-2.10.4和spark-1.1.0。斯卡拉 - RDD [字符串]到RDD [矢量]
的data.txt中的內容在下面的圖案
ATOM 00000000 00000004 00000001 17.808 15.749 6.649 -0.548 15.9994
ATOM 00000001 00247690 00000002 20.9489 12.0511 5.4639 0.4238 1.008
有〜300K data.txt文件中的原子具有相同的模式,每個幀中的原子數大約爲286890個(第2個屬性)。即幀00000000包含286890個原子,並且幀00000001包含286890個原子。
其中:
- 第一屬性只是告訴它是否是一個原子條目或HEAD條目(有每 幀只有一個HEAD條目和它有一些系統屬性/信息)
- 第二屬性是「幀號」
- 第三屬性是「原子ID /數」
- 第四屬性是「原子類型」
- 第五,第六和第七屬性噸原子的位置向量(x,y,z)
- 八個屬性是原子的電荷
- 第九個屬性是原子的質量。
我需要由幀從上述數據訪問數據幀,並計算幾件事情等,
1.Sum每一幀的塊。公式:M =Σmi(i < - 1至n)
2.慣性慣性。公式:我=Σmiri(我< - 1至n) 和幾個更類似的東西。如你所見,我需要從data.txt中提取數據。 我使用的,
val logFile = "/path/data.txt"
val logData = sc.textFile(logFile, 2).cache()
logData是RDD [字符串],我只能用它來計算行數與特定pettern。 但是,我需要從每一幀中得到每一行(即,質量)的第7場來計算質量總和,這是我不知道該怎麼做的。
*我需要使用scala,不允許使用其他語言。
請幫我知道該怎麼做。 我想把它轉換成RDD [矢量]將工作,但我不知道如何訪問該矢量的特定字段。
發佈您嘗試過的以及它失敗的方式。 – Daenyth
你真的會問一些問題陳述的代碼! 。 – WoodChopper
這樣一個小文件,你不需要使用Spark。代碼也會更簡單。 – kostya