首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
您找到你想要的搜索结果了吗?
是的
没有找到

解决小文件问题

为了解决小文件问题,我们也是八仙过海各显神通,一般而言可能都是写个MR/Spark程序读取特定目录的数据,然后将数据重新生成N个文件。但是在以前,这种模式会有比较致命的问题,因为在生成的新文件要替换原来的文件,而替换的过程不是原子过程,所以这个时候如果正好发生读,是会影响的。其次,很多读的程序,都会缓存文件路径,因为我们重新生成了文件,文件名称也变化了,导致读的程序的缓存失效,会发生比如文件找不到等异常。对于在一个进程比较好说,做下刷新就行,但是读往往是在不同的进程实例里,这个时候通知他们也是很难的事情。再极端一点,读取这个表的程序可能是另外一个团队维护的。所以其实小文件并没有想象的那么好解决,或者说能够优雅的解决。

02

我们常说的海量小文件的根源是什么?

为了解决小文件问题,我们也是八仙过海各显神通,一般而言可能都是写个MR/Spark程序读取特定目录的数据,然后将数据重新生成N个文件。但是在以前,这种模式会有比较致命的问题,因为在生成的新文件要替换原来的文件,而替换的过程不是原子过程,所以这个时候如果正好发生读,是会影响的。其次,很多读的程序,都会缓存文件路径,因为我们重新生成了文件,文件名称也变化了,导致读的程序的缓存失效,会发生比如文件找不到等异常。对于在一个进程比较好说,做下刷新就行,但是读往往是在不同的进程实例里,这个时候通知他们也是很难的事情。再极端一点,读取这个表的程序可能是另外一个团队维护的。所以其实小文件并没有想象的那么好解决,或者说能够优雅的解决。

02

千锋重庆IT学习之微信API接口文档

微信​​API接口文档​​,微信API接口,个人微信聊天接口api 微信手机客户端上传的通知类消息 1.手机客户端微信上线通知 WeChatOnlineNotice = 1020; 2.手机客户端微信下线通知 WeChatOfflineNotice = 1021; 3.微信个人号新增好友通知 FriendAddNotice = 1022; 4.微信个人号移除好友通知 FriendDelNotice = 1023; 5.微信好友发来聊天消息 FriendTalkNotice = 1024; 6.任务执行结果通知 TaskResultNotice = 1025; 7.手机上回复好友的聊天消息 WeChatTalkToFriendNotice = 1026; 8.有好友请求添加好友的通知 FriendAddReqeustNotice = 1027; 9.手机端向服务端通知聊天执行结果 TalkToFriendTaskResultNotice = 1028; 10.图片或视频消息的详细内容结果 RequestTalkDetailTaskResultNotice = 1029; 11.上传手机客户端上微信的二维码 PullWeChatQrCodeTaskResultNotice = 1030; 12.手机上发送了朋友圈通知 CircleNewPublishNotice = 1031; 13.手机上删除朋友圈通知 CircleDelNotice = 1032; 14.手机检测到有人点赞/取消点赞通知 CircleLikeNotice = 1033; 15.手机检测到有人评论/删除朋友圈通知 CircleCommentNotice = 1034; 16.消息标记为已读 PostMessageReadNotice = 1035; 17.联系人信息上传 ContactsInfoNotice = 1036; 18.群聊新增通知 ChatRoomAddNotice = 1037; 19.联系人标签新增,修改通知 ContactLabelAddNotice = 1038; 20.收钱任务执行结果通知 TakeMoneyTaskResultNotice = 1039; 21.朋友圈图片上传 CircleDetailNotice = 1040; 22.群聊删除通知 ChatRoomDelNotice = 1041; 23.群聊信息变更通知 ChatRoomChangedNotice = 1042; 24.群二维码 PullChatRoomQrCodeTaskResultNotice = 1043; 服务端、客服客户端发给设备的指令类消息 1.给好友发消息任务 TalkToFriendTask = 1070; 2.发送朋友圈任务 PostSNSNewsTask = 1071; 3.主动添加好友任务 AddFriendsTask = 1072; 4.发送朋友圈任务后数据回传 PostSNSNewsTaskResultNotice = 1073; 5.删除朋友圈 DeleteSNSNewsTask = 1074; 6.客户端或者服务端接受好友请求通知 AcceptFriendAddRequestTask = 1075; 7.群发消息任务 WeChatGroupSendTask = 1076; 8.执行养号动作命令 WeChatMaintenanceTask = 1077; 9.请求图片或视频消息的详细内容 RequestTalkDetailTask = 1078; 10.服务端主动要求手机上传当前登录的微信二维码 PullWeChatQrCodeTask = 1079; 11.触发手机推送好友列表任务 TriggerFriendPushTask = 1080; 12.触发手机推送朋友圈列表任务 TriggerCirclePushTask = 1081; 13.朋友圈评论删除任务 CircleCommentDeleteTask = 1082; 14.朋友圈评论删除任务反馈 CircleCommentDeleteTaskResultNotice = 1083; 15.朋友圈评论回复任务 CircleCommentReplyTask = 1084; 16.朋友圈评论回复反馈 CircleCommentReplyTaskResultNotice = 1085; 17.通知手机将某个聊天窗口置为已读 TriggerMessageReadTask = 1086; 18.消息撤回 RevokeMessageTask = 1087; 19.转发消息 ForwardMessageTask = 1088; 20.通知手机推送聊天记录 TriggerHistoryMsgPushTask

02
领券