Я знаю два способа создания таблиц, которые, кажется, дают одинаковый результат: таблица. В чем разница между этими двумя методами и какой метод является оптимальным с точки зрения наилучшей практики? Ниже показаны два метода:
Метод 1:
CREATE TABLE db.tablename1 STORED AS ORC AS
SELECT *
FROM db.tablename2;
Метод 2:
CREATE EXTERNAL TABLE IF NOT EXISTS db.tablename1
id STRING,
var2 STRING
)
STORED AS ORC
LOCATION '/dir/';
INSERT OVERWRITE TABLE db.tablename1
SELECT * FROM db.tablename2;
Метод 2 требует больше кода и достигает того же результата. Зачем кому-то использовать метод 2? Для контекста, некоторые ученые в моей компании решили создавать таблицы, используя метод 2.