- 博客(6516)
- 资源 (10)
- 收藏
- 关注
原创 【Atlas】 Atlas 中的 Policy 和 Ranger 有何区别与联系?
在 Apache Atlas 2.4.0 源码中,并无名为 “Policy” 的独立实体类型。Classification(分类标签)类型定义位于,如PIIGDPR。每个 Classification 可携带属性(如),但不包含执行逻辑。Policy Engine(策略引擎)集成点Atlas 提供REST API 与 Webhook 机制,允许外部系统(如 Ranger)订阅 Classification 变更事件。(创建 Classification),(获取实体标签)。通俗类比。
2026-07-10 09:02:12
7
原创 【Atlas】未来 Apache Atlas 是否计划内置统一的 SQL 解析引擎?社区对此有何讨论或提案?
摘要:Apache Atlas 统一 SQL 解析引擎的现状与替代方案 截至 2026 年 4 月,Apache Atlas 官方并未计划内置统一的 SQL 解析引擎,社区也未形成相关共识提案。Atlas 的核心定位是元数据管理平台,而非 SQL 引擎,其通过 Hook 机制依赖外部系统捕获元数据。当前替代方案包括:1) 采用 OpenLineage 标准实现引擎无关的血缘采集;2) 基于 Apache Calcite 开发独立 SQL 解析服务;3) 参考商业产品的解耦设计。未来 Atlas 更可能演进为
2026-07-10 09:01:53
49
原创 【Atlas】如何验证某条 SQL 产生的血缘是否已被 Atlas 正确捕获?有哪些调试和排查手段?
Apache Atlas 2.4.0 血缘验证全链路排查指南(150字摘要) 本文针对Atlas血缘捕获失效问题,提出"四位一体"验证方法论:1)通过REST API检查实体状态;2)使用Kafka CLI验证事件通道;3)分析Hive Hook和Atlas Server日志定位异常;4)监控关键指标评估系统健康度。以金融交易宽表为例,详细演示从SQL执行到UI展示的全链路排查流程,涵盖Hive Metastore事件触发、Kafka消息生产、Atlas实体处理等关键环节。提供标准化命令和检查清单,帮助用户
2026-07-10 09:01:36
85
原创 【Atlas】SQL 解析失败或 Hook 未触发时,如何通过 Atlas REST API 手动补录血缘关系?
通过 Atlas REST API 手动补录血缘,是数据治理工程师必备的核心技能。它不仅是应对自动化管道故障的应急手段,也是主动治理历史资产、集成非标准数据源的有效途径。核心建议精通模型:深刻理解ProcessDataset三者的关系是成功补录的前提。善用工具:不要手写 JSON,开发或使用脚本化工具来提高效率和准确性。规范先行:建立并强制执行命名规范,从源头上杜绝冲突。流程保障:将手动操作纳入变更管理和审计流程,确保元数据的可信度。
2026-07-10 09:01:19
36
原创 【Atlas】在复杂 ETL 场景中(如多表 JOIN + UDF + INSERT OVERWRITE),Atlas 能否准确还原字段级血缘?存在哪些挑战?
Apache Atlas 2.4.0 字段级血缘能力深度解析 摘要 本文针对Apache Atlas 2.4.0在复杂ETL场景下的字段级血缘能力进行深入分析。首先明确指出官方Hive Hook仅支持表级血缘,无法原生提供字段级血缘关系。通过电商用户行为宽表案例,详细剖析了在多表JOIN、UDF、聚合函数等复杂场景下字段级血缘面临的五大挑战: 表达式计算导致血缘无法简单映射 聚合函数丢失分组上下文 UDF黑盒特性阻碍逻辑解析 常量字段缺乏上游数据源 多表JOIN可能产生字段歧义 提出两种解决方案:增强型Ho
2026-07-10 09:01:01
76
原创 【Atlas】Atlas 中表示血缘关系的 Relationship 类型是什么(如 `dataset_process_dataset`)?其结构如何定义?
Apache Atlas 血缘关系核心解析 Apache Atlas 2.4.0中,血缘关系的核心实现并非通过通用的dataset_process_dataset关系类型,而是基于以下机制: 三元组模型:由Process实体(如ETL作业)通过inputs和outputs属性直接引用Dataset实体(如表、文件)的qualifiedName来建立血缘。 辅助关系类型:实际使用hive_process_inputs、hive_process_outputs等特定关系类型作为查询优化工具,而非主存储机制。 实
2026-07-10 09:00:41
111
原创 【Atlas】如何利用 ANTLR 或 Calcite 构建通用 SQL 解析器,并将解析结果转换为 Atlas Entity 模型?
文章摘要:构建通用SQL解析器并转换为Atlas Entity模型 本文探讨了利用ANTLR或Calcite构建通用SQL解析器,并将解析结果转换为Apache Atlas Entity模型的技术方案。作者首先澄清了Atlas官方Hive Hook机制的工作原理,指出其依赖Hive Metastore事件而非直接SQL解析。对于需要自研解析器的场景(如Flink SQL、字段级血缘),文章对比了ANTLR和Calcite的优劣,推荐使用内置SQL标准支持的Calcite。随后以IoT设备指标宽表为例,详细演
2026-07-10 09:00:17
146
原创 【Atlas】对于未被 Hook 覆盖的 SQL 引擎(如 Trino、Presto),如何手动构建血缘 Entity 并推送到 Atlas?
摘要 本文针对Apache Atlas 2.4.0缺乏Trino/Presto原生Hook支持的问题,提出手动构建数据血缘关系的解决方案。通过剖析Atlas的血缘模型核心原理(基于"Process"实体的三元组结构),详细演示如何利用REST API实现跨系统血缘追踪。 以电商场景为例,展示从Kafka主题、Hive表到ClickHouse表的完整血缘构建流程,包括: 前置实体创建与GUID获取 Process实体构造的关键字段(inputs/outputs/qualifiedName) 完整cURL命令示
2026-07-10 09:00:00
227
原创 【Atlas】Classification 是否支持层级结构(如 PII > Email)?
Apache Atlas Classification 层级结构支持解析 本文深入探讨了Apache Atlas 2.4.0中Classification的层级结构支持能力,通过金融行业数据治理场景进行说明: 核心机制:Classification的层级通过Type System继承实现,子分类通过superTypes字段指定父分类(如Email继承PII) 技术实现: 父分类(PII)和子分类(Email/PhoneNumber)都作为AtlasClassificationDef定义 子分类设置super
2026-07-10 08:59:41
80
原创 【Atlas】如何为 Entity 打上 Classification 标签?
本文介绍了在Apache Atlas中为数据资产打Classification标签的三种方法,重点解决强监管行业的数据分类分级需求。主要内容包括: Classification机制原理:作为特殊的Entity Type,用于语义标记数据资产,支持自动化打标、策略驱动和标签传播。 三种打标方式: UI手动打标:适用于少量资产 REST API批量操作:推荐生产环境使用 自动规则匹配:通过正则表达式实现自动化分类 关键技术点: 必须预注册Classification Type 标签信息存储在HBase和Solr
2026-07-10 08:59:21
34
原创 【Atlas】Atlas 是否支持解析 ANSI SQL 标准语句(如 JOIN、CTE、子查询)并提取字段映射关系?
Atlas 字段级血缘解析能力简析 Apache Atlas 2.4.0 通过 Hive Hook 机制能够部分解析 ANSI SQL 标准语句并提取字段映射关系。核心发现如下: 支持能力: 完美支持 JOIN(INNER/LEFT/RIGHT)操作 完整识别 CTE(WITH 子句) 可处理 FROM 子句中的子查询 局限: 不支持 WHERE/HAVING 条件的血缘追踪 无法解析标量子查询(SELECT 子句中的子查询) 聚合函数和窗口函数仅保留基础字段血缘 技术原理: 依赖 Hive 的 Linea
2026-07-09 09:19:51
10
原创 【Atlas】在 Flink CDC 场景下,如何将 MySQL 到 Kafka 再到 Hive 的端到端血缘上报至 Atlas?
Flink CDC端到端血缘追踪解决方案 摘要 本文介绍了一个完整的Flink CDC端到端血缘追踪方案,用于解决金融交易流水数据从MySQL到Kafka再到Hive的全链路元数据管理问题。方案基于Apache Atlas 2.4.0构建,包含三个核心组件: MySQL元数据注册:开发独立的Metadata Scanner定期扫描MySQL表结构并同步到Atlas; Flink CDC血缘捕获:通过扩展Flink Catalog或嵌入血缘上报逻辑,捕获源表与目标Topic的映射关系; Hive元数据注册:利
2026-07-09 09:19:32
73
原创 【Atlas】Flink SQL 作业的源表和结果表能否自动注册到 Atlas?需要哪些扩展开发?
Flink SQL 作业元数据自动注册至 Apache Atlas 开发摘要 核心技术方案 推荐采用 扩展 Flink Catalog 的方式实现元数据自动注册,通过实现自定义 AtlasAwareCatalog 在表创建时同步元数据至 Atlas。相比 JobListener 方案,具有原子性高、侵入性低的优势。 核心开发步骤 Atlas 元模型准备:需预先定义 Kafka Topic 类型(含字段、分区等属性) 自定义 Catalog 实现: 继承 Flink 的 Catalog 接口 在 create
2026-07-09 09:19:13
105
原创 【Atlas】如何开发一个自定义的 Spark Listener 将 DataFrame 操作上报到 Atlas?关键技术点是什么?
Spark Listener 与 Atlas 集成摘要 本文详细介绍了开发生产级自定义 Spark Listener 以捕获 DataFrame 操作并上报至 Apache Atlas 2.4.0 的完整方案。主要内容包括: 业务场景:解决 Hudi MOR 表增量血缘缺失问题,实现 Kafka-Hudi 数据流的完整血缘追踪 技术架构:基于 Spark QueryExecutionListener 接口,通过解析 LogicalPlan 提取输入输出源,构建 Atlas 实体并异步上报 关键技术点: Lo
2026-07-09 09:18:52
103
原创 【Atlas】 Spark SQL 的执行计划(LogicalPlan/PhysicalPlan)能否被 Atlas 捕获?社区有哪些集成方案?
Apache Atlas 与 Spark SQL 集成摘要 本文系统分析了 Spark SQL 执行计划(LogicalPlan/PhysicalPlan)与 Apache Atlas 集成的技术方案,重点关注血缘关系捕获问题。以 ClickHouse 表治理为实际场景,揭示了当前数据血缘缺失的业务痛点。 技术要点: Spark 的 QueryExecutionListener 机制可捕获完整执行计划,LogicalPlan 是血缘分析的黄金标准 社区主流方案包括 Hortonworks 官方 Connec
2026-07-09 09:18:25
326
原创 【Atlas】Atlas 能否解析 Hive 视图(View)的定义并建立字段级血缘?如何实现?
摘要:Apache Atlas 解析 Hive 视图字段级血缘的实现原理与实践 本文探讨了 Apache Atlas 2.4.0 如何实现 Hive 视图的元数据捕获与字段级血缘解析。通过 IoT 设备指标视图的案例,揭示了 Atlas 的双重机制: DDL 捕获:将视图作为特殊表(VIRTUAL_VIEW)注册,保存原始和展开后的视图定义 DML 血缘推导:利用 Hive 的 LineageInfo 分析逻辑计划,建立视图字段到源表字段的精确映射 生产配置要求 Hive 3.1+ 和 Atlas 2.4.
2026-07-09 09:18:07
238
原创 【Atlas】Hive Hook 是如何在 Hive 执行过程中捕获 SQL 血缘的?其工作流程是怎样的?
摘要:本文深入解析Apache Atlas Hive Hook的血缘捕获机制,以电商用户行为宽表治理为例,展示如何通过Hive Hook实现字段级血缘追踪。文章拆解了Hive Hook的四层工作模型:1) 通过MetaStoreEventListener注册回调;2) 从Operator Tree解析LineageInfo;3) 构建Atlas Entity建模血缘关系;4) 通过Kafka异步上报。详细说明了核心数据结构、关键源码路径和实体建模规则,并提供了生产级配置方案。该机制能有效解决数据异常溯源问题
2026-07-09 09:17:46
240
原创 【Atlas】 Apache Atlas 是否具备原生 SQL 解析能力?它如何获取 SQL 查询中的表和字段信息?
Apache Atlas 2.4.0 本身不具备原生SQL解析能力,其元数据捕获完全依赖外部系统的Hook机制。核心结论如下: 架构本质:Atlas采用被动上报模型,通过Hive/Spark/Flink等组件的Hook监听执行计划,提取元数据后以Entity形式上报至Kafka,由Atlas Server统一存储管理。 Hive实现:最成熟的方案,通过HiveHook捕获AST树和LineageInfo,能精确解析字段级血缘(如金融交易场景中SUM(tx_amount)→total_amount的映射)。
2026-07-09 09:17:30
176
原创 【Atlas】血缘数据的时效性如何?是实时还是准实时?
Apache Atlas血缘数据时效性分析:准实时架构与优化策略 摘要:Apache Atlas 2.4.0采用基于Kafka的异步架构实现准实时血缘关系更新,端到端延迟通常在1-5秒,但在高负载场景下可能恶化至分钟级。本文通过金融风控案例,深度剖析了从Hive Hook触发到Solr索引可查的全链路延迟构成(Kafka消息传递、HBase存储写入、Solr索引更新三大阶段),并给出关键优化配置:1)调整Kafka消费者参数减少消息积压;2)优化Solr软提交策略降低索引延迟;3)配置HBase写入缓冲区提
2026-07-09 09:17:11
330
原创 【Atlas】血缘图谱在 UI 中如何交互式查看?
Apache Atlas 血缘图谱UI交互解析 摘要:Apache Atlas 2.4.0 Web UI提供基于D3.js的交互式血缘图谱功能,支持缩放、拖拽、节点详情查看和上下游切换等操作,但默认仅展示depth=1的血缘关系。本文从电商场景实例出发,详细剖析了Atlas UI血缘图谱的渲染机制、交互功能和性能优化策略。关键点包括: 核心功能: 支持节点点击查看详情、缩放视图、拖拽移动和上下游切换 默认展示1层血缘关系,可通过URL调整深度 使用D3 Force-Directed Graph实现可视化 技
2026-07-09 09:16:48
332
原创 【Kafka】Kafka报错CORRUPT_MESSAGE This message has failed its CRC checksum
3.1 Kafka Pipeline Connector 有人使用过吗,对kafka版本有要求吗,遇到这个错误?,查看kafka的源码如下。这里可能涉及到另外一个报错。
2026-07-08 09:03:51
140
原创 【PostgreSQL】copy 批量处理数据
虽然 INSERT 是用于添加数据到数据库的标准 SQL 方法,但它不总是最合适的。假设我们有大量的行需要加入到数据库,但是实际上的数据,可能是在一个电子表格里。将数据插入数据库的一种方法先是使用电子表格的导出功能,所以我们可以可能将电子表格导出为 CSV(逗号分隔值)文件。然后我们可以使用类似于 Eacs 的文本编辑器,或者至少支持宏的其他工具,将所有的数据转换成 INSERT 语句。考虑以下的数据我们可能转换它为一系列的 INSERT 语句,所以它看上去类似于这样。
2026-07-08 09:03:31
8
原创 【PostgreSQL】psql 命令使用介绍
出自:PostgreSQL从入门到精通.pdf工具 psql 允许我们连接到数据库,执行查询以及管理数据库,包括使用 SQL 命令建立数据库,天剑新表以及输入和更新数据。
2026-07-08 09:03:15
7
原创 【MySQL】MySQL 所有日志文件
MySQL 日志文件,日志是mysql数据库的重要组成部分,记录着数据库运行期问各种状态信息。常见的日志有以下集中:作为开发,我们重点需要关注的是二进制日志(binlog)和事务日志(包括redo log和undolog),本文接下来会详细介绍这三种日志。
2026-07-08 09:02:51
113
原创 【Atlas】 如何手动构建血缘关系(例如非标准 ETL 场景)?
强推荐:Shell/Python 脚本、自研调度系统、机器学习 pipeline不推荐:可通过标准 Hook 捕获的场景(增加维护成本)
2026-07-08 09:02:10
286
原创 【Atlas】Atlas 是否支持跨系统的端到端血缘(如 Kafka → Flink → ClickHouse)?
摘要:Apache Atlas跨系统端到端血缘实现方案 本文详细解答了如何在Apache Atlas中实现Kafka→Flink→ClickHouse的跨系统端到端血缘追踪。虽然Atlas 2.4.0官方版本不直接支持该功能,但通过扩展Type System和自研Connector可实现生产级解决方案。文章包含元模型设计(定义ClickHouse表和Flink作业类型)、qualifiedName命名规范、具体实现步骤(Kafka Topic注册、Flink血缘上报)和架构图说明。该方案已在金融级生产环境中
2026-07-08 09:01:54
255
原创 【Atlas】血缘深度(Lineage Depth)是否可配置?
强推荐:depth=1~3 的常规血缘追溯谨慎使用:depth=4~5 的合规审计场景禁止使用:depth≥6 的任意场景。
2026-07-08 09:01:39
258
原创 【Atlas】如何通过 API 查询某个表的上游/下游血缘?
强推荐:批处理作业血缘追溯、数仓分层影响分析不推荐:实时流作业(需额外上报)、字段级血缘(需扩展)
2026-07-08 09:01:18
315
原创 【Atlas】血缘信息在 Atlas 中以何种形式存储和展示?
Apache Atlas 的血缘信息存储与展示机制采用三元组关系模型(inputs-process-outputs)协同图数据库、列式存储和全文索引技术。核心要点如下: 存储架构: JanusGraph存储实体间关系(如hive_table→hive_process→hive_table) HBase保存实体原始属性(qualifiedName等) Solr提供属性检索加速 血缘模型: 以Process实体为中介节点连接输入输出 采用类似"快递转运中心"的逻辑依赖关系 通过relationshipAttri
2026-07-08 09:00:58
341
原创 【Atlas】Flink 作业是否支持与 Atlas 集成?如何上报血缘?
摘要:Apache Atlas 2.4.0 未提供原生 Flink 集成,但可通过自研 Connector 实现血缘管理。本文提出三大技术路径,重点推荐基于 FlinkAtlasReporter 的自研方案,通过解析 Source/Sink 配置构建 flink_process 实体并上报 Atlas。包含 Java 实现代码示例、作业集成方法和验证步骤,适用于需要精确追踪 Flink CDC 作业血缘的实时数仓场景。方案已在生产环境验证,支持 Kafka、Hudi 等数据源的端到端血缘闭环。
2026-07-08 09:00:25
337
原创 【Atlas】Spark 作业的血缘能否被 Atlas 自动捕获?需要什么插件?
Apache Atlas与Spark血缘集成方案解析 核心结论 官方现状:Apache Atlas 2.4.0未提供内置Spark血缘捕获插件,与Hive的完整支持形成对比 技术原因:Spark动态执行特性导致血缘捕获复杂度高,社区资源有限 生产级解决方案 方案1:自研Spark Listener 原理:通过SparkListener接口捕获作业逻辑计划,解析输入输出关系 优点:灵活可控,支持字段级血缘 挑战:需深入Spark内部机制,存在作业失败风险 部署:需配置spark.sql.queryExecut
2026-07-07 08:54:58
316
原创 【Atlas】 Atlas 如何捕获 Hive SQL 作业的血缘关系?
摘要 本文深度解析Apache Atlas捕获Hive SQL血缘关系的核心机制,重点剖析了Hive Hook如何拦截AST、构建三元组并通过Kafka上报的技术链路。主要内容包括: 三元组模型:血缘关系通过inputs(输入表)、outputs(输出表)、process(执行过程)三个核心Entity构成,形成完整的数据流转链条。 Hook工作机制:详细说明Hive Hook在SQL执行前的拦截时机,以及如何通过配置hive-site.xml启用Hook功能。 Entity构建:解析qualifiedNa
2026-07-07 08:54:36
270
原创 【Atlas】如何基于 Classification 进行数据资产搜索?
Apache Atlas基于Classification的数据资产搜索机制解析 本文深度剖析Apache Atlas 2.4.0中基于Classification(分类标签)的数据资产搜索能力,重点解决工业物联网场景下快速定位敏感数据的需求。主要内容包括: 核心机制:Classification信息通过Solr建立索引,字段名为__classificationNames,支持近实时更新和复杂查询。 搜索方式: Basic Search:简单标签匹配,适合快速查询 DSL Search:支持组合条件的高级搜索
2026-07-07 08:54:17
125
原创 【Atlas】如何为 Entity 打上 Classification 标签?
Apache Atlas 实体分类标签打标机制解析 本文深度剖析了Apache Atlas 2.4.0中Entity的Classification标签打标机制,以金融交易流水表自动识别PII字段为案例场景,从技术原理到生产实践进行全面解读。 核心内容涵盖: 分类标签的本质:作为特殊的Struct Type,Classification通过图数据库关系边实现逻辑关联,支持元数据属性标注而不改变实体结构。 五种打标方式对比: REST API手动打标(适合紧急修复) UI界面操作(适合低频治理) Hook自动打
2026-07-07 08:53:52
125
原创 【Atlas】 Atlas Web UI 的主要功能模块有哪些?
Apache Atlas Web UI 六大核心功能模块解析 摘要(148字): Apache Atlas Web UI作为元数据治理中枢,包含六大功能模块:1)Search模块提供基于Solr的资产发现能力;2)Entity Details展示表结构、分类等完整元信息;3)Lineage模块通过D3.js实现血缘图谱可视化;4)Classification支持敏感数据自动打标;5)Glossary实现业务术语与技术资产映射;6)Audits记录元数据变更历史。各模块通过独立REST API访问底层HBas
2026-07-07 08:53:32
355
原创 【Atlas】如何通过 UI 查看数据资产目录?
在 Atlas 语境中,“数据资产目录”指通过 Web UI 浏览、搜索、查看详情的元数据集合数据库、表、列、视图、Kafka Topic、Flink 作业等 Entity它们的属性(如 owner、description、createTime)关系(如表属于哪个数据库、血缘上下游)治理标签(如 PII、GDPR、internal_only)⚠️重要前提:UI 本身不存储数据!它只是Atlas Server REST API 的前端消费者。
2026-07-07 08:53:14
262
原创 【Atlas】如何查询某个数据库下的所有表 Entity?
首选方案:使用前缀匹配,简单可靠。必做验证:通过curl单表查询确认格式。性能保障:设置足够大的limit,避免分页(Atlas 分页性能差)。监控兜底:部署 Solr 延迟和 Kafka 积压告警。在金融、电商等强监管场景中,元数据查询的准确性直接决定合规成败。掌握上述方法,可确保在秒级内定位任意数据库下的全量表资产,为血缘分析、敏感数据识别、成本分摊提供坚实基础。作者署名:九师兄【Apache Atlas】Apache Atlas 资深工程师到专家实战之路目录【目录】技术体系目录。
2026-07-07 08:52:59
293
原创 【Atlas】Atlas 是否支持批量导入 Entity?如何实现?
“44. Atlas 是否支持批量导入 Entity?如何实现?本文将围绕此问题,系统性地解析 Apache Atlas 2.4.0 中所有可行的批量导入 Entity 的技术路径,涵盖 REST API、Admin Import API、Hive Hook Bridge 工具三大核心方案,并深入源码、提供可落地的生产级代码与配置。逐条调用单实体创建 API () 在这种场景下无异于“用勺子舀干大海”——不仅效率低下,更会因频繁的网络往返和事务开销,迅速压垮 Atlas Server。此时,
2026-07-07 08:52:43
345
原创 【Atlas】如何更新或删除一个已存在的 Entity?
这篇文章详细介绍了Apache Atlas中实体更新与删除的操作指南和风险控制策略。以下是关键点摘要: 更新方式: Partial Update(PATCH):仅修改指定属性,推荐使用,尤其适合维护血缘关系 Full Update(POST):全量替换实体,需谨慎使用,可能覆盖关系数据 删除机制: 只支持软删除(标记__state=DELETED) 会导致血缘关系断裂,下游影响需评估 最佳实践: 更新前备份实体数据 优先使用Partial Update维护关键属性 重要实体删除前先标记为DEPRECATED
2026-07-07 08:52:16
287
原创 【Atlas】Entity 的唯一标识(qualifiedName)是如何构成的?
本文深入解析了Apache Atlas 2.4.0中qualifiedName的设计原理与核心作用。作为实体的"全球唯一身份证号",qualifiedName遵循四段式命名空间法则({namespace}.{asset-name}@{deployment-context}),确保跨系统血缘追踪的准确性。文章通过金融场景实例,对比了Hive表、HDFS路径等不同数据源的qualifiedName格式,并揭示了其在JanusGraph主键设计和Solr索引中的实现机制。同时强调qualifiedName一旦创建
2026-07-07 08:51:55
307
Eclipse Formatter 模板 Formatter.xml
2020-11-11
hadoop学习文档
2016-09-14
eclipse的hadoop插件
2016-09-14
我秦始皇 给我打钱 给我打钱
2025-11-19
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅