Skip to content

Commit dc9048a

Browse files
committed
first draft for Flat File Maker
1 parent bcd2cbb commit dc9048a

File tree

3 files changed

+62
-94
lines changed

3 files changed

+62
-94
lines changed

.idea/workspace.xml

Lines changed: 43 additions & 63 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

src/main/java/com/example/FlatFileMaker.java

Lines changed: 19 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -4,18 +4,28 @@
44
import org.apache.commons.lang3.StringUtils;
55
import org.apache.spark.api.java.*;
66
import org.apache.spark.sql.*;
7-
import org.apache.spark.sql.types.*;
87
import java.util.*;
9-
import org.apache.spark.sql.functions;
10-
11-
8+
import java.sql.Timestamp;
9+
import java.text.SimpleDateFormat;
1210

1311
public class FlatFileMaker {
1412

15-
16-
17-
18-
19-
13+
public static void genFlatFile(Dataset<Row> data, List<Integer> colSizes) {
14+
JavaRDD<String> trip = data.rdd().toJavaRDD().map(row-> rowToFWSTring(colSizes, row));
15+
trip.saveAsTextFile(determinePath());
16+
}
17+
18+
private static String rowToFWSTring(List<Integer> rowSize, Row r) {
19+
String[] vals = new String[r.size()];
20+
for (int i = 0; i < r.size(); i++) {
21+
vals[i] = StringUtils.leftPad(r.getString(i), rowSize.get(i), ' ').substring(0, rowSize.get(i));
22+
}
23+
return String.join("", vals);
24+
}
25+
26+
private static String determinePath() {
27+
Timestamp timestamp = new Timestamp(System.currentTimeMillis());
28+
return "src/main/resources/" + timestamp.toString();
29+
}
2030

2131
}

src/main/java/com/example/Main.java

Lines changed: 0 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -42,33 +42,11 @@ public static void main(String[] args) {
4242
.withColumn("Last-Name", functions.substring(methodDS.col("Last-Name"), 0, 10));
4343
newDS.show();
4444

45-
// // Edit Rows
4645

47-
// Dataset<Row> sinDS = newDS
4846

4947

50-
// StructType sek = new StructType(new StructField[] {
51-
// new StructField("a", DataTypes.createArrayType(DataTypes.StringType), false, Metadata.empty())
52-
// });
5348
JavaRDD<String> trip = newDS.rdd().toJavaRDD().map(row-> rowToFWSTring(parser.getColSizes(), row));
5449
trip.saveAsTextFile("src/main/resources/outputyo");
55-
// Dataset<Row> readyToWrite = sesh.createDataset(trip, sek);
56-
// System.out.println(readyToWrite);
57-
58-
// newDS.select(newDS.col("*"))
59-
// .write().mode(SaveMode.Append).csv("src/main/resources/output");
60-
//
61-
// newDS
62-
// .write()
63-
// .mode(SaveMode.Append)
64-
// .csv("src/main/resources/output");
65-
66-
67-
68-
69-
// .map(row -> rowToFWSTring(row)).collect();
70-
71-
7250

7351
}
7452
}

0 commit comments

Comments
 (0)