- 数据集
- 大数据
- 社交
【免费下载链接】tiktok-5.6B-videos
tiktok-5.6B-videos 是一个包含56 亿条 TikTok 视频记录的开源数据集,以 148 个月度 Parquet 文件存储(2014-07 至 2026-10,数据量 400GB 以上,单月文件最大约 20GB)。本文带你用 Pandas、Polars、DuckDB 三个工具,掌握 10 个在个人电脑上高效加载、过滤与聚合这份 Parquet 大规模数据集的实用技巧——无需集群,按部就班即可跑通。
📦 数据集概览:先看懂你要分析什么
每条视频一行元数据:视频 ID、发布时间、国家、语言、时长、封面尺寸、views/likes/comments/shares/saves等统计、hashtags、engagement_rate(互动率)、is_ai_generated(AI 生成标记)等 26+ 个字段。数据组织非常简洁:
- 全部数据位于 data/ 目录,一个月一个文件,命名
YYYY-MM.parquet,共 148 个文件,例如最新的 data/2026-10.parquet; - 完整字段定义、类型与含义见 README.md 中的 Columns 说明表;
- 许可证为 CC BY-NC 4.0,免费用于研究与个人用途。
"按月份切分"正是这份数据的最大分析优势:它相当于天然的时间分区,大部分问题你根本不需要触碰全部数据。
🚀 获取数据:两步命令完整上手
数据集通过 Git LFS 存储大文件。clone 后data/目录里的文件只是几百字节的"指针文件",必须手动拉取真实内容:
git clone https://gitcode.com/hf_mirrors/datasocial/tiktok-5.6B-videos cd tiktok-5.6B-videos && git lfs pull💡 磁盘紧张时只拉需要的月份:
git lfs pull data/2024-01.parquet
下面是核心 10 招。
10 招高效分析 Parquet 大规模数据
招式 1:过滤列再加载 —— Pandas 的columns=参数
大多数分析只用几个字段。read_parquet的columns参数让 Pandas 只读取指定列:
import pandas as pd df = pd.read_parquet("data/2024-01.parquet", columns=["video_id", "views", "likes"])原理:Parquet 是列式存储,只读指定列时磁盘上也只读对应列的数据,速度和内存通常能省九成。
招式 2:先按时间筛文件 —— 月度文件就是分区
最重要的一招:先挑文件,再读数据。"分析 2024 年上半年"只需 6 个文件,而不是 148 个:
files = [f"data/2024-{m:02d}.parquet" for m in range(1, 7)] df = pd.concat([pd.read_parquet(f, columns=["video_id", "views"]) for f in files])一句话心法:能在加载前缩小范围,就不要加载后再过滤。
招式 3:Polars 惰性引擎 —— 先搭计划,最后才算
scan_parquet不读任何数据,只构建计算计划,真正执行发生在最后的collect(),过滤与选列会自动下推到文件层:
import polars as pl top = (pl.scan_parquet("data/2024-01.parquet") .filter(pl.col("views") > 1_000_000) .select(["video_id", "views", "likes"]) .sort("views", descending=True) .head(20) .collect())这是处理单个十几 GB 大文件时最顺手的"过滤 + 排序 + 取前 N"工具。
招式 4:DuckDB —— 用 SQL 直查 Parquet
DuckDB 可以不导入、直接查询Parquet 文件,就像查普通数据库表:
SELECT country, COUNT(*) AS videos, AVG(views) AS avg_views FROM 'data/2024-01.parquet' GROUP BY country ORDER BY videos DESC LIMIT 10;配合 glob 还能一次查满一整年:
SELECT strftime(posted_at, '%Y-%m') AS month, COUNT(*) AS n FROM read_parquet('data/2024-*.parquet') GROUP BY month;有 SQL 基础的人,这是上手最快的姿势。
招式 5:谓词下推 —— 把过滤条件放进加载环节
Polars 的filter参数让条件在读文件时就生效,不匹配的行根本不进内存:
import polars as pl df = pl.read_parquet("data/2024-01.parquet", filter=(pl.col("type") == "video"))DuckDB 则在 SQL 里写WHERE时自动完成下推,零配置。
招式 6:分批读取防 OOM —— 流式处理大文件
内存装不下一整月数据时,按批处理。Polars 的batched让 20GB 文件可以一块一块消费:
import polars as pl for batch in pl.scan_parquet("data/2024-01.parquet").batched(1_000_000): process(batch) # 每次处理 100 万行DuckDB 对大文件默认也是流式读取,LIMIT类查询通常不会把全部数据读进内存。
招式 7:聚合优先 —— 先缩成每组合一行,再看明细
回答"哪个国家视频最多"这类问题时,千万不要先拉全部明细再分组,直接让引擎聚合:
SELECT country, COUNT(*) AS n FROM read_parquet('data/2025-*.parquet') GROUP BY country ORDER BY n DESC;聚合结果通常只有几十行,内存压力从 GB 级直接降到 KB 级。
招式 8:抽样验证 —— 复杂逻辑先在小样本上跑通
正式分析前,抽 1% 数据验证逻辑,把 20GB 文件的试错成本从几十分钟降到秒级:
import polars as pl sample = (pl.scan_parquet("data/2024-01.parquet") .filter(pl.random(42) < 0.01) .collect())逻辑在样本上稳定了,再放心跑全量。
招式 9:工具组合拳 —— 三件套各司其职
10 招不是"三选一",而是常用组合拳:
| 工具 | 最适合的场景 |
|---|---|
| DuckDB | SQL 聚合、快速探索式查询 |
| Polars | 大表过滤、变换、复杂 Python 逻辑 |
| Pandas | 聚合后的小结果、可视化绘图 |
中间结果用pl.write_parquet(...)存成 Parquet 即可在工具之间自由传递。
招式 10:缓存中间结果 —— Parquet 也是输出格式
多步分析会反复用到同一张"干净"的中间表时,用小sink_parquet把它落盘:
import polars as pl (pl.scan_parquet("data/2024-01.parquet") .select(["video_id", "views", "likes", "shares"]) .filter(pl.col("views") > 0) .sink_parquet("videos_2024_01.parquet"))下次分析直接读它,不用再扫原始 20GB 文件。
⚠️ 新手避坑速查
- clone 后忘了
git lfs pull:文件只是几百字节的指针,直接读取会报Parquet magic bytes not found之类的错误; - 老数据部分字段为 0 或 null:2016 年前的记录来自存档,
downloads、is_ai_generated等字段可能是 0 或 null,duration_ms只精确到秒,详见 README.md 的说明; - 一次性
read_parquet整个目录:148 个文件合计数百 GB,务必先用时间、列、条件缩小范围再加载。
写在最后
tiktok-5.6B-videos 用 148 个月度 Parquet 文件承载 56 亿行视频数据,"月度切分"让它天然可分区、可裁剪。记住核心思路:先筛选再加载,先聚合后展开。Pandas、Polars、DuckDB 三件套各有所长、互补组合,TB 级分析在个人电脑上完全可以跑起来。想深入了解字段细节,随时回看 README.md 的字段说明表。
- 数据集
- 大数据
- 社交
【免费下载链接】tiktok-5.6B-videos
相关推荐
146个文件与56亿行数据:tiktok-5.6B-videos背后的Parquet分区与大规模数据存储原理
146个文件与56亿行数据:tiktok 5.6B videos背后的Parquet分区与大规模数据存储原理 tiktok 5.6B videos(TikTok
数据集大数据社交tiktok-5.6B-videos数据字典:30个字段逐条详解,从hashtags到互动率再到TikTok Shop
tiktok 5.6B videos数据字典:30个字段逐条详解,从hashtags到互动率再到TikTok Shop tiktok 5.6B videos 是
数据集大数据社交从TikTok Shop到AI生成视频:tiktok-5.6B-videos的5个数据挖掘方向(广告、电商、FYP)
从TikTok Shop到AI生成视频:tiktok 5.6B videos的5个数据挖掘方向(广告、电商、FYP) 📊 tiktok 5.6B videos
数据集大数据社交
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考