-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathcomplexity.py
More file actions
65 lines (56 loc) · 2.35 KB
/
complexity.py
File metadata and controls
65 lines (56 loc) · 2.35 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
import csv
import random
import sys
# cluster = sys.argv[1]
# sample_no = sys.argv[2]
# original_sample = f'./main datasets/Facebook/20_min_samples_cluster{cluster}/{cluster}{sample_no}.csv'
# shuffled_sample = f'./main datasets/Facebook/20_min_samples_cluster{cluster}/shuffled_{cluster}{sample_no}.csv'
# random_sample = f'./main datasets/Facebook/20_min_samples_cluster{cluster}/random_{cluster}{sample_no}.csv'
# file_name = 'Facebook_big'
# original_sample = f'./{file_name}.csv'
# shuffled_sample = f'./{file_name}_shuffled.csv'
# random_sample = f'./{file_name}_random.csv'
alpha = float(sys.argv[1])
file_name = f'random_zipf_64nodes_a={alpha}.csv'
original_sample = f'./Data/synthetic_zipf/{file_name}'
shuffled_sample = f'./Data/synthetic_zipf/shuffled_{file_name}'
random_sample = f'./Data/synthetic_zipf/random_{file_name}'
# cluster = sys.argv[1]
# cluster_sample = sys.argv[2]
# sum_sample = f'./Data/main datasets/Facebook/20_min_samples_cluster{cluster}/4096_filtered_{cluster_sample}.csv'
# original_sample = f'./Data/main datasets/Facebook/20_min_samples_cluster{cluster}/4096_{cluster_sample}.csv'
# shuffled_sample = f'./Data/main datasets/Facebook/20_min_samples_cluster{cluster}/4096_shuffled_{cluster_sample}.csv'
# random_sample = f'./Data/main datasets/Facebook/20_min_samples_cluster{cluster}/4096_random_{cluster_sample}.csv'
#
# with open(sum_sample, 'r') as file:
# f = csv.reader(file)
# rows = list(f)
# rows = rows[1:]
#
# with open(original_sample, 'w') as file:
# f = csv.writer(file)
# for row in rows:
# for i in row[2]:
# f.writerow([row[0], row[1], 1])
with open(original_sample, 'r') as file:
f = csv.reader(file)
lines = list(f)
# # with headers, remove it
# headers = lines[0]
# lines = lines[1:]
# no headers, randomly shuffle the lines
lines = random.sample(lines, len(lines))
rack_id_set = set()
for line in lines:
rack_id_set.add(line[0])
rack_id_set.add(line[1])
# write random permutation of the lines into the shuffled_sample file
with open(shuffled_sample, 'w') as file:
f = csv.writer(file)
f.writerows(lines)
with open(random_sample, 'w') as file:
f = csv.writer(file)
rack_id_lst = list(rack_id_set)
for i in range(len(lines)):
node_pair = random.sample(rack_id_lst, 2)
f.writerow([node_pair[0], node_pair[1], '1'])