Я немного запутался в назначении MetaStore. Когда вы создаете таблицу в улье:
CREATE TABLE <table_name> (column1 data_type, column2 data_type);
LOAD DATA INPATH <HDFS_file_location> INTO table managed_table;
Итак, я знаю, что эта команда берет содержимое файла в HDFS и создает его форму MetaData и сохраняет ее в MetaStore (включая типы столбцов, имена столбцов, место, где оно находится в HDFS, и т. Д. Каждой строки в HDFS. файл). Фактически он не перемещает данные из HDFS в Hive.
Но какова цель хранения этих метаданных?
Когда я подключаюсь к Hive с помощью Spark SQL, например, MetaStore не содержит фактической информации в HDFS, а только MetaData. Значит, MetaStore просто используется Hive для синтаксического анализа и компиляции запроса HiveQL и для создания заданий MapReduce?