大数据开发学习Day28

一、Linux

查看当前登录所有在线用户
强制结束 PID 为 10086 的进程
递归删除当前目录下所有空目录

bash 复制代码
who
kill -9 10086
find . -type d -empty -delete

who :查看服务器在线登录用户,运维安全巡检常用
kill -9 PID :强制杀死进程,卡死任务、僵尸进程收尾必备
find -type d -empty -delete:递归清理空目录,磁盘规整、数据归档常用

二、SQL

1378. 使用唯一标识码替换员工 ID

sql 复制代码
SELECT
    eu.unique_id,
    e.name
FROM Employees e
LEFT JOIN EmployeeUNI eu
ON e.id = eu.id;

标准左外连接匹配维度 ID

主表保留全部,匹配不到自动 NULL

数仓用户主表关联唯一标识通用模板

1393. 股票的资本损益

sql 复制代码
SELECT
    stock_name,
    SUM(CASE operation
        WHEN 'Sell' THEN price
        WHEN 'Buy' THEN -price
    END) AS capital_gain_loss
FROM Stocks
GROUP BY stock_name;

CASE 给买入加负号、卖出正号

分组 SUM 直接算净盈亏

行为类型做正负折算,金融 / 交易类 SQL 经典写法

1407. 排名靠前的旅行者

sql 复制代码
SELECT 
    u.name,
    IFNULL(SUM(r.distance), 0) AS travelled_distance
FROM users u 
LEFT JOIN rides r ON r.user_id = u.id
GROUP BY u.id, u.name
ORDER BY travelled_distance DESC, u.name ASC;

左连接保证无行程用户也能出现(距离为 NULL)

分组聚合总里程

多字段排序:指标降序、名字字典序升序兜底

三、Pyspark

python 复制代码
from pyspark.sql import SparkSession
from pyspark.sql.functions import col, sum, when

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

# 1. 左连接匹配唯一ID
emp = spark.createDataFrame([(1,"Alice"),(2,"Bob")],["id","name"])
uni = spark.createDataFrame([(1,"U001")],["id","unique_id"])
emp.join(uni, on="id", how="left").show()

# 2. 股票盈亏计算
stock = spark.createDataFrame([
    ("AAPL","Buy",100),
    ("AAPL","Sell",120)
], ["stock_name","operation","price"])

stock.withColumn("gain",
    when(col("operation")=="Sell", col("price"))
    .when(col("operation")=="Buy", -col("price"))
).groupBy("stock_name").sum("gain").show()

spark.stop()

Spark left 左外连接和 MySQL 逻辑完全一致
when 实现条件正负转换,对标 SQL CASE

分组聚合 + 排序,直接复用数仓业务开发逻辑

四、算法

160. 相交链表

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

def getIntersectionNode(headA, headB):
    a, b = headA, headB
    while a != b:
        a = a.next if a else headB
        b = b.next if b else headA
    return a

双指针遍历,走完自己走对方

时间 O (n)、空间 O (1) 最优解

链表高频面试经典题型

相关推荐
2601_957786775 分钟前
企业矩阵系统的实践与内容协同价值分析
大数据·人工智能·内容协同·数字化获客
captain_AIouo13 分钟前
全域电商流量竞争白热化,autoAGC AI助商家破局增收
大数据·人工智能·经验分享·aigc
二等饼干~za89866818 分钟前
geo优化源码开发搭建技术分享
大数据·网络·数据库·人工智能·音视频
晓梦林30 分钟前
bughush靶场学习笔记
笔记·学习
hssfscv30 分钟前
QT的学习记录1
开发语言·qt·学习
weixin_4462608532 分钟前
[特殊字符] 从弱点中学习:小计算使用智能体的自动领域专业化
人工智能·学习
wuxinyan12337 分钟前
工业级大模型学习之路029:解决双智能体调用数据库报错问题
数据库·人工智能·python·学习·智能体
Elastic 中国社区官方博客1 小时前
Elastic 线下 Meetup 将于 2026 年 7 月 26 号下午在深圳举行
大数据·数据库·人工智能·elasticsearch·搜索引擎·ai·全文检索
weixin_468466851 小时前
千问大模型在阿里生态中的实战应用指南
大数据·人工智能·深度学习·ai·大模型·智能交互·自动应答
sakiko_1 小时前
Swift学习笔记34-MVC架构,SwiftUI与UIkit混编练习
笔记·学习·swiftui·mvc·swift