跳到主要内容

18 篇文档带有标签「source-code」

查看所有标签

hive metastore 初始化

hive metastore的初始化init函数信息量非常丰富, 顺着把所有关联的调用函数看下去, 大概就能理解metastore的工作流程了.

python metaclass

随便点开看的微信公众号平台python客户端代码werobot, 另一个是wechatpy. 很久没写python了, 看开源代码总能发现一些有意思的写法.

ranger grant 授权

看impala的ranger插件代码, 才知道原来ranger还能这么玩. 支持create role, grant privilege权限,看起来跟mysql的grant语法一样, 背后其实自动转换调用ranger api创建policy.

ranger impala 授权鉴权

看了下impala源码, 自带了对ranger的支持, 在执行sql的时候可以调用ranger的鉴权逻辑, 并不需要通过hive server进行ranger代理触发. 看起来impala plugin用的还是hive的policy, 因此估计可以一份ranger policy配置, hive与impala同时生效.

ranger policy 策略鉴权

原来ranger在plugin里构建的是一颗trie树, 根据request请求体里的访问资源, 快速查找匹配的policy权限定义, 然后判断是否有权限.

ranger 策略读取缓存与锁

有一个现象, 修改 ranger policy 之后, 下一个 read policy 的 ranger api 请求耗时总是非常长, 容易导致依赖模块的 api 超时.

ranger 脱敏

看起来ranger hive plugin只需要在hive的插件里设置 row filter regex正则, column mask expression 脱敏表达式, 真正的实现倒像是由hive自身完成了. 咨询了chatgpt, 说是由ranger提前修改的sql, 还得再看看.

ranger-download-cache

ranger plugin 组件里的ranger插件初始化的时候, init方法就会启动线程定时从ranger admin server里下载policy策略.

从堆栈学习源码

虽然还是有些囫囵吞枣, 但是从堆栈角度来学习真的是事半功倍, 直接看源码压根串不起来, 选择路径实在太多了.

有道云笔记全量下载迁移

在有道云上有几个GB的文件, 会员也开了好多年, 但不再打开也有好多年了. 有道云笔记后期最主要的问题是速度太慢了, 文件多了之后搜索和编辑都非常痛苦, 本地mac客户端的同步也经常出问题, 失去了快速记录和检索的价值. 后面习惯了使用 vscode 本地记录 markdown 文档, 有道的文档就再没有打开过. 这几个GB都是自己打工拉磨的日子敲下或是摘录的文字和截图, 许多技术文档都过期不再有价值了, 但还是需要备份下, 在本地重新焕发价值.