Skip to content

Commit b1e7be9

Browse files
committed
Fixed critical bug that made the generator crash when serializing with CSV serializers
1 parent 64731ab commit b1e7be9

File tree

5 files changed

+44
-1
lines changed

5 files changed

+44
-1
lines changed

src/main/java/ldbc/snb/datagen/generator/distribution/AltmannDistribution.java

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,8 @@ public ArrayList<Bucket> getBuckets() {
2727

2828
@Override
2929
public void initialize(Configuration conf) {
30-
POPULATION_ = DatagenParams.numPersons;
30+
throw new UnsupportedOperationException("Distribution not implemented");
31+
/*POPULATION_ = DatagenParams.numPersons;
3132
for( int i = 1; i <= POPULATION_; ++i ) {
3233
normalization_factor_+= Math.pow(i,-GAMMA_)*Math.exp(-DELTA_*i);
3334
}
@@ -42,5 +43,6 @@ public void initialize(Configuration conf) {
4243
e.max(e.max()*scale_factor);
4344
e.min(e.min()*scale_factor);
4445
}
46+
*/
4547
}
4648
}
Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,37 @@
1+
package ldbc.snb.datagen.generator.distribution;
2+
3+
import ldbc.snb.datagen.generator.DatagenParams;
4+
import ldbc.snb.datagen.generator.distribution.utils.Bucket;
5+
import ldbc.snb.datagen.generator.distribution.utils.BucketedDistribution;
6+
import org.apache.commons.math3.distribution.*;
7+
import org.apache.hadoop.conf.Configuration;
8+
9+
import java.util.ArrayList;
10+
11+
/**
12+
* Created by aprat on 5/03/15.
13+
*/
14+
public class WeibullDistribution implements BucketedDistribution {
15+
16+
private ArrayList<Bucket> buckets_;
17+
private org.apache.commons.math3.distribution.WeibullDistribution weibull_;
18+
private double LAMBDA_ = 0.3881;
19+
private double K_ = 0.2622;
20+
21+
@Override
22+
public ArrayList<Bucket> getBuckets() {
23+
return buckets_;
24+
}
25+
26+
@Override
27+
public void initialize(Configuration conf) {
28+
weibull_ = new org.apache.commons.math3.distribution.WeibullDistribution(LAMBDA_,K_);
29+
30+
ArrayList<Double> histogram = new ArrayList<Double>();
31+
for( int i = 1; i <= DatagenParams.numPersons; ++i ) {
32+
histogram.add(DatagenParams.numPersons * weibull_.probability(i));
33+
}
34+
35+
buckets_ = Bucket.bucketizeHistogram(histogram,100);
36+
}
37+
}

src/main/java/ldbc/snb/datagen/serializer/HDFSCSVWriter.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@ public class HDFSCSVWriter extends HDFSWriter {
1919
public HDFSCSVWriter( String outputDir, String prefix, int numPartitions, boolean compressed, String separator ) {
2020
super(outputDir, prefix, numPartitions, compressed, "csv" );
2121
this.separator = separator;
22+
buffer = new StringBuffer(2048);
2223

2324
}
2425

src/main/java/ldbc/snb/datagen/serializer/snb/interactive/CSVMergeForeignPersonSerializer.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -183,6 +183,8 @@ protected void serialize( Person p, Knows knows) {
183183
arguments.add(dateString);
184184
writers[FileNames.PERSON_KNOWS_PERSON.ordinal()].writeEntry(arguments);
185185
}
186+
187+
@Override
186188
public void reset() {
187189

188190
}

src/main/java/ldbc/snb/datagen/serializer/snb/interactive/CSVPersonSerializer.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -228,6 +228,7 @@ protected void serialize(Person p, Knows knows) {
228228
writers[FileNames.PERSON_KNOWS_PERSON.ordinal()].writeEntry(arguments);
229229
}
230230

231+
@Override
231232
public void reset() {
232233

233234
}

0 commit comments

Comments
 (0)