Hadoop综合大作业

adoop综合大作业 要求:

1.用Hive对爬虫大作业产生的文本文件(或者英文词频统计下载的英文长篇小说)词频统计。 

这次处理的文本是哈利波特之凤凰社英文长篇小说。

 

图2-1 分析的文本截图

操作:

1.开启Hadoop

 

图2-2 启动hadoop截图

2.查询Hadoop开启情况

 

图2-3 hadoop开启情况截图

3. Hdfs上创建文件夹

 

图2-4 创建文件夹截图

4. 上传文件至hdfs

 

图2-5 上传文件截图

5.启动hive

 

图2-6 启动hive截图

6. 创建原始文档表

 

图2-7 创建文档表截图

7. 导入文件内容到表docs并查看

 

图2-8 导入文件截图

8. 进行词频统计,结果放在表word_count里

 

图2-9 词频统计截图

9.结果

 

图2-10 部分结果截图

 分析说明

从以上部分结果截图中可以看出,robes出现了65次,robe中文翻译是卢比,是哈利波特魔法世界的通用货币,统计发现robes出现了如此多次,说明在哈利波特世界中隐晦的表达了作者对于货币资本家的批判。

2.用Hive对爬虫大作业产生的csv文件进行数据分析,写一篇博客描述你的分析过程和分析结果

 爬虫大作业源代码:

import requests, re, pandas, time
from bs4 import BeautifulSoup
from datetime import datetime


# 获取新闻细节
def getNewsDetail(newsUrl):
    time.sleep(0.1)
    res = requests.get(newsUrl)
    res.encoding = 'gb2312'
    soupd = BeautifulSoup(res.text, 'html.parser')
    detail = {'title': soupd.select('#epContentLeft')[0].h1.text, 'newsUrl': newsUrl, 'time': datetime.strptime(
        re.search('(d{4}.d{2}.d{2}sd{2}.d{2}.d{2})', soupd.select('.post_time_source')[0].text).group(1),
        '%Y-%m-%d %H:%M:%S'), 'source': re.search('来源:(.*)', soupd.select('.post_time_source')[0].text).group(1),
              'content': soupd.select('#endText')[0].text}
    return detail


# 获取一页的新闻
def getListPage(listUrl):
    res = requests.get(listUrl)
    res.encoding = "utf-8"
    soup = BeautifulSoup(res.text, 'html.parser')
    pagedetail = []  # 存储一页所有新闻的详情
    for news in soup.select('#news-flow-content')[0].select('li'):
        newsdetail = getNewsDetail(news.select('a')[0]['href'])  # 调用getNewsDetail()获取新闻详情
        pagedetail.append(newsdetail)
    return pagedetail


pagedetail = getListPage('http://tech.163.com/it/')  # 获取首页新闻
for i in range(2, 20):  # 因为网易新闻频道只存取20页新闻,直接设置20
    listUrl = 'http://tech.163.com/special/it_2016_%02d/' % i  # 填充新闻页,页面格式为两位数字字符
    pagedetail.extend(getListPage(listUrl))
df = pandas.DataFrame(pagedetail)
df.to_csv('news.csv')

创建用于存放csv数据目录:

 

把文件放入文件夹中

 查看文件中的数据:

导入数据库表中

查看数据:

原文地址:https://www.cnblogs.com/171-LAN/p/9090481.html