大数据开发学习Day24

一、Linux

查看当前服务器所有监听端口及对应进程
过滤日志中 ERROR 并输出前 10 行
后台运行脚本 task.sh,不占用终端

bash 复制代码
ss -tulnp
grep ERROR app.log | head -10
nohup sh task.sh &

ss -tulnp

查看 TCP/UDP 监听端口 + 对应进程 PID

排查端口占用、服务端口监听、防火墙调试必备
grep ... | head -10

过滤关键字并限制输出行数,避免日志刷屏
nohup 命令 &
nohup 脱离终端守护运行
& 放入后台

大数据脚本、定时任务常用部署方式

二、SQL

577. 员工奖金

sql 复制代码
SELECT
    e.name,
    b.bonus
FROM Employee e
LEFT JOIN Bonus b 
    ON e.empId = b.empId;

LEFT JOIN 左外连接
保留左表所有员工,匹配不到奖金自动为 NULL
业务场景
用户主表 + 业绩 / 奖金维度表关联,数仓最常用关联方式
不需要 IFNULL,题目要求无奖金直接返 null

608. 树节点

sql 复制代码
SELECT
    id,
    CASE
        WHEN p_id IS NULL THEN 'Root'
        WHEN id NOT IN (SELECT DISTINCT p_id FROM Tree WHERE p_id IS NOT NULL) THEN 'Leaf'
        ELSE 'Inner'
    END AS type
FROM Tree;

树形结构 SQL 判断模板
p_id IS NULL → 根节点
id 不出现在父节点列表 → 叶子节点
其余为中间节点
子查询筛选所有父节点 ID
面试常考:自关联树形层级判断

1141. 查询近 30 天活跃用户数

sql 复制代码
SELECT
    activity_date AS day,
    COUNT(DISTINCT user_id) AS active_users
FROM UserActivity
WHERE activity_date BETWEEN DATE_SUB('2019-07-27', INTERVAL 29 DAY)
                        AND '2019-07-27'
GROUP BY activity_date;

DATE_SUB 日期向前偏移
COUNT(DISTINCT user_id) 日活标准统计写法
固定时间区间过滤 + 按日期分组
完全对标大数据数仓 日活、留存、用户行为统计 真实业务

三、Pyspark

左外连接补空值
树形结构节点分类判断
日期范围过滤 + 每日去重用户统计

python 复制代码
from pyspark.sql import SparkSession
from pyspark.sql.functions import col, countDistinct, date_sub

spark = SparkSession.builder \
    .master("local[*]") \
    .appName("Day24") \
    .getOrCreate()

# 1. 左连接 员工奖金
emp = spark.createDataFrame([(1,"Alice"),(2,"Bob")], ["empId","name"])
bonus = spark.createDataFrame([(1,5000)], ["empId","bonus"])
emp.join(bonus, on="empId", how="left").show()

# 2. 日期过滤 + 日活统计(对应LC1141)
act = spark.createDataFrame([
    (101, "2019-07-20"),
    (102, "2019-07-20"),
    (101, "2019-07-25")
], ["user_id","activity_date"])

act.filter(
    col("activity_date").between(date_sub("2019-07-27", 29), "2019-07-27")
).groupBy("activity_date")
 .agg(countDistinct("user_id").alias("active_users"))
 .show()

spark.stop()

Spark how="left" 左外连接,和 MySQL LEFT JOIN 一致
countDistinct 计算日活
日期函数 date_sub 与 SQL 语法对齐
离线数仓日活指标标准开发模板

四、算法

141. 环形链表

python 复制代码
class ListNode:
    def __init__(self, val=0, next=None):
        self.val = val
        self.next = next

def hasCycle(head):
    slow = fast = head
    while fast and fast.next:
        slow = slow.next
        fast = fast.next.next
        if slow == fast:
            return True
    return False

快慢指针(龟兔赛跑)
有环则快慢指针一定会相遇

相关推荐
企业老板ai培训1 小时前
破解中小企业AI变现难:2026年企业AI培训与陪跑行业趋势深度报告,为何从‘陪跑’到‘变现’才是关键?
大数据·人工智能
西安老张(AIGC&ComfyUI)2 小时前
第034章:ComfyUI&AIGC一阶段学习总结及下阶段学习安排
学习·aigc
aax12134533 小时前
VOC 集群治理工程实操|美丽蓝天绿岛项目 RTO 工艺选型、管控方案与申报要
大数据·数据库·人工智能
码农学院4 小时前
基于Spring Boot的跨境电商多语言订单管理系统架构设计
java·大数据·spring boot
正经人_x5 小时前
学习日记43:FINO
学习
l156469485 小时前
突围!图文混合知识库难以解析,Kimi-K3 原生视觉架构深耕知识工作,DMXAPI 统一接口,缩短项目开发周期
java·大数据·开发语言
QN1幻化引擎5 小时前
两个 AI 互相“创造自己“:Dalin X × Dalin L 自创造闭环全记录
大数据·人工智能
悟天特斯6 小时前
智慧楼宇AI节能:从数据采集到智能决策的全链路实践
大数据·人工智能
网络工程小王7 小时前
【HCIE-AI】11.模型 昇腾迁移适配-精度调试-性能调优
人工智能·学习·华为·迁移学习·昇腾
柠檬味的Cat7 小时前
GEO优化系统哪个渠道商好
大数据·人工智能·python