大数据开发学习Day29

一、Linux

查看磁盘整体占用
只查看 inode 使用情况
查找 7 天前修改过的文件

bash 复制代码
df -h
df -i
find . -mtime +7

df -h 查看磁盘分区容量、已用、剩余,集群磁盘告警常用
df -i 查看 inode 占用,排查inode 耗尽导致无法创建文件
find -mtime +7 查找 7 天前修改文件,日志归档、清理历史文件刚需

二、SQL

1440. 布尔表达式计算

sql 复制代码
SELECT
    left_operand,
    operator,
    right_operand,
    CASE
        WHEN operator = '>' AND left_operand > right_operand THEN 'true'
        WHEN operator = '<' AND left_operand < right_operand THEN 'true'
        WHEN operator = '=' AND left_operand = right_operand THEN 'true'
    ELSE 'false'
    END AS value
FROM Expressions;

CASE 多条件组合判断

字段逻辑运算 + 条件分支输出标签

数据校验、规则判定类 SQL 通用模板

1484. 按日期分组销售产品

sql 复制代码
SELECT
    sell_date,
    COUNT(DISTINCT product) AS num_sold,
    GROUP_CONCAT(DISTINCT product ORDER BY product SEPARATOR ',') AS products
FROM Activities
GROUP BY sell_date
ORDER BY sell_date;

GROUP_CONCAT 行转字符串拼接

支持去重、排序、指定分隔符

数仓每日商品汇总、标签拼接高频用法

1527. 患某种疾病的患者

sql 复制代码
SELECT *
FROM Patients
WHERE conditions LIKE 'DIAB1%' 
   OR conditions LIKE '% DIAB1%';

LIKE 模糊匹配

匹配开头 或 中间带空格的关键字

日志、标签字段模糊检索标准写法

三、Pyspark

python 复制代码
from pyspark.sql import SparkSession
from pyspark.sql.functions import col, countDistinct, collect_list, concat_ws, lower

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

# 1. 布尔表达式判断
expr = spark.createDataFrame([
    (5,">",3),(2,"<",4)
], ["left_operand","operator","right_operand"])

expr.withColumn("value",
    expr.casewhen((col("operator")==">") & (col("left_operand")>col("right_operand")), "true")
         .when((col("operator")=="<") & (col("left_operand")<col("right_operand")), "true")
         .otherwise("false")
).show()

# 2. 日期分组+产品拼接
act = spark.createDataFrame([
    ("2025-05-01","Banana"),
    ("2025-05-01","Apple")
], ["sell_date","product"])

act.groupBy("sell_date")
   .agg(
       countDistinct("product").alias("num_sold"),
       concat_ws(",", collect_list("product")).alias("products")
   ).show()

spark.stop()

Spark casewhen 对应 SQL CASE
collect_list + concat_ws 实现 GROUP_CONCAT 效果

分组聚合 + 字符串拼接,报表汇总常用

四、算法

27. 移除元素

python 复制代码
def removeElement(nums, val):
    slow = 0
    for fast in range(len(nums)):
        if nums[fast] != val:
            nums[slow] = nums[fast]
            slow += 1
    return slow

双指针原地移除指定值

不开新数组、空间 O (1)

数组基础双指针必背模板

相关推荐
信安IT租赁5 小时前
本地化部署的AI营销CRM:基于事件驱动的全流程自动化状态机实践
大数据·人工智能·软件工程
AgentMaster5 小时前
元数据、血缘、质量、安全四大模块能力拆解,数据治理方案对比:4 种技术路线深度评测
大数据·数据库·数据仓库·人工智能·原型模式
Raas1005 小时前
AI网关和OpenRouter区别在哪?MAI Gateway(魔芋企业级AI网关)统一治理方案深度解析
大数据·人工智能·gateway·ai网关·mai gateway
海兰6 小时前
Elasticsearch ES|QL:让全文本搜索无处不在
大数据·elasticsearch·jenkins
智购科技自动贩卖机6 小时前
自动售货机嵌入式系统安全加固实践:从Go语言国密算法到硬件防拆的工程化落地
大数据·人工智能·后端·安全·golang·系统安全
TDengine (老段)6 小时前
TDgpt 概览 — AI 增强的时序数据库
大数据·数据库·人工智能·物联网·时序数据库·iot·tdengine
IT研究室6 小时前
最新大数据毕业设计选题推荐-基于大数据的城市空气污染物浓度数据分析与可视化-大数据-Spark-Hadoop-Bigdata
大数据·数据分析·课程设计
starzy19908 小时前
Flink基础之Session-Cluster原理详解:共享集群的利与弊
大数据·flink
starzy19908 小时前
Flink基础之Per-Job-Cluster原理详解:被 Application 取代的模式
java·大数据·flink
春风解人意14 小时前
从零开始学习嵌入式P32----网络基础之TCP
c语言·网络·学习·tcp/ip