期末复习 大数据采集

目录

第一章 爬虫

第二章 kafka  flume   

第三章 Kettle

第四章 Pandas


第一章 爬虫

对百度热搜(https://top.baidu.com/board?tab=realtime)数据进行抓取,按照"热搜名称-热搜指数"的格式显示在屏幕上。

import requests
from bs4 import BeautifulSoup

headers = {
    'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) \
               AppleWebKit/537.36 (KHTML, like Gecko) Chrome/67.0.3396.99 Safari/537.36'
}

url = 'https://top.baidu.com/board?tab=realtime'

r = requests.get(url, headers=headers)
soup = BeautifulSoup(r.text, 'html.parser')

all_items = soup.find_all('div', {'class': 'category-wrap_iQLoo horizontal_1eKyQ'})

for item in all_items:
    title = item.find('div',{'class': 'c-single-text-ellipsis'}).get_text()
    hot_index = item.find('div', {'class': 'hot-index_1Bl1a'}).get_text()
    print(f'{title}-{hot_index}')

第二章 kafka  flume   

要求设计并实现一个分布式实验系统。Telnent数据作为数据源,Flume采集Telnet的数据,并将数据发送到Kafak系统中的test_topic主题中,通过Kafka的consumer查看收到的数据。

写出所有的配置步骤和配置文件。同时对测试和运行结果进行截图。

1.启动zookeeper

Zookeeper服务:

cd d:\kafka_2.12-2.4.0

.\bin\windows\zookeeper-server-start.bat .\config\zookeeper.Properties

2.启动Kafka服务

.\bin\windows\kafka-server-start.bat .\config\server.properties

3.创建主题topictest

.\bin\windows\kafka-topics.bat --create --zookeeper localhost:2181 --replication-factor 1 --partitions 1 –-topic topictest

4.在Fulume的conf文件夹下创建配置文件kafka.conf,内容如下:

# Name the components on this agent

a1.sources = r1

a1.sinks = k1

a1.channels = c1



# source

a1.sources.r1.type = netcat

a1.sources.r1.bind = localhost

a1.sources.r1.port = 44444



# sink

a1.sinks.k1.type = org.apache.flume.sink.kafka.KafkaSink

a1.sinks.k1.kafka.topic = test_test

a1.sinks.k1.kafka.bootstrap.servers = localhost:9092

a1.sinks.k1.kafka.flumeBatchSize = 20

a1.sinks.k1.kafka.producer.acks = 1

a1.sinks.k1.kafka.producer.linger.ms = 1

a1.sinks.k1.kafka.producer.compression.type = snappy



# channel

a1.channels.c1.type = memory

a1.channels.c1.capacity = 1000

a1.channels.c1.transactionCapacity = 100



# Bind the source and sink to the channel

a1.sources.r1.channels = c1

a1.sinks.k1.channel = c1

5.启动Flume

cd d:\apache-flume-1.9.0-bin

.\bin\flume-ng.cmd agent --conf ./conf --conf-file ./conf/kafka.conf --name a1 -property flume.root.logger=INFO,console

6.启动telnet

telnet localhost 44444

7.打开kafka的consumer查看接收的信息

.\bin\windows\kafka-console-consumer.bat --bootstrap-server localhost:9092 --topic topictest --from-beginning

第三章 Kettle

使用kettle进行随机数处理。设计一个能生成20个取值范围为0到100随机整数的转换的作业,要求每隔10秒生成1组。

操作过程参数设置及运行结果截图

            

  

第四章 Pandas

电影评分数据分析。有一个电影评分数据集IMDB-Movie-Data.csv,里面包含了电影标题、类型、导演、演员、上映年份、电影时长、评分、收入等信息,下面使用pandas、NumPy和Matplotlib对数据集进行分析。

1.求评分平均数、电影时长平均数和收入平均数。

命令行及运行结果:

2.绘制电影评分分布的直方图。

命令行及运行结果:

# 创建画布

 plt.figure(figsize=(20, 8), dpi=100)

# 绘制图像

plt.hist(movie["Rating"].values, bins=20)

# 添加刻度

max_ = movie["Rating"].max()

min_ = movie["Rating"].min()

t1 = np.linspace(min_, max_, num=21)

plt.xticks(t1)

# 添加网格

plt.grid()

# 显示

3.显示有空值字段的所有行。

命令行及运行结果:

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值