Schema should just be a property of a table. We should expose a way to set schema for a table through the REST API.
Open questions include:
1. Should we allow setting schema programmatically? My thought on this is that we want to begin by limiting setting the schema property to the RESTful API, and let you set schema for a table in your code that only applies within the scope of your code.
2. What happens to queries that are currently running when you change the schema? Hive doesn't have support for altering schema on external tables, so changing schema really means dropping and recreating the table. Should we disallow changing if queries are running? Should we allow setting it, but say it is not in affect until you 'enable' it? Do we need multiple versions of tables?
These questions are relevant to any api that sets schema for query-able data, such as streams and filesets.