Мастерство над небесными данными

HadoopHadoopBeginner
Практиковаться сейчас

💡 Этот учебник переведен с английского с помощью ИИ. Чтобы просмотреть оригинал, вы можете перейти на английский оригинал

Введение

Добро пожаловать в царство Сверхъестественного, где космические силы переплетаются с суровым существованием смертных. В этой сверхъестественной сценарии вы будете играть роль Езекииля, небашного лидера, которому поручено охранять этическое знание, которое trascends время и пространство. Ваша миссия - использовать силу Hadoop, мощной платформы управления данными, чтобы сохранить и распространить это бесценное мудрость по небесным царствам.

Как Езекииль, вы контролируете Небесные Архивы, огромный репозиторий, содержащий накопленное знание веков. Однако, огромный объем данных стал подавляющим, и вам требуется сложная система для эффективной организации и распространения этой информации. Войдите в Hadoop, мощный инструмент, который позволит вам загрузить, обработать и поделиться небесными инсайтами с вашими сверхъестественными сверстниками.

Ваша цель - овладеть искусством загрузки и вставки данных в распределенную файловую систему Hadoop и Hive, открытым исходным системой хранения данных, построенной поверх Hadoop. Таким образом, вы раскроете секреты Небесных Архивов, обеспечивая, чтобы мудрость веков оставалась доступной тем, кто ищет просвещение.

Копирование данных в распределенную файловую систему Hadoop (HDFS)

В этом шаге вы узнаете, как передать данные из локальной файловой системы в распределенную файловую систему Hadoop (HDFS), основа экосистемы Hadoop. HDFS предназначен для хранения и управления большими объемами данных на нескольких узлах, обеспечивая избыточность данных и отказоустойчивость.

Во - первых, убедитесь, что вы вошли под пользователем hadoop, выполнив следующую команду в терминале:

su - hadoop

Теперь создадим примерный файл данных в локальной файловой системе:

echo "Hello, Celestial Realm" > /home/hadoop/celestial_data.txt

Эта команда создает текстовый файл с именем celestial_data.txt с содержимым "Hello, Celestial Realm!" в директории /home/hadoop.

Далее мы скопируем этот файл в HDFS с помощью команды hadoop fs:

hadoop fs -mkdir -p /home/hadoop/celestial_archives
hadoop fs -put /home/hadoop/celestial_data.txt /home/hadoop/celestial_archives

Что делает эта команда:

  • hadoop fs - это утилита командной строки для взаимодействия с HDFS.
  • -mkdir - подкоманда команды hadoop fs для создания директории.
  • -p - опция для создания родительской директории рекурсивно. Если родительская директория не существует в указанном пути, она будет создана вместе с ней.
  • -put - операция для копирования файла из локальной файловой системы в HDFS.
  • /home/hadoop/celestial_data.txt - путь к исходному файлу в локальной файловой системе.
  • /home/hadoop/celestial_archives - путь к целевой директории в HDFS.

После выполнения этой команды вы должны увидеть сообщение об успехе, подтверждающее, что файл скопирован в HDFS.

Создание таблицы Hive и загрузка данных

В этом шаге вы узнаете, как создать таблицу Hive и загрузить данные из HDFS в таблицу. Hive - это мощный инструмент для хранения данных, построенный поверх Hadoop, предназначенный для эффективной суммаризации, запросов и анализа данных.

Во - первых, запустим Hive CLI, выполнив следующую команду:

hive

Это откроет интерактивную оболочку Hive, где вы можете выполнять запросы и команды Hive.

Далее мы создадим новую таблицу Hive под названием celestial_archives для хранения наших данных:

CREATE TABLE celestial_archives (message STRING)
ROW FORMAT DELIMITED
FIELDS TERMINATED BY '\t'
STORED AS TEXTFILE;

Что делает этот запрос Hive:

  • CREATE TABLE celestial_archives создает новую таблицу под названием celestial_archives.
  • (message STRING) определяет единственный столбец под названием message с типом данных STRING.
  • ROW FORMAT DELIMITED FIELDS TERMINATED BY '\t' задает, что каждая строка в файле данных разделяется символом табуляции (\t).
  • STORED AS TEXTFILE указывает, что данные таблицы будут храниться в виде простых текстовых файлов в HDFS.

После создания таблицы мы загрузим данные из HDFS в таблицу Hive с помощью команды LOAD DATA:

LOAD DATA INPATH '/home/hadoop/celestial_archives/celestial_data.txt' INTO TABLE celestial_archives;

Эта команда загружает данные из файла /home/hadoop/celestial_archives/celestial_data.txt в HDFS в таблицу Hive celestial_archives.

Наконец, вы можете запросить таблицу, чтобы проверить, были ли данные загружены правильно:

SELECT * FROM celestial_archives;

Этот запрос должен показать содержимое таблицы celestial_archives, которое должно быть сообщением "Hello, Celestial Realm!".

Резюме

В этом лабе вы играли роль Езекииля, небашного лидера, которому поручено охранять этическое знание Небесных Архивов. Освоив искусство загрузки и вставки данных в распределенную файловую систему Hadoop (HDFS) и Hive, вы сделали важный шаг к сохранению и распространению этой бесценной мудрости по небесным царствам.

С помощью практических упражнений вы узнали, как копировать данные из локальной файловой системы в HDFS, создавать таблицы Hive и загружать данные из HDFS в эти таблицы. Выполнив эти задачи, вы раскрыли секреты Небесных Архивов, обеспечивая, чтобы мудрость веков оставалась доступной тем, кто ищет просвещение.

Этот лаб не только оснастил вас практическими навыками работы с Hadoop и Hive, но и предъявил к вам вызов творчески мыслить и применять эти инструменты в уникальной, сверхъестественной сценарии. Путешествие по сохранению небесного знания только началось, и навыки, которые вы приобрели, будут бесценны при дальнейшем изучении vaste областей управления и анализа данными.