Таблицы кустов в нескольких узлах - обработка
У меня есть концептуальные сомнения в улье. Я знаю, что Hive - это инструмент для хранения данных, работающий поверх Hadoop. Мы знаем, что Hadoop имеет распределенную файловую систему -HDFS.
Предположим, у меня есть один хозяин и три раба. Теперь я создал таблицу сотрудников в HiveQL. Стол настолько большой, что его нельзя хранить в одной машине. Следовательно, он должен храниться во всех четырех машинах. Как я могу загрузить такие данные. Должно ли это быть сделано вручную. Или, как я ввожу "LOAD DATA ... " в мастер, и он будет автоматически распределен по всем машинам.
1 ответ
Hive использует HDFS в качестве хранилища для хранения данных. Таким образом, концепция HDFS используется для хранения данных.
HDFS имеет архитектуру master/slave. Кластер HDFS состоит из одного NameNode, главного сервера, который управляет пространством имен файловой системы и регулирует доступ клиентов к файлам. Кроме того, существует несколько узлов данных, обычно по одному на узел в кластере, которые управляют хранилищем, подключенным к узлам, на которых они работают. HDFS предоставляет пространство имен файловой системы и позволяет хранить пользовательские данные в файлах.
Внутренне файл разбивается на один или несколько блоков, и эти блоки хранятся в наборе узлов данных. NameNode выполняет операции пространства имен файловой системы, такие как открытие, закрытие и переименование файлов и каталогов. Он также определяет отображение блоков на узлы данных. Узлы данных отвечают за обслуживание запросов на чтение и запись от клиентов файловой системы. Узлы данных также выполняют создание, удаление и репликацию блоков по указанию узла имени.
Пожалуйста, обратитесь к архитектуре HDFS для более подробной информации.