I saw “create external table ” first in Oracle DBMS 11G.
It was created for the purpose of loading data.
When Hive was introduced, a lot of data were already created in HDFS.
Hive was introduced to provided the SQL interface on these data.
Using the external table concept is a nature of the design. It is not really a creative thing.