Подтверждение концепции новостного агрегатора с использованием технологий больших данных

Опубликовано: 30 Ноября, 2021

Большие данные - это огромный набор данных, который может содержать большой объем данных, скорость и разнообразие данных. Например, миллиарды пользователей одновременно ищут в Google, и это будет очень большой набор данных. В этом разделе мы обсудим Proof of concept (POC) агрегатора новостей с использованием больших данных (Hadoop, hive, pig). И будет выполнять операции на основе MapReduce Operations. Для выполнения операции мы будем использовать HiveQL (Hive Query Language), который представляет собой SQL-подобный язык запросов, который может обрабатывать структурированные данные с помощью Hive. Hive используется для упрощения запросов и анализа. И это инструмент хранилища данных поверх Hadoop.

Вы увидите, как можно реализовать POC в агрегаторе новостей с использованием больших данных. Здесь мы выполним POC и сможем найти все запросы, используя технологии больших данных, такие как Hadoop, hive и pig. И такие запросы, как количество новостей, разделенных на разные категории, подсчет общего количества различных заголовков в таблице, имя издателя, запрос на опубликованную новость, запрос на поиск названия заголовка и запрос на поиск буквенно-цифрового идентификатора. кластера, в который входят новости об одной и той же истории и т. д. Давайте обсудим по очереди.

Подтверждение концепции агрегатора новостей:

  • Этот POC основан на данных агрегатора новостей.
  • Публичный набор данных доступен по ссылке на веб-сайт.
 https://archive.ics.uci.edu/ml/datasets/News+Aggregator

Отраслевые социальные сети:

Данные

Общедоступный набор данных со следующими атрибутами.

  • ID - целое число числового идентификатора.
  • TITLE -News Заголовок типа String.
  • URL - URL типа String.
  • ИЗДАТЕЛЬ - Имя издателя типа String.
  • КАТЕГОРИЯ - Категория новостей типа String.
  • ИСТОРИЯ - буквенно-цифровой идентификатор кластера, в который входят новости об одной и той же истории.
  • HOSTNAME -URL имя хоста типа String.
  • ВРЕМЯ - Примерное время публикации новости.

Постановка задачи:

  1. Не найти новостей, разделенных на разные категории
  2. Подсчитайте общее количество различных заголовков в таблице.
  3. Найдите имя издателя и название бизнес-категории.
  4. Найдите новости, которые были опубликованы за примерное время.
  5. Найдите 5 названий заголовков из таблицы, опубликованной Los Angeles Times.
  6. Найдите буквенно-цифровой идентификатор кластера, который включает новости о той же истории.

Сценарий оболочки:

Цель этого сценария оболочки - создать таблицу и выполнить команду hive для сохранения результата.

Создание таблицы: чтобы создать таблицу, используйте следующий запрос, как показано ниже.

 улей> создать новую таблицу
(
id bigint,
заголовок Строка
url String,
publishername String
категория Строка
история String
имя хоста Строка
время bigint
);

> формат строки с разделителями
> поля, оканчивающиеся на ' t'
> строки, оканчивающиеся на ' n'
> хранится как текстовый файл;

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

 куст> загрузить данные локально в путь '/home/training/Desktop/news.txt'
> перезаписывать в таблицу новости;

Вывод: для отображения вывода используется следующий запрос.

 улей> выберите * из новостей;

Команды улья

1. Найдите ряд новостей, разделенных на разные категории.

hive> SELECT category, COUNT (*) from news GROUP BY category

2 . Подсчитайте общее количество различных заголовков в таблице.

 улей> выберите количество (ОТЛИЧИТЕЛЬНОЕ название) из новостей

3. Найдите имя издателя и название бизнес-категории.

 hive> выберите заголовок, имя публикации из новостей, где category == 'b';

4. Найдите новости, которые были опубликованы за примерное время.

 hive> SELECT * из новостей SORT BY time DESC limit 1;

5 . Найдите 5 названий заголовков из таблицы, опубликованной Los Angeles Times.

 hive> ВЫБРАТЬ заголовок ИЗ новостей, где publishername = 'Los Angeles Times' LIMIT 5;

6. Найдите буквенно-цифровой идентификатор кластера, который включает новости о той же истории.

 улей> ВЫБРАТЬ рассказ, COUNT (*) из новостей ГРУППА ПО рассказу;