Zehao Liu

一个普通人类,自由的呼吸者

[深入理解]k8s client-go 系列(1): DeltaFIFO

写在前面刚毕业我就觉得crud是一件很无聊的事情。作为sre可以摆脱crdu, 可是平时的工作无非是监控,告警,迁移,部署,排查问题。三年了,这些东西都搞腻味了,从技术品味上说,什么是有趣的?我感觉k8s开发算是少有的有点技术含量,且可以玩的深一点的东西了。通过operator的开发我们可以将部署从playbook,手工部署解放出来。其中积累的能力在自动化告警处理,运维操作自动化上更是大有可为。个人感觉是未来的大势所趋。 我已经完全独立开发一个zookeeper operator系统,参与和研究过至少三个类似系统的开发。但是对于operator机制,我总是有种模模糊糊的感觉,网上的资料都被我翻遍了,要不太理论看不懂,要不太小白就一个入门。更有的是直接上源码,属于大牛懒得看,我这种菜鸡看了也白看的类型。基于此,我想还是要demo先行,通过构建demo慢慢攻破一个个小堡垒, 不能好高骛远。 简介 client-go 架构图 github client-go项目: https://github.com/kubernetes/client-go DeltaFIFO架构上在Reflector和informer之间的位置,和所有队列一样,作用的官方说法: DeltaFIFO solves this use case: You want to process every object change (delta) at most once. 您希望至多处理每个对象变更(delta)一次。 When you process an object, you want to see everything, that’s happened to it since you last processed it. 在处理对象时,您希望看到自上次处理以来发生的一切。 You want to process the deletion of some of the objects. 您希望处理一些对象的删除。 You might want to periodically reprocess objects. 您可能希望定期重新处理对象。 顾名思义的来看可以分为FIFO部分和Delta部分:

[实践]python统计excel中出现频率较高的词汇形成词云

0.快速修改使用 1 2 0.1 修改对应的excel文件和其对应的列:59行修改excel文件名60行修改对应的列名 0.2 77行 500 的意思是取出出现频率前500的词汇,这个可以修改,比如100就把500改成100 1.需要的库 1 pip install pandas pkuseg numpy matplotlib PIL wordcloud pkuseg是一个分词器:https://github.com/lancopku/pkuseg-python pandas,matplottlib,PIL 用来辅助作图,pandas中包含处理excel格式的函数 wordcloud 用来生成词云 numpy用来进行科学计算 2.代码逻辑 1.从excel表中读取所需要的文字 2.采用分词器进行分词操作 3.过滤一些没用的符号,单个词 4.统计词频 5.生成词云 3.分块功能说明 3.1统计词频 1 2 3 4 5 6 7 8 9 10 def count_words(sp, n): w = {} for i in sp: if i not in w: w[i] = 1 else: w[i] += 1 top = sorted(w.items(), key=lambda item:(-item[1], item[0])) top_n = top[:n] return top_n 输入分词后的结果,list格式。n为返回词频率由高到低前n的词。
0%