Введение
Добро пожаловать в Королевскую Академию Магических Искусств, престижный учебное заведение, посвященное изучению и овладению таинственным знанием. В этом царстве команда выдающихся исследователей алмазов имеет задачу раскрыть секреты зачарованных алмазов, чьи мистические свойства являются ключом к пониманию самой сути реальности.
Ваша роль опытного исследователя алмазов - использовать мощь экосистемы Hadoop, конкретно Hive, для анализа и сжатия огромных массивов данных о алмазах. Цель - оптимизировать эффективность хранения и обработки, чтобы вы могли разгадать сложные паттерны и скрытые тайны в этих зачарованных артефактах.
Настройка репозитория данных о алмазах
В этом шаге вы создадите таблицу в Hive для хранения данных о алмазах и заполните ее примерными записями.
Во - первых, убедитесь, что вы вошли под пользователем hadoop, выполнив следующую команду в терминале:
su - hadoop
Затем запустите Hive - shell, выполнив следующую команду:
hive
Теперь создайте новую базу данных Hive под названием gemstone_db:
CREATE DATABASE gemstone_db;
Используйте новую базу данных:
USE gemstone_db;
Далее создайте таблицу под названием gemstones с колонками для id, name, color, origin и enchantment:
CREATE TABLE gemstones (
id INT,
name STRING,
color STRING,
origin STRING,
enchantment STRING
) ROW FORMAT DELIMITED FIELDS TERMINATED BY ',';
Наконец, загрузите примерные данные из файла /home/hadoop/gemstone_data.csv в таблицу gemstones:
LOAD DATA LOCAL INPATH '/home/hadoop/gemstone_data.csv' OVERWRITE INTO TABLE gemstones;
Сжать данные о алмазах
Для оптимизации эффективности хранения и обработки мы сократим данные о алмазах с использованием встроенных возможностей сжатия Hive.
Во - первых, создайте новую таблицу gemstones_compressed с такой же схемой, как и у исходной таблицы gemstones:
CREATE TABLE gemstones_compressed (
id INT,
name STRING,
color STRING,
origin STRING,
enchantment STRING
) STORED AS ORC
TBLPROPERTIES ('orc.compress'='SNAPPY');
- Укажите предложение
STORED AS ORC, чтобы использовать формат файлов Optimized Row Columnar (ORC), который обеспечивает эффективное сжатие и хранение. - Установите свойство таблицы
orc.compressв значениеSNAPPY, что позволяет использовать сжатие Snappy для файлов ORC.
Затем вставьте данные из исходной таблицы gemstones в таблицу gemstones_compressed:
INSERT INTO TABLE gemstones_compressed SELECT * FROM gemstones;
Запросить сжатые данные
Теперь, когда данные о алмазах сжаты, вы можете эффективно запрашивать их с использованием Hive.
Во - первых, выполните простой запрос COUNT(*) к таблице gemstones_compressed, чтобы проверить целостность данных:
SELECT COUNT(*) FROM gemstones_compressed;
Затем выполните запрос с GROUP BY, чтобы подсчитать количество алмазов для каждого цвета:
SELECT color, COUNT(*) AS count FROM gemstones_compressed GROUP BY color;
Резюме
В этом практическом занятии вы узнали, как использовать возможности сжатия Hive для оптимизации эффективности хранения и обработки больших наборов данных. Создав сжатую таблицу в формате ORC и загрузив в нее данные, вы смогли значительно уменьшить размер занимаемого места на диске, сохраняя при этом производительность запросов.
Во время всего процесса вы приобрели практический опыт в создании баз данных и таблиц Hive, загрузке данных и запросах к сжатым данным. Эти практические знания будут бесценны при дальнейшем исследовании мистических свойств зачарованных алмазов, позволяя вам более эффективно выявлять скрытые паттерны и получать новые знания.



