in src/main/java/com/uber/uberscriptquery/util/SparkUtils.java [189:207]
public static DataSetResult getDataSetResult(Dataset<Row> df) {
DataSetResult result = new DataSetResult();
String[] fieldNames = df.schema().fieldNames();
result.getColumnNames().addAll(Arrays.asList(fieldNames));
Row[] rows = (Row[]) df.collect();
for (Row row : rows) {
List<Object> values = new ArrayList<>();
for (int i = 0; i < fieldNames.length; i++) {
Object obj = row.get(i);
values.add(obj);
}
result.getRows().add(values);
}
return result;
}