Right now, we choose to use partition lever metadata. All metadata (column names, column types, fileformat, serde class, serde properties) right now are from partition level metadata. But hive does not support a method now to alter all existing partitions' metadata, so users mostly choose to alter table metadata, and think hive will use the new table level metadata.
One approach is that we may need to provide a way to let user alter all partitions' metadata with one simple command. Right now a short term solution is to only get fileformat, serde class metadata from paritition level metadata, and use all other metadata from table.