📜  使用大数据技术的新闻聚合器概念验证

📅  最后修改于: 2021-10-27 06:45:15             🧑  作者: Mango

大数据是一个巨大的数据集,可以拥有大量数据、速度和各种数据。例如,数十亿用户同时在 Google 上搜索,这将是一个非常大的数据集。在此,我们将讨论使用大数据(Hadoop、hive、pig)在新闻聚合器上的概念证明(POC)。并将基于 MapReduce Operations 执行操作。为了执行操作,我们将使用 HiveQL(Hive查询语言),它是一种类似 SQL 的查询语言,可以使用Hive处理结构化数据。 Hive用于使查询和分析变得容易。它是一个基于 Hadoop 的数据仓库工具。

您将看到如何使用大数据在新闻聚合器上执行 POC 的实现方法。在这里,我们将进行 POC,将能够使用 Hadoop、hive 和 pig 等大数据技术找到所有查询。和查询,如分为不同类别的新闻数量,统计表中不同标题的总出现次数,出版商名称,对已发布新闻的查询,查找标题名称的查询,以及查找字母数字 id 的查询包含关于同一故事的新闻等的集群,让我们一一讨论。

新闻聚合器的概念证明:

  • 此 POC 基于新闻聚合器数据。
  • 公共数据集可在网站链接下方找到。
https://archive.ics.uci.edu/ml/datasets/News+Aggregator  

行业社交媒体:

数据

具有如下属性的公开数据集。

  • ID –整数数字 ID。
  • TITLE – 字符串类型的新闻标题。
  • URL –字符串类型的 URL。
  • PUBLISHER – 类型字符串的发布者名称。
  • CATEGORY – 类型字符串的新闻类别。
  • STORY –包含有关同一故事的新闻的集群的字母数字 ID。
  • HOSTNAME –字符串类型的 URL 主机名。
  • TIME – 新闻发布的大致时间。

问题陈述:

  1. 查找分为不同类别的新闻
  2. 计算表格中不同标题的总出现次数。
  3. 查找出版商名称和业务类别的标题。
  4. 查找大约发布时间的新闻。
  5. 从《洛杉矶时报》发布的表格中找出 5 个标题名称。
  6. 查找包含相同故事新闻的集群的字母数字 ID。

外壳脚本:

这个shell脚本的目的是创建一个表并执行hive命令来存储结果。

创建表:使用以下查询创建表,如下所示。

hive>create table new
(
id bigint,
title String,
url String,
publishername String,
category String,
story String,
hostname String,
time bigint
);

> row format delimited
> fields terminated by '\t'
> lines terminated by '\n'
> stored as textfile;

加载表:使用以下查询加载表,如下所示。

hive>load data local inpath ‘/home/training/Desktop/news.txt’
>overwrite into table news;

输出:使用以下查询显示输出。

hive>select * from news;

Hive命令

1.找到一些分成不同类别的新闻。

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

2 .计算表格中不同标题的总出现次数。

hive > select count (DISTINCT title) from news

3.查找出版商名称和业务类别的标题。

hive >select title , publishername from news where category==’b’;

4.找到大概发布时间的新闻。

hive >SELECT * from news SORT BY time DESC limit 1;

5 .从《洛杉矶时报》发布的表格中找出 5 个标题名称。

hive> SELECT title FROM news where publishername='Los Angeles Times' LIMIT 5;  

6.找到包含相同故事新闻的集群的字母数字 id。

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