自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(129)
  • 资源 (85)
  • 问答 (1)
  • 收藏
  • 关注

原创 Apache paimon表管理

默认情况下,不仅checkpoint会导致文件生成,writer的内存(write-buffer-size)耗尽也会将数据flush到DFS并生成相应的文件。使用Flink Writer,每个checkpoint会生成 1-2 个快照,并且checkpoint会强制在 DFS 上生成文件,因此checkpoint间隔越小,会生成越多的小文件。表数据会被物理分片到不同的分区,里面有不同的桶,所以如果整体数据量太小,单个桶中至少有一个文件,建议你配置较少的桶数,否则会出现也有很多小文件。分区的过期时间间隔。

2024-10-28 23:42:59 473

原创 Apache paimon 优化

当 num-sorted-run.stop-trigger 变大时,写入停顿将变得不那么频繁,从而提高写入性能。然而,为了避免Sorted Runs的无限增长,当Sorted Run的数量达到阈值时,writer将不得不暂停写入。默认情况下,当单个存储桶中的小文件超过“compaction.max.file-num”(默认50个)时,就会触发compaction。如果这里出现瓶颈(例如同时写入大量分区),可以使用write-manifest-cache缓存读取的manifest数据,以加速初始化。

2024-10-28 17:36:07 581

原创 Apache paimon-CDC

paimon支持五种方式通过模式转化数据提取到paimon表中。添加的列会实时同步到Paimon表中准备:必须添加FlinkCDC连接器cp flink-sql-connector-mysql-cdc-3.0.1.jar /opt/module/flink-1.18.0/lib,重启yarn-session集群和sql-client。重启yarn-session集群和sql-client。1)语法说明/bin/flink run \ /path/to/paimon-flink-

2024-10-28 00:30:41 507

原创 Apache paimon表操作实战-5

如果Orders(主表)的记录Join缺失,因为customers(查找表)对应的数据还没有准备好。Paimon支持Lookup Join语法,它用于从 Paimon 查询的数据来补充维度字段。要求一个表具有处理时间属性,而另一个表由查找源连接器支持。Lookup Join算子会在本地维护一个RocksDB缓存并实时拉取表的最新更新。查找连接运算符只会提取必要的数据,因此您的过滤条件对于性能非常重要。Paimon 支持 Flink 中具有主键的表和append-only的表查找联接。以下示例说明了此功能。

2024-10-25 00:09:37 354

原创 apahce paimon 表操作实战4-系统表

如果需要审计表的changelog,可以使用audit_log系统表。通过tags表可以查询表的标签历史信息,包括基于哪些快照进行标签以及快照的一些历史信息。系统表包含有关每个表的元数据和信息,例如创建的快照和使用的选项。通过snapshots表可以查询表的快照历史信息,包括快照中发生的记录数。可以通过选项表查询DDL中指定的表的选项信息。通过查询快照表,可以了解该表的提交和过期信息以及数据的时间旅行。通过schemas表可以查询该表的历史schema。可以查询特定快照表的文件。-- 查询指定快照的文件。

2024-10-23 16:44:08 105

原创 Aapche paion 表实战3-DQL查询表

Paimon会按主键对数据进行排序,从而加快点查询和范围查询的速度。使用复合主键时,查询过滤器最好形成主键的最左边前缀,以获得良好的加速效果。在batch模式中,不返回DELETE记录,因此-D的记录将被删除。默认情况下,Streaming read 在第一次启动时会生成表上的最新快照,并继续读取最新的更改。强烈建议在查询时指定分区和主键过滤器,这将加快查询的数据跳过速度。如果不是分区表,或者无法按分区筛选,可以使用时间旅行的流读取。通过为主键最左边的前缀指定范围过滤器,查询获得了很好的加速。

2024-10-23 16:14:19 82

原创 Apache paino DML操作实战

插入的行可以由值表达式或查询结果指定,跟标准的sql语法一致。(5)案例四: 使用--source-sql创建新catalog下的源表,匹配ws_t的id,没匹配上的插入ws_t。(3)案例二: ws_t与ws1匹配id,匹配上的将ws_t中vc加10,ws1中没匹配上的插入ws_t中。(4)案例三: ws_t与ws1匹配id,ws_t中没匹配上的,ts大于4则vc加20,ts=4则删除。(2)案例一: ws_t与ws1匹配id,将ws_t中ts>2的vc改为10,ts

2024-10-23 11:58:26 323

原创 第一篇 面试前我该做那些准备

*撰写职位询问信**职位询问信是你给潜在雇主的第一印象。至关重要的是要让它产生影响。如果可能的话,首先尝试将信件写给一个具体的人,如果不行,使用“尊敬的招聘经理”这样的通用称呼。简要介绍自己,并表达对职位的兴趣。提及你在哪里找到的工作列表,以及你为什么认为自己适合这个角色。确保信件简洁,不超过一页,并以行动号召结束,邀请雇主查看你附上的简历或安排面试。

2024-10-23 09:00:00 528

原创 Apache paino建表实战

事件时间:事件时间是原表中的一个字段。对于CDC数据来说,比如从MySQL CDC同步的表或者Paimon生成的Changelogs,它们都是完整的CDC数据,包括UPDATE_BEFORE记录,即使你声明了包含分区字段的主键,也能达到独特的效果。当表从Catalog中删除时,其表文件也将被删除,类似于Hive的内部表。创建时间(推荐):创建时间通常是不可变的,因此您可以放心地将其视为分区。在 Paimon Catalog中创建的表就是Paimon的管理表。如果定义了主键,则分区字段必须是主键的子集。

2024-10-23 08:30:00 467

原创 Apache Paimon Catalog

通过使用Hive Catalog,对Catalog的更改将直接影响相应的hive metastore。通过使用Hive Catalog,对Catalog的更改将直接影响相应的hive metastore。使用hive Catalog通过alter table更改不兼容的列类型时,参见 HIVE-17832。上述配置需要在hive-site.xml中配置,且hive metastore服务需要重启。上述配置需要在hive-site.xml中配置,且hive metastore服务需要重启。

2024-10-22 15:45:05 655

原创 FLINK HADOOP_CLASSPATH设置,java.lang.ClassNotFoundException: org.apache.hadoop.conf.Configuration

将你所需的jar包复制到刚创建的lib目录中。在Hadoop中,我们可以通过在lib目录下存放所需的jar包来使其可供Hadoop集群使用。首先,你需要确定Hadoop的安装目录。假设Hadoop安装在/usr/local/hadoop目录下。在Hadoop的安装目录下,创建一个名为lib的目录。第三步: 将所需的jar包复制到lib目录。第一步: 确定Hadoop的安装目录。第三步:将所需的jar包复制到lib目录。第一步:确定Hadoop的安装目录。2. 具体步骤及代码解释。

2024-10-22 02:15:54 506

原创 apache flink+starrack+paino 打造流批一体数据仓库

创建完表,可以登录 minio:9001地址进行查看数据文件;

2024-10-18 16:26:52 614

原创 Ambari-2.7.4和HDP-3.1.4安装(附Ambari和HDP安装包)

1.、环境及软件准备Ambari-2.7.4和HDP-3.1.4下载 ,提取码:3rwq环境:CentOS7(我这里使用的是CentOS7.9版本)、三台虚拟机,单节点内存13GB、存储80GB软件:mysql5.7+、jdk8、ambari-2.7.4.0-centos7.tar.gz、HDP-3.1.4.0-centos7-rpm.tar.gz、HDP-UTILS-1.1.0.22-centos7.tar.gz1、主机名配置查看hostname2、配置服务器之间免密登录。

2024-10-17 14:59:13 909

原创 在centos7中使用yum命令时候报错:

未知的错误"

2024-10-11 17:39:05 1523 1

原创 使用 Vagrant 快速创建三台 centos7 虚拟机

2选择多个虚拟机要存放的位置,比如我这里在 D 盘下新建了一个 D:\vm\centos7 用来初始化我要放虚拟机的地址。1、下载 VirtualBox https://www.virtualbox.org/下载过程无特别注意事项,注意调整到非 C 盘位置即可,其他部分皆为默认设置。下载过程无特别注意事项,注意调整到非 C 盘位置即可,其他部分皆为默认设置。7、命令行执行完毕,在visualbox中看到创建的三台虚拟机。5、上述命令执行完成后,打开在上述文件夹下生成的。命令,启动创建虚拟机。

2024-10-11 16:11:29 630

原创 windows12远程桌面权证到期无法连接问题解决集合

先进行系统高级设置,允许远程桌面连接,如下图所示关闭windows防火墙如果远程windows时,提示“没有远程桌面授权服务器可以提供许可证 如何远程”,先通过以下方式进行强制登录,然后在对服务器进行设置即可,延期使用。出现的原因是:在Windows2012服务器中,相信使用过远程桌面连接来登陆服务器的,都会遇到过这样的错误提示:“由于没有远程桌面授权服务器可以提供许可证,远程会话被中断。请跟服务器管理员联系”,原因就是在Windows。

2024-10-08 02:17:21 3327

原创 乌班图基础设施安装之Mysql8.0+Redis6.X安装

Docker安装按照依赖data lvm2。

2024-10-05 18:59:33 1202 1

原创 乌班图下的vscode粘贴代码后一直在输入CTRLV命令

在命令行界面中,输入命令`sudo service lightdm restart`(如果使用的是Gnome桌面环境)或`sudo service gdm restart`(如果使用的是Gnome桌面环境)同时按住Ctrl和Alt键,然后按住SysRq键(有的键盘上是PrtSc键)和R键,接着依次按E、I、S、U、B键,最后松开所有键,这将使系统安全重启到命令行界面。最近在VMware中使用vscode开发c++程序中,拷贝一段代码后,代码界面一直输入CTRLV命令,导致乌班图桌面死掉,无法操作、

2024-07-26 04:27:20 349

原创 VMware中乌班图假死

最近一段时间VMware中乌班图经常性的桌面假死。

2024-07-26 04:20:47 881

原创 乌班图vscode编写点亮led烧写程序到正点原子I.MX6ULL开发板

* GPIO1_IO03设置为输出 *//* 复用为GPIO1_IO03 */led_init();/* 初始化led *//* 关闭LED *//* 使能所有的时钟 *//* 延时大约500ms */while(1) /* 死循环 *//* 打开LED *//* 4、设置GPIO1_IO03输出低电平,打开LED0 */

2024-07-26 04:10:38 1090

原创 VMware 16虚拟机 Linux 挂载U盘(exFAT)

②、点击 USB控制器 ---> 选择符合自己U盘的兼容性(自己U盘是多少就选多少的,可以选高一点的兼容性)usb.restrictions.defaultAllow = "TRUE" 没有这行就添加,有就把false改为true。1、 首先查看Vmware 软件中的U盘配置。①、点击虚拟机选项---> 点击设置。1、安装乌班图对于exfat格式的支持。虚拟机系统(镜像文件)为:乌班图。2、修改虚拟机的配置镜像文件。3、查看是否已经识别到优盘。4、在虚拟机中创建挂载目录。6、查看是否挂载成功。

2024-07-26 03:41:23 708

原创 Linux内核移植

内核arch/arm/boot/目录的zImage:是arch/arm/boot/compressed目录的。内核arch/arm/boot/compressed目录的vmlinux:是Image压缩后,再拼接上。内核arch/arm/boot/目录的boot.img:是包括了uImage和开机Logo等资源的。内核arch/arm/boot/目录的uImage:是在zImage的基础上增加64字节前缀得。内核arch/arm/boot/目录的Image:直接编译生成的vmlinux去除格式后,且。

2024-04-26 15:33:04 741

原创 BootLooder引导传参和镜像编译

源码获取:下载地址:http://git.denx.de/?a=summary从芯片原厂获取配套的BSP拷贝“资料\sourcecode\u-boot-2014.07_v3_mipi.tar.bz2”到虚拟机解压源码:tar xvf u-boot-2014.07_v3_mipi.tar.bz2拷贝内核镜像生成工具(编译uImage时用到):sudo cpu-boot最初是由PPCBoot发展而来的已经成为当前主流引导程序。

2024-04-25 20:32:46 1049 3

原创 Bootloader应用启动分析详解

首先iRom被启动,它具备了内存执行程序所有的条件,除了不能写入可以进行读取,写入有64k的SRAM,32k的ROM和64k的RAM一起完成了启动,读写放在SRAM,代码放在ROM,他们配合起来完成了0阶段的启动;到底ROM从芯片的哪里加载程序是从SPI,UserbootCode,串口或者接口,它需要GPIO的引脚进行选择,有些是直接选有些是设备优先级,ROM会读取引脚的状态,并决定从sdk的第几个通道012并将这个程序加载到,会有其他文档将从那个地址加载程序到内存的哪个地址并且不能超过多少大小;

2024-04-25 12:22:42 472

原创 裸机开发调试

在 文 件 结 尾 处 添 加 一 句 :export PATH=$PATH:/usr/local/arm/4.3.2/bin/解压:sudo tar xvf arm-linux-gcc-4.3.2.bz2 -C /usr/local/arm/将编译和链接分步骤完成,实现对可执行程序的指定链接,并指定链接地址。查看内嵌反汇编 $objdump -S -d main_elf。函数无论是静态还是非静态的,总是被分配在.text中,函数内的局部变量由于是分配在栈上的,所以在nm中是。

2024-04-24 16:32:56 327

原创 嵌入式s5p5818核心板介绍

reserved保留,Normaol i/o :特殊功能寄存器映射区,MCU-A DDR 外界ddr,MCU-S static 静态存储器的接口;static#0static#1第0个或者第1个静态内存区;NAND不能随便通过地址访问;Internal Rom cpu内部的20k空间。统一寻址:片内片外存储器都能使用,且使用的是同一片连续的寻址空间。独立寻址:片内片外存储器只能选择其中一个。寻址空间采用统一编址方式进行管理。

2024-04-23 18:40:28 354

原创 嵌入式系统的基本介绍

是应用为中心,以计算机技术为基础,对软硬件可裁剪,对功耗、体积、可靠性、成本都有严格要求的专用计算机系统。

2024-04-23 11:21:44 365

原创 RT-Thread-12c设备

ack主机给从机发送一个信号给从机,从机应答给主机一个响应,数据线一个低电平就是一个应答信号,主机发起始信号+主机地址+写的方向,一旦有应当就发送一个寄存器的地址,回了应答信号,写进寄存器中的数据发送出去,那么从机就会把数据写入到对应的寄存器地址中,写完一个我们的从机会回应一个应答,回应一个主机发送一个停止信号,通讯结束,这我们就发了一个字节的数据。发送的是其实信号+从机地址+写的方向+寄存器的地址+重复其实起始地址+设备地址+读的方向+回的数据会的ak是应答,回的是应答,从机就返回数据;

2024-04-22 23:58:32 264

原创 RT-Thread-UART串口设备-DMA接受数据

/ 打开uart1串口 开启读写和DMA接受的功能。// 查找uart1串口。// 设置接受回调函数。// 开启设备控制写入。//定义串口的config值。

2024-04-19 11:46:21 1088

原创 RT-Thread-UART串口设备

在应用程序调用 rt_device_write()写入数据时,如果底层硬件能够支持自动发送,那么上层应用可以设置一个回调函数。但除过缓冲区之外的其他参数,在 open 设备前 / 后,均可进行更改。若串口以中断接收模式打开,当串口接收到一个数据产生中断时,就会调用回调函数,并且会把此时缓冲区的数据大小放在size参数里,把串口设备句柄放在dev参数里供调用者获取。若串口以 DMA 接收模式打开,当 DMA 完成一批数据的接收后会调用此回调函数。/* 波特率可取值*//* 数据位可取值*/

2024-04-19 10:29:29 714

原创 RT-Thread-IO设备模型

☐ 看门狗设备驱动程序根据看门狗设备模型定义,创建出具备硬件访问能力的看门狗设备实例,并将该看门狗设备通过 rt_hw_watchdog_register()接口注册到看门狗设备驱动框架中。应用程序通过 I/O 设备管理接口来访问硬件设备,当设备驱动实现后,应用程序就可以访问该硬件,I/O 设备管理接口与 I/O 设备的操作方法的映射关系下图所示。☐ 设备驱动根据设备模型定义,创建出具备硬件访问能力的设备实例,将该设备通过rt_device_register()接口注册到 I/O 设备管理器中。

2024-04-18 23:24:23 1018

原创 STM32串口层通讯编程示例

3、选择包路径rt-thread\components\drivers\include\ipc。1.最先在serial.h加上completion.h和dataqueue.h头文件。

2024-04-18 17:08:07 391

原创 RT-thread-线程间通讯3-事件集

事件集也是线程间同步的机制之一,一个事件集可以包含多个事件,利用事件集可以完成一对多,多对多的线程间同步。一个线程和多个事件的关系可设置为:其中任意一个事件唤醒 线程,或几个事件都到达后唤醒线程,多个事件集合可以用一个32bit无符号整型变量来表示,变量的每一位代表一个事件,线程通过"逻辑与"或"逻辑或"将一个或多个事件关联起来,形成事件组合。RT-Thread 定义的事件集有以下特点:☐ 事件只与线程相关,事件间相互独立☐ 事件仅用于同步,不提供数据传输功能。

2024-04-17 17:14:14 733

原创 RT-thread-线程间通讯2-互斥量

互斥量体现的是排他性,也是解决多线程同时操作临界区临界资源导致的竟态的一种方法。(类似于特殊的信号量——二值信号量)区别:信号量可由不同线程释放,互斥量只能由同一线程进行释放。互斥量的操作包含:创建 / 初始化互斥量、获取互斥量、释放互斥量、删除 / 脱离互。

2024-04-17 16:49:43 537

原创 RT-thread-线程间通讯1-信号量

每个信号量对象都有一个信号量值和一个线程等待队列,信号量的值对应了信号量对象的实例数目、资源数目,假如信号量值为 5,则表示共有 5 个信号量实例(资源)可以被使用,当信号量实例数目为零时,再申请该信号量的线程就会被挂起在该信号量的等待队列上,等待可用的信号量实例。如果删除该信号量时,有线程正在等待该信号量,那么删除操作会先唤醒等待在该信号量上的线程(等待线程的返回值是-RT_ERROR),然后再释放信号量的内存资源。系统不再使用信号量时,可通过删除信号量以释放系统资源,适用于动态创建的信号量。

2024-04-17 00:30:29 717

原创 RT-Thread时钟管理

RT-Thread 的定时器提供两类定时器机制:☐ 第一类是单次触发定时器,这类定时器在启动后只会触发一次定时器事件,然后定时器自动停止。☐ 第二类是周期触发定时器,这类定时器会周期性的触发定时器事件,直到用户手动的停止,否则将永远持续执行下去根据定时器超时函数执行时所处的上下文环境,RT-Thread的定时器可以分为HARD_TIMER模式和SOFT_TIMER模式。HARD_TIMER模式:中断上下文定时器超时函数的要求:执行时间应该尽量短,执行时不应导致当前上下文挂起、等待。

2024-04-15 20:44:51 1264

原创 Pthread线程管理

线程控制块由结构体 struct rt_thread 表示,线程控制块是操作系统用于管理线程的一个数据结构,它会存放线程的一些信息,例如优先级、线程名称、线程状态等,也包含线程与线程之间连接用的链表结构,线程等待事件集合等。注意:空闲线程是一个线程状态永远为就绪态的线程,因此设置的钩子函数必须保证空闲线程在任何时刻都不会处于挂起状态,例如 rt_thread_delay(),rt_sem_take() 等可能会导致线程挂起的函数都不能使用。如果新启动的线程优先级比当前线程优先级高,将立刻切换到这个线程。

2024-04-14 23:44:13 982

原创 RT-Thread内核简介

总结:系统先调用.s汇编代码的启动,汇编代码的启动完成以后进入到c语言的入口函数,在入口中调用统一的启动入口函数,在这个函数中进行了一系列的初始化,把rt_thread所有的组件进行初始化好以后,接着通过线程初始化的方式创建了多个线程,创建了用户层、timer定时器的线程以及idle线程,创建好了线程之后就进行调度,调度到了应用层的线程的时候,就会走到main函数里面执行用户层的所编写的代码。,当其他线程释放内存块到内存池时,如果有挂起的待分配内存块的线程存在的话,则系统会将这个 线程唤醒。

2024-04-14 01:23:41 623

原创 RT-Thread 启动流程源码详解

总结:系统先调用.s汇编代码的启动,汇编代码的启动完成以后进入到c语言的入口函数,在入口中调用统一的启动入口函数,在这个函数中进行了一系列的初始化,把rt_thread所有的组件进行初始化好以后,接着通过线程初始化的方式创建了多个线程,创建了用户层、timer定时器的线程以及idle线程,创建好了线程之后就进行调度,调度到了应用层的线程的时候,就会走到main函数里面执行用户层的所编写的代码。main() 函数是 RT-Thread 的用户代码入口,用户可以在 main() 函数里添加自己的应用。

2024-04-14 01:22:47 1173

原创 STM32F103-PRO的串口控制平台的实现

1. STM32F103单片机芯片及其开发板2. 一根USB数据线和RS232升USB转TTL转换模块(包括RS232升USB转TTL线和RS232升USB转TTL小板)3. ST-Link/V2调试器4. Keil或IAR等集成开发环境5. 串口数据传输工具,如SecureCRT等。

2024-04-13 14:45:27 1837

Java性能优化权威指南带书签高清版

Java性能优化权威指南带书签高清版

2018-10-17

docker从入门到实践

docker从入门到实践

2018-10-17

spark大数据处理技术应用与优化

spark大数据处理技术应用与优化

2018-10-17

sql注入攻击与防御第二版

sql注入攻击与防御第二版

2018-10-16

超越css:Web设计艺术精髓

超越css:Web设计艺术精髓

2018-10-16

java虚拟机并发编程

java虚拟机并发编程

2018-10-16

计算机程序设计艺术第三卷高清中文版

计算机程序设计艺术第三卷高清中文版

2018-10-16

计算机程序设计艺术第二版高清版

计算机程序设计艺术第二版高清版

2018-10-16

Jsp,Tomcat,SqlServer笔记

Jsp,Tomcat,SqlServer笔记

2018-10-16

java常用算法手册第三版高清版

java常用算法手册第三版高清版

2018-10-16

微信小程序合集

微信小程序合集 

2018-10-13

微信公众号热门文章信息流

微信公众号热门文章信息流 

2018-10-13

闹钟应用微信小程序

闹钟应用微信小程序

2018-10-13

xiaoyima微信小程序

xiaoyima微信小程序 

2018-10-13

todo-app微信小程序

todo-app微信小程序

2018-10-13

BearDianryMaster微信小程序

BearDianryMaster微信小程序

2018-10-13

pdf与word互换软件

pdf与word互换软件 

2018-10-13

python知识架构图

python知识架构图

2018-10-13

活学活用wxPython

活学活用wxPython

2018-10-13

python tutoral python入门指南

python tutoral python入门指南

2018-10-13

30天学通java_web项目案例开发

30天学通java_web项目案例开发

2018-10-12

struts标签-HTML标签笔记

struts标签-HTML标签笔记

2018-10-12

理学VC++net实验指导书

理学VC++net实验指导书

2018-10-08

android个人计划日程安排课程系统源码

android个人计划日程安排课程系统源码

2018-10-07

android仿北京工业大学极客上网

android仿北京工业大学极客上网

2018-10-07

androidNb微博项目源码

androidNb微博项目源码

2018-10-07

android随手记项目源码

android随手记项目源码

2018-10-07

android文件浏览管理器项目

android文件浏览管理器项目

2018-10-07

android赌数游戏源码

android赌数游戏源码

2018-10-07

android连连看源码

android连连看源码

2018-10-07

android雷电射击小游戏源码

android雷电射击小游戏源码

2018-10-07

android超级玛丽源码

android超级玛丽源码

2018-10-07

android商场系统

android商场系统

2018-10-07

android自定义日历控件

android自定义日历控件

2018-10-04

android工具类

android工具类

2018-10-04

android一键锁屏

android一键锁屏

2018-10-04

算法的乐趣

算法的乐趣.pdf

2018-09-30

hadoop深度学习

hadoop深度学习

2018-09-30

图灵程序设计-Devops实践指南

图灵程序设计-Devops实践指南

2018-09-30

java线程与并发编程

java线程与并发编程是java并发编程的盛典,绝对高清版

2018-09-30

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除