public JavaRDD<Row> toRows(StructType schema, JavaRDD<SolrDocument> docs) { final String[] queryFields = schema.fieldNames(); JavaRDD<Row> rows = docs.map( new Function<SolrDocument, Row>() { public Row call(SolrDocument doc) throws Exception { List<Object> vals = new ArrayList<Object>(queryFields.length); for (String field : queryFields) { vals.add(doc.getFirstValue(field)); } return RowFactory.create(vals.toArray()); } }); return rows; }