阿里巴巴 Flink 踩坑经验:如何大幅降低 HDFS 压力?
众所周知,Flink 是当前最为广泛使用的计算引擎之一,它使用 Checkpoint 机制进行容错处理 [1],Checkpoint 会将状态快照备份到分布式存储系统,供后续恢复使用。在 Alibaba 内部,我们使用的存储主要是 HDFS,当同一个集群的 Job 到达一定数量后,会对 HDFS 造成非常大的压力,本文将介绍一种大幅度降低 HDFS 压力的方法——小文件合并。
众所周知,Flink 是当前最为广泛使用的计算引擎之一,它使用 Checkpoint 机制进行容错处理 [1],Checkpoint 会将状态快照备份到分布式存储系统,供后续恢复使用。在 Alibaba 内部,我们使用的存储主要是 HDFS,当同一个集群的 Job 到达一定数量后,会对 HDFS 造成非常大的压力,本文将介绍一种大幅度降低 HDFS 压力的方法——小文件合并。
HDFS的内部数据安全风险很多,总的来看,对于内部监控来说,一方面是将本来限制在IDC内部才可访问的Hadoop相关系统通过WebHDFS等HTTP(S)形式的API对办公网或外部进行了开放,扩大了攻击面,这个需要从Web/API层面去做分析和监控预警;另一方面是安全认证/加密等措施执行不到位,导致攻击者只要获取到master/namenode等地址信息就可以直接通过alluxio/hadoop等客户端直连,然后通过文件拷贝等方式获取parquet文件从而拿到敏感数据完成攻击,这个需要从主机层的异常命令操作分析来监控预警相关风险。
自从年初开始关注这波 AI 浪潮,我将 AI 纳入了自己的工作流程,已经有一段时间了。现在我基本上一有机会就向他人推荐,建议尽快将 AI 引入开发流程。
今天这篇文章,分享一些目前自己利用 AI 服务相关的一些经验、工具和服务。
如果你有类似划词评论的开发需求,本文内容不容错过,这可是外面很难找到的开发素材,暂时没有遇到类似需求也没关系,可以Star下项目,日后再说。
光学字符识别OCR技术(Optical Character Recognition)是指从图像中自动提取文字信息的技术。这项技术横跨了人工智能里的两大领域:CV(计算机视觉)和NLP(自然语言处理),综合使用了这两大领域中的很多技术成果。
在过往40余年的技术发展历程中,OCR始终具备很强的产业应用背景,是计算机领域里少数几个一开始就由工业界和学术界双轮驱动的领域。近年来OCR技术已经在工业界成熟落地应用,学术界里对此的研究热度反而弱于其他方向。甚至有人认为OCR技术已经充分成熟,没有更多研究必要了。然而随着近年来智能文本处理IDP(Intelligent Document Processing)在工业界的逐步落地应用,OCR和IDP相结合的应用场景越来越多,用语义理解NLP的角度进一步去延伸OCR的应用,出现了很多更有产业应用价值的场景。本文回顾了OCR技术的发展历程,并结合达观数据在工程实践方面的经验,介绍与语义分析技术结合后,当前OCR技术的一些最新发展和落地经验。
Flink 作业中的窗口是指一种对无限数据流设置有限数据集,从而实现了处理无线数据流的机制。
窗口本身只是个划分数据集的依据,它并不存储数据。
当我们需要在时间窗口维度上对数据进行聚合时,窗口是流处理应用中经常需要解决的问题。Flink的窗口算子为我们提供了方便易用的API,我们可以将数据流切分成一个个窗口,对窗口内的数据进行处理。
窗口主要有两种,一种基于时间的时间窗口(TimeWindow),一种基于数量的计数窗口(CountWindow),计数窗口与时间无关,本文主要讨论时间窗口。
在一个大的项目中,使用了全缓存模型,即,所有数据都会经过cache。简单分层:应用->内存缓存->redis缓存->数据库。是一个典型的多读写少的场景,并且数据量。请求量非常大。总结了一些使用经验,供参考。
到现在,我已经做了超过 21 年开发,可以说,我生命中超过一半的时间都在编程,那既是我的职业,也成了我的习惯。
基于Cloud Spanner独特的结构,它能确保客户在以较小的用户群和业务量为起点时,不必过多担心在未来数据量和业务量增长后需要对数据库进行迁移或重新编写的问题。
我认同故事卡里非常详细的描述可以带来价值,但我也相信“简练的表述 + 充分的沟通”可以更高效、更灵活;我认同故事卡不是契约或合同,但我也相信完整、准确的表述可以显著降低各角色间的沟通成本。
经常性逛github,发现了一些优秀的开源项目,其中的框架及代码非常不错,现在给大家推荐三个快速开发平台。