- 博客(67)
- 收藏
- 关注
原创 1.5.6 NN与2NN-hadoop-最全最完整的保姆级的java大数据学习资料
问题1:NameNode如何管理和存储元数据?计算机中存储数据两种:内存或者是磁盘元数据存储磁盘:存储磁盘无法面对客户端对元数据信息的任意的快速低延迟的响应,但是安全性高元数据存储内存:元数据存放内存,可以高效的查询以及快速响应客户端的查询请求,数据保存在内 存,如果断点,内存中的数据全部丢失。解决方案:内存+磁盘;NameNode内存+FsImage的文件(磁盘)新问题:磁盘和内存中元数据如何划分?两个数据一模一样,还是两个数据合并到一起才是一份完整的数据呢?一模一样:client如果对元数据进行
2022-12-10 08:47:39 282 1
原创 1.5.5 HDFS读写解析-hadoop-最全最完整的保姆级的java大数据学习资料
客户端开始往dn1上传第一个Block(先从磁盘读取数据放到一个本地内存缓存),以Packet为单位,dn1收到一个Packet就会传给dn2,dn2传给dn3;客户端通过FSDataOutputStream模块请求dn1上传数据,dn1收到请求会继续调用dn2,然后dn2调用dn3,将这个通信管道建立完成。客户端通过Distributed FileSystem模块向NameNode请求上传文件,NameNode检查目标文件是否已存在,父目录是否存在。dn1、dn2、dn3逐级应答客户端。
2022-12-09 08:31:36 305
原创 全网最全的linux上docker安装oracle的详细文档,遇到了n个问题,查了几十篇文章,最终汇总版,再有解决不了的,私聊我,我帮你解决
权限不足???这个简单查了一下解决Navicat连接Oracle数据库用户权限问题:第一步:在cmd窗口运行[sqlplus],第二步:输入Oracle的用户名和口令连接Oracle数据库,第三步:执行授权代码,给用户授予DBA权限 [grant dba to 用户名;],如果还有权限不足问题再执行第四步,第四步:执行[grant all privileges to 用户名;]我这里用户名就是system了,执行完了没什么鸟用。
2022-12-08 17:59:27 1784
原创 1.5.4 HDFS 客户端操作-hadoop-最全最完整的保姆级的java大数据学习资料
HDFS命令演示启动Hadoop集群(方便后续的测试)-help:输出这个命令参数-ls: 显示目录信息-mkdir:在HDFS上创建目录-moveFromLocal:从本地剪切粘贴到HDFS-appendToFile:追加一个文件到已经存在的文件末尾输入-cat:显示文件内容-chgrp 、-chmod、-chown:Linux文件系统中的用法一样,修改文件所属权限-copyFromLocal:从本地文件系统中拷贝文件到HDFS路径去-co
2022-12-07 08:54:42 597
原创 1.5 HDFS分布式文件系统-hadoop-最全最完整的保姆级的java大数据学习资料
HDFS(全称:Hadoop Distribute File System,Hadoop 分布式文件系统)是 Hadoop 核心组成,是分布式存储服务。分布式文件系统横跨多台计算机,在大数据时代有着广泛的应用前景,它们为存储和处理超大规模数据提供所需的扩展能力。HDFS是分布式文件系统中的一种。HDFS 通过统一的命名空间目录树来定位文件;另外,它是分布式的,由很多服务器联合起来实现其功能,集群中的服务器有各自的角色(分布式本质是拆分,各司其职)典型的 Master/Slave 架构HDFS 的架构是典型的
2022-12-06 19:24:46 219
原创 1.4 Apache Hadoop完全分布式集群搭建-hadoop-最全最完整的保姆级的java大数据学习资料
软件和操作系统版本Hadoop框架是采用Java语言编写,需要java环境(jvm)JDK版本:JDK8版本集群:知识点学习:统一使用vmware虚拟机虚拟三台linux节点,linux操作系统:Centos7生产阶段:建议最少5台服务器节点Hadoop搭建方式单机模式:单节点模式,非集群,生产不会使用这种方式单机伪分布式模式:单节点,多线程模拟集群的效果,生产不会使用这种方式完全分布式模式:多台节点,真正的分布式Hadoop集群的搭建(生产环境建议使用这种方式)
2022-12-05 09:16:58 494
原创 1.3 Apache Hadoop的重要组成-hadoop-最全最完整的保姆级的java大数据学习资料
比如:100T数据存储, “分而治之” 。分:拆分–>数据切割,100T数据拆分为10G一个数据块由一个电脑节点存储这个数据块。数据切割、制作副本、分散储存图中涉及到几个角色NameNode(nn):存储文件的元数据,比如文件名、文件目录结构、文件属性(生成时间、副 本数、文件权限),以及每个文件的块列表和块所在的DataNode等。SecondaryNameNode(2nn):辅助NameNode更好的工作,用来监控HDFS状态的辅助后台程序,每隔一段时间获取HDFS元数据快照。DataNode(d
2022-12-04 09:18:21 447
原创 1.2 Hadoop简介-hadoop-最全最完整的保姆级的java大数据学习资料
Hadoop 是一个适合大数据的分布式存储和计算平台 如前所述,狭义上说Hadoop就是一个框架平台,广义上讲Hadoop代表大数据的一个技术生态 圈,包括很多其他软件框架 Hadoop生态圈技术栈 Hadoop(HDFS + MapReduce + Yarn) Hive 数据仓库工具 HBase 海量列式非关系型数据库 Flume 数据采集工具 Sqoop ETL工具 Kafka 高吞吐消息中间件 …Hadoop 的发展历程可以用如下过程概述:Nutch —> Google论文(
2022-12-03 16:10:06 397
原创 1.1 大数据简介-hadoop-最全最完整的保姆级的java大数据学习资料
大数据是指无法在一定时间范围内用常规软件工具进行捕捉、管理和处理的数据集合,是需要新处 理模式才能具有更强的决策力、洞察发现力和流程优化能力的海量、高增长率和多样化的信息资产。
2022-12-02 23:30:19 1084
原创 第2-4-10章 规则引擎Drools实战(3)-保险产品准入规则
全套代码及资料全部完整提供,点此处下载前面我们编写的规则文件都是drl形式的文件,Drools除了支持drl形式的文件外还支持xls格式的文件(即Excel文件)。这种xls格式的文件通常称为决策表(decision table)。决策表(decision table)是一个“精确而紧凑的”表示条件逻辑的方式,非常适合商业级别的规则。决策表与现有的drl文件可以无缝替换。Drools提供了相应的API可以将xls文件编译为drl格式的字符串。一个决策表的例子如下:决策表语法:在决策表中还经常使用到占位符,语
2022-12-01 09:00:16 871
原创 第2-4-9章 规则引擎Drools实战(2)-信用卡申请
全套代码及资料全部完整提供,点此处下载本小节我们需要通过Drools规则引擎来根据规则进行申请人的合法性检查,检查通过后再根据规则确定信用卡额度,最终页面效果如下:合法性检查规则如下:信用卡额度确定规则:第一步:创建maven工程creditCardApply并配置pom.xml文件第二步:创建/resources/application.yml文件第三步:编写配置类DroolsConfig第四步:编写实体类CreditCardApplyInfo第五步:在resources/rules下创建规则文
2022-11-30 10:17:13 728
原创 第2-4-8章 规则引擎Drools实战(1)-个人所得税计算器
全套代码及资料全部完整提供,点此处下载本小节我们需要通过Drools规则引擎来根据规则计算个人所得税,最终数据效果如下:税前月收入:即税前工资,指交纳个人所得税之前的总工资应纳税所得额:指按照税法规定确定纳税人在一定期间所获得的所有应税收入减除在该纳税期间依法允许减除的各种支出后的余额税率:是对征税对象的征收比例或征收额度速算扣除数:指为解决超额累进税率分级计算税额的复杂技术问题,而预先计算出的一个数据,可以简化计算过程扣税额:是指实际缴纳的税额税后工资:是指扣完税后实际到手的工资收入要实现个人所得税计算器
2022-11-29 07:30:54 1198
原创 第2-4-7章 docker安装WorkBench-规则引擎Drools-业务规则管理系统-组件化-中台
WorkBench是KIE组件中的元素,也称为KIE-WB,是Drools-WB与JBPM-WB的结合体。它是一个可视化的规则编辑器。WorkBench其实就是一个war包,安装到tomcat中就可以运行。使用WorkBench可以在浏览器中创建数据对象、创建规则文件、创建测试场景并将规则部署到maven仓库供其他应用使用。
2022-11-28 09:04:46 1561
原创 第2-4-6章 springboot整合规则引擎Drools-业务规则管理系统-组件化-中台
全套代码及资料全部完整提供,点此处下载在项目中使用Drools时往往会跟Spring整合来使用。具体整合步骤如下:第一步:创建maven工程drools_spring并配置pom.xml第二步:创建规则目录/resources/rules,中rules目录中创建规则文件helloworld.drl第三步:创建Spring配置文件/resources/spring.xml第四步:编写单元测试类7.1.1 以上代码均在drools_spring项目中本小节我们来进行Drools和Spring Web的
2022-11-27 20:52:22 352
原创 第2-4-5章 规则引擎Drools高级语法-业务规则管理系统-组件化-中台
1、如果对象类型为包装类型时,在一个规则中改变了global的值,那么只针对当前规则有效,对其他规则中的global不会有影响。可以理解为它是当前规则代码中的global副本,规则内部修改不会影响全局的使用。前面我们已经知道了在规则体中的LHS部分是介于when和then之间的部分,主要用于模式匹配,只有匹配结果为true时,才会触发RHS部分的执行。两者的区别:当向Working Memory中加入多个满足条件的Fact对象时,使用了exists的规则执行一次,不使用exists的规则会执行多次。
2022-11-26 07:31:53 877
原创 第2-4-4章 规则引擎Drools规则属性-业务规则管理系统-组件化-中台
与activation-group不同的是,activation-group定义的分组中只能够有一个规则可以被触发,而agenda-group分组中的多个规则都可以被触发。通过控制台可以看到,由于以上三个规则没有设置salience属性,所以执行的顺序是按照规则文件中规则的顺序由上到下执行的。注意:上面的代码需要设置日期格式,否则我们在规则文件中写的日期格式和默认的日期格式不匹配程序会报错。注意:上面的代码需要设置日期格式,否则我们在规则文件中写的日期格式和默认的日期格式不匹配程序会报错。
2022-11-25 07:27:55 515
原创 第2-4-3章 规则引擎Drools基础语法-业务规则管理系统-组件化-中台
通过控制台输出可以发现,四个规则都触发了,这是因为首先进行规则匹配时只有第一个规则可以匹配成功,但是在第一个规则中向工作内存中插入了一个数据导致重新进行规则匹配,此时第二个规则可以匹配成功。前面我们已经知道了Drools中的匹配器可以将Rule Base中的所有规则与Working Memory中的Fact对象进行模式匹配,那么我们就需要在规则体的LHS部分定义规则并进行模式匹配。通过控制台输出可以发现,只有第一个规则触发了,因为在第一个规则中将工作内存中的数据删除了导致第二个规则并没有匹配成功。
2022-11-24 08:52:04 556
原创 第2-4-2章 规则引擎Drools入门案例-业务规则管理系统-组件化-中台
我们在操作Drools时经常使用的API以及它们之间的关系如下图:通过上面的核心API可以发现,大部分类名都是以Kie开头。Kie全称为Knowledge Is Everything,即"知识就是一切"的缩写,是Jboss一系列项目的总称。如下图所示,Kie的主要模块有OptaPlanner、Drools、UberFire、jBPM。通过上图可以看到,Drools是整个KIE项目中的一个组件,Drools中还包括一个Drools-WB的模块,它是一个可视化的规则编辑器。
2022-11-23 06:14:31 1212
原创 第2-4-1章 规则引擎Drools介绍-业务规则管理系统-组件化-中台
规则引擎,全称为业务规则管理系统,英文名为BRMS(即Business Rule Management System)。规则引擎的主要思想是将应用程序中的业务决策部分分离出来,并使用预定义的语义模块编写业务决策(业务规则),由用户或开发者在需要时进行配置、管理。需要注意的是规则引擎并不是一个具体的技术框架,而是指的一类系统,即业务规则管理系统。目前市面上具体的规则引擎产品有:drools、VisualRules、iLog等。
2022-11-22 22:07:39 392
原创 第2-3-8章 分片上传和分片合并的接口开发-文件存储服务系统-nginx/fastDFS/minio/阿里云oss/七牛云oss
第2-1-2章 传统方式安装FastDFS-附FastDFS常用命令第2-1-3章 docker-compose安装FastDFS,实现文件存储服务第2-1-5章 docker安装MinIO实现文件存储服务-springboot整合minio-minio全网最全的资料全套代码及资料全部完整提供,点此处下载前面我们已经实现了普通的附件服务和网盘服务,如果上传的文件比较小,可以直接使用这两个服务即可。如果上传的文件比较大,例如要上传一个500M或者1G的视频文件(或者更大),这就需要分片上传了。那么什么是分
2022-11-21 07:03:38 1012
原创 第2-3-7章 个人网盘服务接口开发-文件存储服务系统-nginx/fastDFS/minio/阿里云oss/七牛云oss
第2-1-2章 传统方式安装FastDFS-附FastDFS常用命令第2-1-3章 docker-compose安装FastDFS,实现文件存储服务第2-1-5章 docker安装MinIO实现文件存储服务-springboot整合minio-minio全网最全的资料全套代码及资料全部完整提供,点此处下载接口文档:AttachmentController代码:AttachmentService接口:AttachmentServiceImpl类:5.8.2 接口导入-根据业务类型/业务id查询附件
2022-11-20 06:05:07 630
原创 第2-3-6章 打包批量下载附件的接口开发-文件存储服务系统-nginx/fastDFS/minio/阿里云oss/七牛云oss
2、如果根据业务类型和业务id匹配到的文件有多个,则将对应的多个原始文件进行压缩,最终下载的是压缩后的文件。2、如果客户端提交的文件id有多个,则将对应的多个原始文件进行压缩,最终下载的是压缩后的文件。第一步:在AttachmentController中提供根据业务类型和业务id打包下载的方法。第一步:在AttachmentController中提供根据文件id打包下载文件的方法。1、如果根据业务类型和业务id匹配到的文件只有一个,则下载对应的原始文件。第四步:创建FileBiz,统一进行文件下载。
2022-11-19 06:23:54 858
原创 第2-3-5章 删除附件的接口开发-文件存储服务系统-nginx/fastDFS/minio/阿里云oss/七牛云oss
注:可以修改Nacos中的pd-file-server.yml配置文件,将存储策略改为ALI和FAST_DFS以及MINIO来测试文件的存储策略是否发生了变化。第一步:在AttachmentController中提供根据业务类型/业务id删除文件的方法。可以看到pd_attachment表中对应的记录已经删除掉了,对应的文件也已经被删除掉了。可以看到pd_attachment表中对应的记录已经删除掉了,对应的文件也已经被删除掉了。第一步:在AttachmentController中提供文件删除的方法。
2022-11-18 05:44:29 421
原创 第2-3-4章 上传附件的接口开发-文件存储服务系统-nginx/fastDFS/minio/阿里云oss/七牛云oss
第2-1-2章 传统方式安装FastDFS-附FastDFS常用命令第2-1-3章 docker-compose安装FastDFS,实现文件存储服务第2-1-5章 docker安装MinIO实现文件存储服务-springboot整合minio-minio全网最全的资料全套代码及资料全部完整提供,点此处下载上传附件接口要完成的操作主要有两个:接口文档如下:第一步:创建AttachmentController并提供文件上传方法第二步:创建AttachmentService接口第三步:创建Attach
2022-11-17 07:44:31 578
原创 第2-3-3章 文件处理策略-文件存储服务系统-nginx/fastDFS/minio/阿里云oss/七牛云oss
第2-1-2章 传统方式安装FastDFS-附FastDFS常用命令第2-1-3章 docker-compose安装FastDFS,实现文件存储服务第2-1-5章 docker安装MinIO实现文件存储服务-springboot整合minio-minio全网最全的资料全套代码及资料全部完整提供,点此处下载由于我们当前的文件服务需要给客户端提供统一的服务接口,这就需要文件服务屏蔽底层的具体文件存储方式,所以对文件处理策略进行如下类和接口的设计:FileStrategy是文件处理策略顶层接口,是对文件处理
2022-11-16 07:42:43 499
原创 第2-3-2章 环境搭建-文件存储服务系统-nginx/fastDFS/minio/阿里云oss/七牛云oss
全套代码及资料全部完整提供,点此处下载第一步:创建pd_files数据库第二步:在pd_files数据库中创建pd_attachment和pd_file数据表注:SQL脚本位置为 pd_attachment表为附件表,具体表结构如下:pd_file表为文件/文件夹信息表,具体表结构如下:第一步:安装Nacos并进行配置(略)第二步:在Nacos中创建命名空间fileService(名字随便起,只要和程序里配置的一样就可以)第三步:在Nacos中将配置文件导入到file-server命名空间注:yml配
2022-11-15 06:21:05 218
原创 第2-3-1章 文件存储服务系统-nginx/fastDFS/minio/阿里云oss/七牛云oss
这种方式提供一个独立的文件微服务,该微服务向应用系统提供统一的上传、下载、查看接口,应用系统调用方式相同,并且屏蔽了底层对外调用OSS服务的接口,即使以后迁移OSS服务商,应用层面的系统也不需要变动。这种模式也有一个小问题,比如我们调用了阿里云的OSS服务,如果所有的下载、查看功能都调用文件服务,那么文件服务的网络流量将会有非常大的压力。云存储,即将上传的文件存储在第三方云平台上,例如阿里云OSS、七牛云OSS服务等,并通过这些第三方提供的OSS服务来对外提供文件的下载和查看等功能。
2022-11-14 07:23:41 983
原创 第2-2-4章 常见组件与中台化-常用组件服务介绍-分布式ID-附Snowflake雪花算法的代码实现
ID,全称Identifier,中文翻译为标识符,是用来唯一标识对象或记录的符号。比如我们每个人都有自己的身份证号,这个就是我们的标识符,有了这个唯一标识,就能快速识别出每一个人。**在计算机世界里,复杂的分布式系统中,经常需要对大量的数据、消息、HTTP 请求等进行唯一标识。**比如对于分微服务架构的系统中,服务间相互调用需要唯一标识,幂等处理,调用链路分析,日志追踪的时候都需要使用这个唯一标识,此时我们的系统就迫切的需要一个全局唯一的ID。
2022-11-13 16:36:10 540
原创 第2-2-3章 常见组件与中台化-常用组件服务介绍-注册登录服务
登录认证几乎是任何一个系统的标配,web 系统、APP、PC 客户端等都需要注册、登录、认证。以淘宝为例,如果我们想要下单,首先需要注册一个账号。拥有了账号之后,我们需要输入用户名、密码完成登录过程。之后如果你在一段时间内再次进入系统,是不需要输入用户名和密码的,只有在长时间不登录的情况下访问系统才需要再次输入用户名和密码。本服务提供多种登录方式:用户名密码登录、手机验证码登录、邮箱登录、微信扫码登录、微博登录、qq登录,登录成功自动完成注册。工程结构:项目服务有两个:网关服务和注册登录服务应用。
2022-11-12 20:26:58 572
原创 第2-2-2章 常见组件与中台化-常用组件服务介绍-通用权限系统
全套代码及资料全部完整提供,点此处下载https://download.csdn.net/download/weixin_42208775/86960899对于企业中的项目绝大多数都需要进行用户权限管理、认证、鉴权、加密、解密、XSS防跨站攻击等。这些功能整体实现思路基本一致,但是大部分项目都需要实现一次,这无形中就形成了巨大的资源浪费。本项目就是针对这个问题,提供了一套通用的权限解决方案----品达通用权限系统。品达通用权限系统基于SpringCloud(Hoxton.SR1) +SpringBoot(
2022-11-11 21:49:03 595
原创 第2-2-1章 常见组件与中台化-中台概述
随着互联网公司的崛起,“中台”这个词也进入了人们的视线。BAT 等公司纷纷推出了自己的中台系统。那么,什么是中台系统?任何一个软件系统都是通过帮助客户解决问题来实现价值的。针对不同的需求会建立不同的软件项目。这些软件项目包含客户端的应用和后台管理配置的应用。久而久之就形成了固定的“前台”和“后台”系统,而且大家都在乐此不疲地开发着类似的业务系统。
2022-11-10 06:58:57 1248
原创 第2-1-5章 docker安装MinIO实现文件存储服务-springboot整合minio-minio全网最全的资料
MinIO 是一个基于Apache License v2.0开源协议的对象存储服务。它兼容亚马逊S3云存储服务接口,非常适合于存储大容量非结构化的数据,例如图片、视频、日志文件、备份数据和容器/虚拟机镜像等,而一个对象文件可以是任意大小,从几kb到最大5T不等。 MinIO是一个非常轻量的服务,可以很简单的和其他应用的结合,类似 NodeJS, Redis 或者 MySQL。 官方文档:http://docs.minio.org.cn/docs 旧一点。
2022-11-09 07:10:10 622
原创 第2-1-4章 SpringBoot整合FastDFS文件存储服务
5 SpringBoot整合5.1 操作步骤5.2 项目依赖5.3 客户端开发5.3.1 FastDFS配置5.3.2 FastDFS配置类5.3.3 文件工具类5.3.4 文件上传配置5.3.5 配置Swagger25.3.6 API接口5.4 接口演示
2022-11-08 07:12:31 438
原创 第2-1-3章 docker-compose安装FastDFS,实现文件存储服务
docker-compose安装FastDFS,实现文件存储服务 防盗链图片即代表部署成功。进入 storage 容器中使用命令上传一个图片, 可使用容器自带的测试图片, 也可 docker cp 将本机图片复制进来。
2022-11-07 06:27:03 678
原创 第2-1-2章 传统方式安装FastDFS-附FastDFS常用命令
此时 FastDFS 存储集群机制会将这个文件同步到同组存储storage-server-2,在文件还没有复制完成的情况下,客户端如果用这个文件 ID 在 storage-server-2 上取文件,就会出现文件无法访问的错误。但是FastDFS的HTTP服务较为简单,无法提供负载均衡等高性能的服务,所以FastDFS的开发者(淘宝的架构师余庆)为我们提供了Nginx上使用的FastDFS模块(也可以叫FastDFS的Nginx模块)。tracker集群环境下,需要在每个Tracker上安装Nginx,
2022-11-06 09:31:03 2929
原创 第2-1-1章 FastDFS分布式文件服务背景及系统架构介绍
FastDFS是一个开源的轻量级分布式文件系统。它解决了大数据量存储和负载均衡等问题。特别适合以中小文件(建议范围:4KB < file_size
2022-11-05 09:14:00 643
原创 JVM--Java核心面试知识整理(一)
JVM基本概念JVM 是可运行 Java 代码的假想计算机 ,包括一套字节码指令集、一组寄存器、一个栈、 一个垃圾回收,堆和 一个存储方法域。JVM 是运行在操作系统之上的,它与硬件没有直接的交互。运行过程我们都知道 Java 源文件通过编译器,能够产生相应的.Class 文件,也就是字节码文件,而字节码文件又通过 Java 虚拟机中的解释器,编译成特定机器上的机器码 。也就是如下:① Java 源文件—->编译器—->字节码文件② 字节码文件—->JVM—->机
2021-04-15 22:27:33 203
原创 java大数据最全课程学习笔记(6)--MapReduce精通(二)--MapReduce框架原理
目前CSDN,博客园,简书同步发表中,更多精彩欢迎访问我的gitee pagesMapReduce精通(二)MapReduce框架原理MapReduce工作流程流程示意图流程详解上面的流程是整个MapReduce最全工作流程,但是Shuffle过程只是从第7步开始到第16步结束,具体Shuffle过程详解,如下:MapTask收集我们的map()方法输出的kv对,放到内存缓冲区中从内存缓冲区不断溢出本地磁盘文件,可能会溢出多个文件多个溢出文件会被合并成大的溢出.
2020-07-23 16:10:09 310
原创 java大数据最全课程学习笔记(5)--MapReduce精通(一)
目前CSDN,博客园,简书同步发表中,更多精彩欢迎访问我的gitee pagesMapReduce精通(一)MapReduce入门MapReduce定义MapReduce优缺点优点缺点MapReduce核心思想总结:分析WordCount数据流走向深入理解MapReduce核心思想。MapReduce进程MapReduce编程规范用户编写的程序分成三个部分:Mapper、Reducer和Driver。WordCount案例实操需求在给定的文本文件中.
2020-07-19 22:22:36 217
规则引擎Drools入门实战案例
2022-11-21
文件存储服务-常见组件与中台化
2022-11-12
分布式id服务-常见组件与中台化-如自增id,分段id,雪花算法等适用于分布式服务的使用场景
2022-11-12
注册登录服务-常见组件与中台化
2022-11-11
通用权限系统-中台组件化
2022-11-11
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人