We need to decide on some format for reading/writing data with schema from/to table core datasets.
Specifically, we need to decide how to store records. A reasonable way may be to decompose a record into its fields, and store each field as a separate column. This can be done recursively for nested records.
For 2.7, it may be that the case that we only support simple types (int, long, float, double, byte, map, array) as a first cut, but we should at least make a conscious decision on what to support.