大数据开发学习Day46

一、Linux

1. 查看系统所有 CPU 核心使用率(排查 CPU 打满)

bash 复制代码
mpstat -P ALL 1 1

查看每一颗 CPU 核心使用率,精准判断是否 CPU 瓶颈

Spark/Flink 任务跑慢、集群卡顿第一排查命令

生产定位任务资源瓶颈必备

2. 批量替换目录下所有文件中的指定字符串

bash 复制代码
sed -i "s/old_str/new_str/g" /opt/etl/*.sh

批量替换脚本里的旧字符串 → 新字符串

用于批量更新配置、路径、账号信息

ETL 脚本批量维护神器

3. 查看 HDFS 存储容量、使用率、剩余空间

bash 复制代码
hdfs dfs -df -h

查看集群总容量、已用、可用空间

数仓日常巡检、磁盘预警、扩容评估必备

二、SQL

表结构

dwd_user_sign:用户签到表 user_id, sign_time, dt

dwd_order_refund:订单退款表 order_id, user_id, refund_amt, refund_time, dt

dwd_car_track:车联网轨迹表 car_id, speed, longitude, latitude, dt

1. 统计用户连续签到天数(面试高频)

sql 复制代码
SELECT
    user_id,
    MAX(continue_days) AS max_sign_days
FROM (
    SELECT
        user_id,
        COUNT(*) AS continue_days
    FROM (
        SELECT
            user_id,
            date_sub(sign_time, ROW_NUMBER()OVER(PARTITION BY user_id ORDER BY sign_time)) AS grp
        FROM dwd_user_sign
    ) t1
    GROUP BY user_id, grp
) t2
GROUP BY user_id;

连续行为经典分组算法

用于会员活跃度、奖励发放、用户留存

2. 统计每日退款金额、退款订单数、退款率

sql 复制代码
SELECT
    dt,
    COUNT(DISTINCT order_id) AS refund_cnt,
    SUM(refund_amt) AS refund_total,
    ROUND(SUM(refund_amt)/SUM(order_amt),4) AS refund_rate
FROM dwd_order_refund
GROUP BY dt;

交易健康度核心指标

电商 / 金融每日必看监控报表

3. 统计车辆最高速度、平均速度、行驶次数

sql 复制代码
SELECT
    car_id,
    MAX(speed) AS max_speed,
    ROUND(AVG(speed),2) AS avg_speed,
    COUNT(*) AS drive_times
FROM dwd_car_track
WHERE dt = '2026-05-27'
GROUP BY car_id;

物联网车联网标准统计 SQL

用于驾驶行为分析、车辆监控

三、Pyspark

今日重点:PySpark Shuffle 并行度调优(生产任务提速核心)

  • 为什么要调?
    默认并行度太低 → 任务跑超慢
    并行度太高 → 小文件爆炸、CPU 飙升
    正确设置 = 任务快 + 集群稳
  • 企业实战最优配置
python 复制代码
from pyspark.sql import SparkSession

spark = SparkSession.builder \
    .appName("ShuffleTuning") \
    .config("spark.sql.adaptive.enabled", "true") \
    .config("spark.sql.adaptive.coalescePartitions.enabled", "true") \
    .config("spark.sql.shuffle.partitions", "24") \
    .config("spark.default.parallelism", "24") \
    .config("spark.executor.memory", "8g") \
    .config("spark.executor.cores", "4") \
    .getOrCreate()
  • 超详细讲解
    spark.sql.shuffle.partitions:Shuffle 并行度,默认 200,生产一般设 24~64
    spark.default.parallelism:RDD 并行度,和上面保持一致
    AQE 自适应:自动合并小文件、自动优化倾斜
    这是离线数仓项目标准配置,直接提升速度 2~5 倍
  • 生产最佳实践
    小表:10~20 个分区
    中表:20~40 个分区
    大表:40~80 个分区
    千万不要用默认 200,会产生大量小文件

四、算法

只出现一次的数字

python 复制代码
def singleNumber(nums):
    res = 0
    for num in nums:
        res ^= num
    return res

思路讲解

异或运算:相同为 0,不同为 1

遍历一遍即可找到唯一不重复数字

时间 O (n),空间 O (1),最优解
大数据用途

海量日志去重、唯一用户识别、异常行为检测

相关推荐
其实防守也摸鱼14 分钟前
运维--ip单日获取去重数据量超过500条
运维·学习·tcp/ip·安全·web安全·安全威胁分析·工具
2503_9317124819 分钟前
2026年国内广东树脂骰子/合成树脂配件/树脂化妆刷/树脂胡须刷/树脂按摩手柄工厂盘点
大数据·人工智能
小小放舟、21 分钟前
Windows 本地安装 Elasticsearch 8.10.0 与 IK 分词器(2026)
java·大数据·windows·spring boot·elasticsearch·搜索引擎·全文检索
F202269748635 分钟前
西门子 PLC 与 C# 通信_项目实战
大数据·c#
pixcarp1 小时前
GMP调度模型和GC垃圾回收机制解析
后端·学习·golang·内存管理·gc·gmp
合众恒跃1 小时前
RK3588 + RK182X 双芯异构边缘计算方案:部署流程与实测性能解析
大数据·人工智能·科技·编辑器·etl工程师
百胜软件@百胜软件1 小时前
AI大促之后:618的三大启示与双11的三大预判
大数据·人工智能·零售
·醉挽清风·1 小时前
学习笔记—八股—操作系统
笔记·学习
踏月的造梦星球10 小时前
DMDPC 学习:架构、部署、运维与调优
运维·数据库·学习·架构
明航咨询—张老师11 小时前
软考软件评测师技术深度剖析:2026年考试改革后的知识体系与备考架构
大数据·架构