2025/2/13
我们使用Python爬取了数据并存储到HDFS中。本篇博客将介绍如何使用Hadoop和Spark对这些数据进行分析。
Hive数据加载:将HDFS中的数据加载到Hive表中。
Spark数据分析:使用Spark进行数据清洗和分析。
示例代码:
Hive加载数据:
-- 创建Hive表
CREATE TABLE crawled_data (
title STRING,
link STRING
) ROW FORMAT DELIMITED FIELDS TERMINATED BY ','
LOCATION '/user/hadoop/crawled_data.csv';
-- 查看数据
SELECT * FROM crawled_data LIMIT 10;
Spark数据分析(Python):
from pyspark.sql import SparkSession # 创建SparkSession spark = SparkSession.builder \ .appName("DataAnalysis") \ .master("local[*]") \ .enableHiveSupport() \ .getOrCreate()
# 从Hive表加载数据
df = spark.sql("SELECT * FROM crawled_data")
# 数据清洗:过滤无效链接
df = df.filter(df.link.startswith("http"))
# 数据分析:统计每个链接出现的次数
link_counts = df.groupBy("link").count().orderBy("count", ascending=False)
# 显示结果
link_counts.show()
# 停止SparkSession
spark.stop()
运行步骤:
确保Hadoop和Hive服务已启动。
在Hive中运行上述SQL语句,加载数据到Hive表中。
安装PySpark:
pip install pyspark
将上述Spark代码保存为analyze_data.py。
运行脚本:
python analyze_data.py
观察分析结果。
通过Hadoop和Spark,可以高效地处理和分析大规模数据。Hive提供了方便的数据存储和查询能力,而Spark则提供了强大的数据处理和分析能力。结合Python爬虫,我们可以构建完整的数据采集、存储和分析流程。