This confusion seems to be quite common, I would like to summarize the problem at hand again:
1) There is an Impala schema that needs to be defined, a.k.a. interface, with all proper table, field names, field types, storage format etc.. This schema is an interface that is used to then code applications or methods against it - it needs to be valid and represent the data as it should be.
2) There needs to be a "loader scripts" that would take the data, massage it and load it into that schema (a.k.a. interface) so that it fits it, including the types. Also, to keep in mind that this step is often optional as the data should really be properly formatted for the target schema during the ETL conversion that that Impala views would just be mapped.
This problem is no way different for Impala than for any other data warehouses e.g. Oracle, SQL Server, RedShift etc.. - there are loader scripts used for all of them.
So, I am proposing to fix the schema for #1 - see attached. Then if we need to share different loader scripts - that is great too, but it needs to be separated from the clean DDL that defined the interface.