基于大数据的人体体能活动能量消耗数据分析系统 | Hadoop+Spark技术栈vs普通增删改查:体能数据分析系统轻松拿优的秘密

40 阅读4分钟

💖💖作者:计算机毕业设计江挽 💙💙个人简介:曾长期从事计算机专业培训教学,本人也热爱上课教学,语言擅长Java、微信小程序、Python、Golang、安卓Android等,开发项目包括大数据、深度学习、网站、小程序、安卓、算法。平常会做一些项目定制化开发、代码讲解、答辩教学、文档编写、也懂一些降重方面的技巧。平常喜欢分享一些自己开发中遇到的问题的解决办法,也喜欢交流技术,大家有技术代码这一块的问题可以问我! 💛💛想说的话:感谢大家的关注与支持! 💜💜 网站实战项目 安卓/小程序实战项目 大数据实战项目 深度学习实战项目

基于大数据的人体体能活动能量消耗数据分析系统介绍

人体体能活动能量消耗数据分析系统是一套基于Hadoop+Spark大数据技术栈构建的综合性数据分析平台,专门针对人体运动过程中的能量消耗情况进行深度挖掘和智能分析。系统采用Python作为主要开发语言,后端框架选用Django,前端采用Vue+ElementUI+Echarts技术组合,实现了从数据采集、存储、处理到可视化展示的完整闭环。系统核心功能涵盖体能数据管理、体能活动能量分析、多维度综合数据分析、人口统计学特征分析、设备实时监测数据分析以及人体生理指标数据分析等模块,通过Spark SQL进行大规模数据查询优化,结合Pandas和NumPy进行精确的数学计算和统计分析,能够为用户提供全方位的体能活动能量消耗洞察,支持个性化的健康管理决策和运动方案制定。

基于大数据的人体体能活动能量消耗数据分析系统演示视频

演示视频

基于大数据的人体体能活动能量消耗数据分析系统演示图片

在这里插入图片描述 在这里插入图片描述 在这里插入图片描述 在这里插入图片描述 在这里插入图片描述 在这里插入图片描述 在这里插入图片描述 在这里插入图片描述

基于大数据的人体体能活动能量消耗数据分析系统代码展示

from pyspark.sql import SparkSession
from pyspark.sql.functions import col, avg, sum, count, when, desc
from django.http import JsonResponse
from django.views.decorators.http import require_http_methods
import pandas as pd
import numpy as np
from datetime import datetime, timedelta
import json

# 体能活动能量分析核心功能
@require_http_methods(["GET", "POST"])
def analyze_energy_consumption(request):
    spark = SparkSession.builder.appName("EnergyConsumptionAnalysis").config("spark.sql.adaptive.enabled", "true").getOrCreate()
    if request.method == "POST":
        user_id = request.POST.get('user_id')
        start_date = request.POST.get('start_date')
        end_date = request.POST.get('end_date')
        activity_type = request.POST.get('activity_type', 'all')
        df = spark.sql(f"SELECT * FROM fitness_data WHERE user_id = {user_id} AND activity_date BETWEEN '{start_date}' AND '{end_date}'")
        if activity_type != 'all':
            df = df.filter(col("activity_type") == activity_type)
        total_consumption = df.agg(sum("energy_consumed").alias("total_energy")).collect()[0]["total_energy"]
        avg_consumption = df.agg(avg("energy_consumed").alias("avg_energy")).collect()[0]["avg_energy"]
        activity_stats = df.groupBy("activity_type").agg(sum("energy_consumed").alias("type_total"), avg("energy_consumed").alias("type_avg"), count("*").alias("session_count")).orderBy(desc("type_total"))
        daily_trend = df.groupBy("activity_date").agg(sum("energy_consumed").alias("daily_total")).orderBy("activity_date")
        peak_performance = df.orderBy(desc("energy_consumed")).limit(5).select("activity_date", "activity_type", "energy_consumed", "duration_minutes")
        efficiency_analysis = df.withColumn("efficiency_ratio", col("energy_consumed") / col("duration_minutes")).orderBy(desc("efficiency_ratio")).limit(10)
        weekly_pattern = df.withColumn("weekday", date_format(col("activity_date"), "E")).groupBy("weekday").agg(avg("energy_consumed").alias("weekday_avg")).orderBy("weekday_avg")
        intensity_distribution = df.withColumn("intensity_level", when(col("heart_rate_avg") < 120, "Low").when(col("heart_rate_avg") < 150, "Medium").otherwise("High")).groupBy("intensity_level").agg(sum("energy_consumed").alias("intensity_total"))
        monthly_comparison = df.withColumn("month", date_format(col("activity_date"), "yyyy-MM")).groupBy("month").agg(sum("energy_consumed").alias("monthly_total"), avg("energy_consumed").alias("monthly_avg"))
        calorie_burn_rate = df.withColumn("burn_rate", col("energy_consumed") / col("body_weight")).agg(avg("burn_rate").alias("avg_burn_rate")).collect()[0]["avg_burn_rate"]
        recovery_analysis = df.withColumn("recovery_score", when(col("rest_heart_rate") < 60, 100).when(col("rest_heart_rate") < 80, 75).otherwise(50)).agg(avg("recovery_score").alias("avg_recovery"))
        goal_achievement = df.filter(col("energy_consumed") >= col("target_calories")).count()
        total_sessions = df.count()
        achievement_rate = (goal_achievement / total_sessions * 100) if total_sessions > 0 else 0
        result_data = {"total_consumption": float(total_consumption or 0), "average_consumption": float(avg_consumption or 0), "activity_breakdown": [{"type": row["activity_type"], "total": float(row["type_total"]), "average": float(row["type_avg"]), "sessions": row["session_count"]} for row in activity_stats.collect()], "daily_trend": [{"date": str(row["activity_date"]), "total": float(row["daily_total"])} for row in daily_trend.collect()], "peak_sessions": [{"date": str(row["activity_date"]), "type": row["activity_type"], "calories": float(row["energy_consumed"]), "duration": row["duration_minutes"]} for row in peak_performance.collect()], "efficiency_ranking": [{"date": str(row["activity_date"]), "ratio": float(row["efficiency_ratio"])} for row in efficiency_analysis.collect()], "weekly_pattern": [{"day": row["weekday"], "average": float(row["weekday_avg"])} for row in weekly_pattern.collect()], "intensity_stats": [{"level": row["intensity_level"], "total": float(row["intensity_total"])} for row in intensity_distribution.collect()], "monthly_comparison": [{"month": row["month"], "total": float(row["monthly_total"]), "average": float(row["monthly_avg"])} for row in monthly_comparison.collect()], "burn_rate": float(recovery_analysis.collect()[0]["avg_recovery"]), "achievement_rate": round(achievement_rate, 2)}
        spark.stop()
        return JsonResponse(result_data)
    else:
        return JsonResponse({"error": "Method not allowed"}, status=405)

基于大数据的人体体能活动能量消耗数据分析系统文档展示

在这里插入图片描述

💖💖作者:计算机毕业设计江挽 💙💙个人简介:曾长期从事计算机专业培训教学,本人也热爱上课教学,语言擅长Java、微信小程序、Python、Golang、安卓Android等,开发项目包括大数据、深度学习、网站、小程序、安卓、算法。平常会做一些项目定制化开发、代码讲解、答辩教学、文档编写、也懂一些降重方面的技巧。平常喜欢分享一些自己开发中遇到的问题的解决办法,也喜欢交流技术,大家有技术代码这一块的问题可以问我! 💛💛想说的话:感谢大家的关注与支持! 💜💜 网站实战项目 安卓/小程序实战项目 大数据实战项目 深度学习实战项目