我有一個數據集是一個代表網絡的csv/txt文件。文件中的每一行都包含由逗號分隔的兩個節點名稱。我的數據文件聯繫了大約330k個節點和大約550k個邊緣。我嘗試使用下面的代碼創建的這只是一個非常基本的圖形(是的,我知道這將是非常混亂):如何監視networkx圖形創建的狀態?
import networkx as nx
import matplotlib.pyplot as plt
import sys
import numpy as np
f = open('dataFile.txt', 'rb')
G = nx.read_edgelist(f, delimiter=',', nodetype=str)
f.close()
print(nx.number_of_nodes(G))
print(nx.number_of_edges(G))
plt.figure(1)
nx.draw(G)
plt.savefig("graph.pdf")
我上的AWS EC2實例m4.4xlarge運行此,它是固定在100%的CPU上,只佔內存的1%。
我對此表示懷疑,因爲我認爲networkx是內存密集型的,而不是CPU豬。現在,它正在旋轉nx.draw命令。有沒有什麼辦法可以監控圖形生成的距離?
我接受了你的建議,並繼續在GraphX中試用它。我不知道太多的Scala或火花(但),但是我能夠製作圖形並計算適當的邊數和頂點數。絕對是一個學習曲線,但它的工作原理!謝謝! –
有一個python API。你並不需要使用Scala。 Spark是機器學習和大數據分析的重要資產。我用它很容易處理十億個邊緣的圖形:) – Kikohs
它的確如此,但是pyspark還不支持GraphX。因此,斯卡拉。 –