自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

katyusha1的博客

写字楼里写字间,写字间里程序员。程序人员写程序,又拿程序换酒钱。

  • 博客(62)
  • 资源 (1)
  • 收藏
  • 关注

原创 解决:org.apache.hadoop.hive.serde2.objectinspector.UnionStructObjectInspector$MyField@62bab858,

前言 今天用spark把一个csv文件导到hive后,使用select * from test.tablett limit 10 的时候,直接给我报错了cannot find field flow from [org.apache.hadoop.hive.serde2.objectinspector.UnionStructObjectInspector$MyField@6cfac647, org.apache.hadoop.hive.serde2.objectinspector.UnionStruct

2021-05-17 15:04:00 1055 1

原创 使用java编写spark UDF

1、背景 最近对接一些数据,其中有一个日期字段的数据是这样的 26/04/201711:11:17 我需要把它转成正常的YYYY-MM-dd HH:mm:ss的格式,由于文件都在hdfs上,所以只有写spark的udf函数来处理,以前处理spark,都是撸scala,但是最近这个项目主要用java,处理数据只是一个很小的部分,所以打算用java来搞定,因此决定研究下java写spark的udfspark 版本 2.4.3scala代码package orgimport java.text.Si

2021-05-13 14:31:28 2393 3

原创 windows下IDEA使用spark连接hive

1、前言 由于需要在本地环境连接测试集群相关的一些数据,传统方式需要先打jar包,然后再放在集群上使用spark-submit,这样非常麻烦,所以在网上找了下开发环境使用sparksql连接hive的方法,经过许久的折腾,总算弄成功了,特此记录一下。2、准备 A、配置文件把集群上的hadoop etc/hadoop目录下的core-site.xml hdfs-site.xml (读取hdfs上的文件必须)hive的配置文件 hive-site.xml(读取hive必须)拷贝到resource

2021-05-13 13:51:20 793 2

原创 MySQL:Access denied for user‘root‘@‘localhost‘ 解决!

前言 由于平时有许多自动处理数据的脚本需要执行,再加上这些脚本之间存在一定的依赖性,为了完美的解决脚本之间的执行,azkaban便登上了历史的舞台。 azkaban的优点、简介我就不多说了,各位老铁们可以搜索一下,由于azkaban依赖于MySQL,我这里想要说一下,在安装mysql之后,使用root密码登录mysql所报的错:Access denied for user’root’@'localhost’的解决方法。(mysql以前我也安装过很多次了,但是报这个错,然我着实有点吃惊。)1、参考网上

2020-12-14 11:27:14 850 6

原创 pandas一列拆分成多行

前言卸载 pandaspip uninstall pandas pip install pandas==0.25.3 -i https://pypi.tuna.tsinghua.edu.cn/simple some-packagedf.explode("")column : str or tuplereturn dataframe我们来看一下女生给我的文件是什么样子print(type(df['exp_job'][0]))df['exp_job']=df['exp_job'].m

2020-12-09 16:08:44 2202 3

原创 tornado渲染数据到前端出现 “"“ ' 解决方法

问题最近给公司的一个线上销售产品弄一个数据大屏,采用的tornado+echarts的技术方案,前端图表模板写好后,后端只需要吧相关数据灌到前端模板上就ok了,但是当在下从后端传输一些比较复杂的数据给前端后,前端突然报了这么一个错Uncaught SyntaxError: Unexpected token '&'跳转到具体页面,发现后端传到前端的数据全部变样了[{"item_name": "\u989d\u5916\u5237\u65b

2020-11-16 14:45:01 406

原创 vmware虚拟机配置静态ip

前言因为工作中涉及到使用ubuntu做开发环境,因此作为windows用户来说,虚拟机的使用怎么也避免不了,但是传统的桥接模式每次都会变换ip,这对ssh工具来说,简直是个噩梦,因此配置静态ip迫在眉睫,在网上看了多篇文章之后,吸收各家所长,终于找到了一个百发百中的方法。1、修改vmware网络连接模式为NAT2、修改vmware虚拟机网络```子网 ip 一般设置 192.168.xxx.0网关 ip 一般设置 192.168.xxx.2```3、查看windows DNSi

2020-08-14 13:52:21 312

原创 MySQL从删库到跑路(12):数据类型——数据世界的基本规则

风,秋风,萧瑟的秋风。叶,落叶,枯黄的落叶。萧瑟的秋风卷起枯黄的落叶,秋意渐浓,愁意更浓。

2020-06-09 11:24:48 297 2

原创 MySQL从删库到跑路(11):update——修改身高、颜值,人不风流枉少年

 校园中央广场上,一年一度的装逼大会如期举行,同往常一样,广场中央一大早就挤满了密密麻麻的人群,今年广场上人虽多,但是却出奇的安静,只有一个人的声音在广场四周回荡。 我生从何来,死往何处?我为何要出现在这个世界上?我的出现对这个世界意味着什么?是世界选择了我,还是我选择了世界? 站在讲台上发言的李有为似乎达到了物我两忘,天人合一的境界,他只是看着天空,慷慨激昂的说出了一系列令人深思的哲学问题。 我和宇宙之间有必然的联系吗?宇宙是否有尽头?时间是否有长短?过去的时间在哪里消失?未来的时间又在何处停止?我

2020-06-02 17:47:26 285

原创 MySQL从删库到跑路(10):case when——国色天香、倾国倾城,给漂亮小姐姐分个类

1、等值转换 转换sex中的M F,M为男,F为女2、范围转换 按照颜值给美女分个类,>=250 举世无双 220-250 倾国倾城,200-220 国色天香 150-200 天生丽质 100-150 秀色可餐 <100秀色可餐3、行转列SELECT A . USERFROM ( SELECT A . USER, A .dt, A .rank1, date_sub (A .dt, INTERVAL A .rank1 DAY) FROM (

2020-05-31 14:30:20 2005 5

原创 MySQL从删库到跑路(9):group by——给漂亮小姐姐分个组

 上回说到,李有为学会了五个聚合函数,自那以后,谁是这个世界上最漂亮的人,谁是这世界上最高的人,谁是这个世界上最重的人,都逃不过她的火眼金睛,然后大爷的一个问题又让李有为陷入了难题的泥沼当中,在这个花花世界里,拥有沉鱼落雁之容,闭月羞花之貌的漂亮小姐姐究竟有多少人呢? 这似乎好像是一个需求痛点,中华五千年历史长河里,出了无数的美人,什么四大妖姬妺喜、妲己、褒姒、骊姬,什么四大美人西施、王昭君、貂蝉、杨贵妃什么四大名妓柳如是、苏小小、李师师、陈圆圆,这些美人们的故事与传说在以传遍了神州大地,从春秋战国、秦汉

2020-05-30 21:46:13 686

原创 MySQL从删库到跑路(8):聚合函数——让我们来统计一下漂亮妹子的信息

 “李有为,我且问你,human_base_info表面,颜值最高的妹子能有多高?” 听完大爷的话,李有为的嘴角情不自禁地绽开了一抹不易察觉的潇洒而自信的笑容,“大爷,虽然你没有给我讲给排序,但是我下来已经偷偷学了,用order by 对列名排序是吧!desc是降序,asc是升序,如果没有指定规则,则默认为降序排序”----- 查询妹子的姓名和颜值,对颜值进行降序排序SELECT name,looks FROM human_base_info WHERE sex = 'F' ORDER

2020-05-28 17:18:37 525

原创 MySQL从删库到跑路(7):连接查询,用联系的观点看女神与渣男

 "有为,能陪我说说话么?” 望着梨花带雨的女神,一时间李有为陷入了恍惚之中,尽管心里已经千万次告诫自己要远离面前的女人,可是当她真的出现在面前时,李有为的大脑早已一片空白。 "难道他又欺负你了吗?"李有为吞吞吐吐道。&emso;“不!“女神的眼泪突然决堤而出,”他没有欺负我,是我自己太任性了,明知道他那么爱打游戏,还让他在游戏和我之间做一个选择……” "你……不要难过了好么?“李有为温言道,“你的痛就是我的痛,你的微笑就是我俩的欢乐”话毕,他难处手机,打开微信,找到了女神的男朋友,胸中怀着

2020-05-27 22:05:22 627 2

原创 记一次nginx 499 引发的血案

 我是公司的一块砖,哪里需要往哪搬。如果研发人不足,数据也可做后端。 数据组老大离职,一堆数据接口代码等待人来接管,我天天祈求这些代码不要出问题,然后美梦就成真了,今天,其中一个提供关键词的接口慢的一批. 恰逢此时,领导在我背后拍了拍我的肩膀,有为啊,这个问题就交给你来处理了吧,你可从来没让我失望过啊! 当时,在下的心情比吃了七斤二两新鲜的热翔还要难受,鼓励我做事(晒甩事情)的话你都说,鼓励我做事(加薪)的事你不做,我给你说个锤子。 狠话虽然这样说,但是还是要恰饭的,为了这口饭,在下只好忍气吞声,卧

2020-05-26 19:27:47 1699

原创 MySQL从删库到跑路(6):子查询

 “小伙子,今天你怎么不开心?” “前辈,今天我看见了一个漂亮姑娘,淡黄色的长裙,蓬松的头发,她是那么的漂亮,我是那么的卑微……” “你是不是像知道那姑娘姓甚名谁,芳龄几何,可否婚配,这样即便是无法与她共结良缘,你也死而无憾!” “生我者父母,知我者前辈!” “”要解开你的这个心结,今天我们需要学习两个知识点和一张新表。“1.模糊匹配2.子查询3.human_active_record(人类行为记录表) 首先,humanbase_info那张表,已经无法满足你日益增长的物质文化需要了,因为那

2020-05-24 22:08:21 2899 18

原创 sparksql出现 serious problem at org.apache.hadoop.hive.ql.io.orc.OrcInputFormat.generateSplitsInfo

问题 今天一大早给运营小妹用sparksql跑埋点数据,但是sparksql却给我抛了这么一个东西。select source, version, count(1) as numfrom app.app_recordgroup by source, version **java.sql.SQLException: java.lang.RuntimeException: serious problemat org.apache.hive.jdbc.HiveStatement.exe

2020-05-22 11:48:01 1754

原创 Flume写入hive报错flume.SinkRunner: Unable to deliver event. Exception follows has been closed()

 门外柳花飞,女神犹未归。 今年五二零,依旧空落泪。 2020年5月20日下午两点,上午请假的女生重新回到了公司。今天,女神穿了一件波西米亚长裙,“足下蹑丝履,头上玳瑁光。腰若流纨素,耳著明月珰。指如削葱根,口如含朱丹。纤纤作细步,精妙世无双。” "微风冲动她的发梢,就像风的线条。"今天的女神格外的美丽,尽管如此李有为还是时时刻刻提醒自己,一定要懂得拒绝,不管女神今天使出什么甜言蜜语、糖衣炮弹,都不能答应她的请求。 **温柔乡,屌丝冢!**认真,你就玩了! 然而,当女生走到他身边,闻到她身上那若有

2020-05-20 19:59:23 4091 2

原创 MySQL从删库到跑路(5):in and not

where之再向虎山行 “哈哈哈哈,看你这几天没来上课,我还以为你去拜什么高人为师了?原来就是这个烂番薯、臭鸟蛋的小卖部大爷学装逼,你逗我玩呢?哈哈哈哈哈” “哈哈哈哈,一个老屌丝,一个小屌丝,死一边去吧!” 望着班长、学习委员、纪检委员离去的背影,李有为握紧拳头的手,微微有些颤抖。 他很想跳起来给三人几耳屎,可是对方各个都是又高又帅又有钱的人物,装逼实力已经快要到达逼王级别,他这个装逼水平一级的渣渣只能在心中诅咒他们,生娃儿莫得屁眼儿,日*日到钢板。 大爷反倒波澜不惊、宠辱皆忘,淡然笑道:“”胜

2020-05-19 17:40:22 410

原创 MySQL从删库到跑路(4):tell me where do i find someone like you girl?

 “多情自古空余恨,此恨绵绵无绝期。“ 又是一个阳光明媚的早晨,秋高气爽,天高云淡,可是李有为的心里却被蒙上了一层厚厚的阴霾。 古诗有云:“莫言下岭便无难,赚得行人错喜欢。正入万山圈子里,一山放过一山栏。“李有为所处的似乎就是这么一个状态,刚刚解决了一个问题,可是里面有陷入了另一个问题当中。 “So many people all around the world,Tell me where do I find someone like you girl**" 茫茫人海,芸芸众生,谁能告诉他,他钟意

2020-05-18 20:52:21 929

原创 MySQL从删库到跑路(3):神奇的select

神奇的select1:select初探 忧郁的眼神,唏嘘的胡渣,微微有几根头发的脑袋,还有指间夹着的七元一包的红塔山香烟,不知从何时开始,大爷的身上竟然散发着一股无与伦比的气质。 今天,大爷把课程的主题定做为“神奇的select” "昨天已经说过select的最基本用法“大爷喝了口山寨黄山毛峰浓茶,长长的吸了口烟,无比悠闲道: 使用select必须给出至少两个条件,(1):想要选取什么数据,(2)从哪里选择这些数据。 于此同时大爷还特别提醒了李有为一点,SQL里面的关键词都是不区分大小写的。-

2020-05-17 22:11:56 335

原创 MySQL从删库到跑路(2):大爷的SQL私房菜

夜色如墨,月凉如水,一轮皎洁的圆月高高地挂在夜空之上,平日里鼾声如雷的室友今夜也停止了打鼾,如此静谧的夜晚,李有为却辗转难眠。时间悄然来到凌晨一点半,他已经在窗边站了53分钟23秒,现在他脑海里全是大爷的一言一行、一举一动,一颦一笑,这些仿佛就像一部经典电影值得他翻来覆去细细品味。什么是数据库管理系统,什么是数据库,什么是表,什么是列,什么是行,大爷今天讲的这一系列话,现在他依然历历在目。数据库”数据库就是存放数据的仓库。“大爷的解释很直白,对李有为来讲也和浅显易懂,校长的办公室里有许多文件柜,这一

2020-05-16 22:20:21 516

原创 MySQL从删库到跑路(1):神秘大爷

“装逼之力,一级!”望着投影仪PPT上用微软雅黑字体打出来的六个大字,李有为的嘴角掠过一抹心酸的自嘲。“李有为,装逼之力,一级,低!”讲台上,一位中年女子神色漠然,眼神中带着一丝轻蔑,语气平淡的将结果公布出来。中年女子话刚出口,安静的教室里立马引起一阵骚动。“三年了,他依然在原地踏步,昔日的天才少年不过如此。”“”三年,三年之后又三年,不知道下一个三年会是怎样,哈哈哈哈哈。““有为,有为,有所作为。可是他装逼之力只有一级,毕业怎么混社会,怕是要一无所有,碌碌无为了哦。”“当初大一入学班级第一名

2020-05-14 22:51:38 548 3

原创 python使用elasticsearch查询报503问题解决

前言前几天运维的哥们悄悄的吧es升级到7之后,哥们儿我发现我的es洗数脚本在任务管理界面几乎是清一色的满江红,在程序界牵一发而动全身的情况并不少见,这下也好哥们儿我的工作量一下就来了,(免得老板看在眼里以为我是个闲人,在年底把我开了!)进入正题公司有个业务场景需要对不同的用户进行划分,划分的基础是根据行为,所以我只能从es日志中找到产生过相关行为数据的用户让后将这部分用户全部提取一出来,每个...

2020-01-11 15:58:23 6023 6

原创 fingerprintjs2重复问题

前言公司为了在某些运营活动上能够取得更有力的数据支持,决定公司沿用growingIO的同时,内部自己写一套埋点系统,其中,在记录用户唯一性方面采用了fingerprint2( 一款开源设备指纹采集器),然后坑出现了坑,巨坑,神坑埋点时间上线一个月之后,数据采集、处理、分析没有出现什么问题,直到在app端上线了一个活动。突然之间,炸了。在下统计数据的时候,突然发现浏览过该活动页面的登录用户居然...

2020-01-09 20:42:41 4417

原创 MySQL从删库到跑路(0):序章

前言由于公司业务发展需要,上周在下给公司运营部全体妹子培训了简单的SQL,在俺知识点与段子齐飞的一堂后之后,公司妹子终于看到了我的才华,我的魅力。而这也激发了我的创作于,决定写一个通俗易懂、段子与知识点结合到天衣无缝的数据分析专栏,专栏第一部分先以SQL为主,名字就叫《MySQL从删库到跑路》准备首先我这里给大家准备了MySQL的安装包和图形界面管理工具,考虑到大家电脑配置不易,我这里准备的...

2019-09-18 14:32:21 434 5

原创 pandas多行合并成一列

前言作为 一个无法拒绝女生请求的屌丝,在发誓再也不帮女生处理问题十天后,在下破戒了。事情要从一个excel文件和一个漂亮小姐姐同事那里说起。话说有个漂亮的姐姐正在因为一个数据处理问题而发愁,见她柳眉轻蹙,泪眼汪汪的样子,在了解妹子还是单身的情况下,在下主动申请帮助妹子解决问题,过去想妹子询问情况。原来妹子的需求是这样的!这里有一个人走的路径,妹子接到上级的指示,需要将这些人走过的路径,按...

2019-09-17 18:33:06 6803 6

原创 python自定义模块打包、安装、卸载总结

前言在写项目级别的工程时候,需要将常用的函数封装成一个工具文件中,作为一名数据仔,通常只是写写脚本,而且写脚本额位置也不是很固定,这个时候怎么办呢?怎么能够一劳永逸呢?怎么能随心所欲的import呢?那么,这个时候,你需要把你的工具函数打包成一个模块,集成到python模块中。1、打包与安装作为一个数据分析仔,和时间序列数据打交道是在平常不过了,下面有一个获取日期对应是星期几的函数为列子,...

2019-08-21 14:45:41 1814 2

原创 pandas多列合并成一列

前言一入数据深似海,从此头发是路人。作为一个半路出家的学生,小弟当初是想做一名开发的,然而阴差阳错下,解除了数据分析这个工作,从此便爱上了这个让我秃头的行业(虚伪的说。)数据分析有四个步骤,数据获取——>数据处理——>数据分析——>数据分析,以后我们有空小弟都会写一写,今天我们先讲一件数据处理相关。前段时间,公司有个妹子找到小弟,让我帮她处理一下数据,她有一个60M的exc...

2019-08-05 17:59:27 60469 16

原创 python3:csv的读写

前言快要毕业那会儿,在下编写了一个招聘网站招聘岗位的爬虫提供给前女神参考,最开始我是存到mysql中,然后在到处一份csv文件给前女神。到了参加工作后,由于经常使用excel绘制图表(谁叫公司做报表全用excel呢…………….),在下才瞬间顿悟,有时候将爬虫爬取的数据直接存到csv中或许会更加方便一些!既然涉及到爬虫的写入文件,那这里我就先介绍python对csv的写!1、csv的写...

2018-08-12 14:23:50 266275 31

原创 python3的map与reduce

一个月前,我同学去面试python开发岗,面试官给他出了一道题,使用三种不同的方法实现1到100的求和,并且要求语法尽量简洁。同学的代码如下#第一种sum1 = 0for i in range(1,101): sum1+=iprint(sum1)#第二种print(sum(range(1,101)))#第三种print(reduce(lambda x,y:x+y,rang...

2018-08-09 16:18:36 2122

原创 pandas去除列名中的特殊符号

去除pandas列名中的单双引号,空格前段时间,公司推送的csv文件,列名中出现了单双引号,甚至是空格,这对pandas导入数据库来说,引起了很大的不便,后来发现,把列名中出现的单双引号和空格去掉其实很简答,一行代码就可以搞定。df = df.rename(columns=lambda x: x.replace("'","").replace('"','')).replace(" ",""...

2018-08-08 09:06:00 22408 6

原创 pandas数据分析:正传

一:前言作为一个有着良好python基础的菜鸡,以前在下研究过很多python的第三方库,参加工作后,pandas就成了许多当中的唯一了。 幸好有python基础,因此在组长的调教之下,在下很快就掌握了工作中需要用到的pandas的所有方法。pandas基于numpy,一次安装pandas需要安装好numpy,不过这里有一条捷径,那就是anaconda,这里必须先各位老铁安利一下...

2018-02-21 14:51:12 337 1

原创 pandas数据分析前传

一:前言2017年11月17日,在下作为一个即将毕业的大四学生,踏上了找实习工作的旅程。在下深知自己的编程实力,所以起初只想找一家小公司锻炼一下自己,工资低点无所谓,结果事与愿违,实习工资两千的小公司,居然也有许多名校学生,争相向前,这样我等学渣情何以堪。 然后几经波折,我看到了京东的实习生招聘,招聘要求中看见python、mysql、数据分析这三个关键字的时候,在下瞬间就高潮了,然后在...

2018-02-21 13:20:51 325

原创 python3爬虫攻略:selenium+phantomjs二进宫

一:前言上一篇文章讲了下selenium+phantomjs进行简单模拟网站登录,这一篇我们就在深入一下,讲一下selenium其他相关的东西。(selenium很强大,而在下也只是个菜鸡,所以有不足的还请各位老铁指正,咱们共同进步。) Selenium是一个Web的自动化测试工具,所以它存在的意义当然不知识为了模拟登陆,我们日常生活中在网页上的行为,基本上都能用selenium实现。鼠...

2018-02-20 17:50:25 436

原创 python爬虫攻略:selenium+phantomjs初探

一:前言requests虽然功能强大,但遇上JavaScript动态渲染过的html页面还是有一定的局限,这是后如果你机器强大,而且爬取数据量不是太大的话,你或许可以考虑一下selenium+phantomjs来针对那些需要登录,并且是JavaScript动态渲染的网页。seleniumSelenium是一个Web的自动化测试工具,最初是为网站自动化测试而开发的,类型像我们玩游戏用...

2018-02-20 17:19:38 522

原创 python3 scrapy startproject报错解决

在ubuntu使用scrapy 新建项目是报错 简单的看了一下,只能了解大致意思,PermissionError:许可错误。Permission denied:没有权限。 不过凑到一起还是一脸懵逼(希望那位大神能够解救!)系统环境ubuntu16.04,python版本3.5.2 scrpay shell能够正常使用 在网上找了许久,没有找到解决办法。第一种解决办法于是自己探索,探索

2017-11-25 22:42:26 3353

原创 解决:Navicat远程连接mysql失败

一:修改mysql配置文件,允许远程连接sudo vi /etc/mysql/mysql.conf.d/mysqld.cnf将bind-address=127.0.0.1注释二:登录mysql,运行命令grant all on . to 用户名@”%” identified by “密码”;flush privileges;三:重启mysqlservice mysql restart

2017-11-25 11:01:55 1623

原创 mongodb创建索引

索引的目的是为了提升查询速度,mongodb中也支持索引。 mongodb的shell同时又是js的编译器,所以我们可以用JavaScript语句模拟存入大量数据。 为了验证索引的快速,我们先模拟插入十万条数据 for(i=0;i<100000;i++) { db.stu.insert({name:’test’+i,age:i}); }创建索引db.集合.ensureIndex(

2017-11-24 17:01:26 4052

原创 ubuntu定时执行任务

前几天女神给我发了条消息,“为什么我每天早上九点都会收到你给我发的天气信息的邮件?”然后…… 当然,我是不可能告诉她,我是用crontab来定时执行python脚本滴! 好了,废话不多说,直接进入正题!ubuntu定时执行脚本cron是一个Linux下的后台进程,用来定期的执行一些任务。因为我用的是Ubuntu,所以这篇文章中的所有命令也只能保证在Ubuntu下有效。查看cron是否运行ps -

2017-11-23 22:02:58 38082 3

原创 ubuntu设置开机自动启动脚本

有时候我们想要脚本开机自动运行,那么就需要设置开机自启动脚本。首先将脚本复制或者软连接到/etc/init.d/目录下然后update-rc.d xxx defaults NN命令(NN为启动顺序)将脚本添加到初始化执行的队列中去。注意如果脚本需要用到网络,则NN需设置一个比较大的数字,如99举个列子先创建一个简单的shell脚本test.sh,这个脚本的作用是在开机的时候创建一个test.txt文

2017-11-23 21:18:49 1739 2

python趣味代码

python趣味代码,一些关于python的趣味代码有图片转文字,打飞机等

2017-10-02

空空如也

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

TA关注的人

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