上一页 1 ··· 35 36 37 38 39 40 41 42 43 ··· 133 下一页

2022年10月21日

dremio 存储插件之StoragePluginRulesFactory 类简单说明

摘要: StoragePluginRulesFactory 是dremio 为了分离每个插件的规则,我们存储插件可以包含自己的规则工厂,具体使用到StoragePluginRulesFactory 的包含了CatalogServiceImpl,SqlHandlerConfig,实际都会到sql 执行的han 阅读全文

posted @ 2022-10-21 12:52 荣锋亮 阅读(33) 评论(0) 推荐(0)

dremio 社区模块的一些说明

摘要: 我以前简单说明过dremio 依赖的一些社区版的包(木有开源的)以下做一个简单的总结说明 社区版模式的开发模式 基于独立包进行扩展 扩展使用了配置动态加载或者直接引用模式,比如scheduler 就是基于class 加载机制,部分查询计划的扩展(sabot kernel)使用了包的模式(放到包中) 阅读全文

posted @ 2022-10-21 12:51 荣锋亮 阅读(55) 评论(0) 推荐(0)

2022年10月20日

dremio kernel 模块之DremioSqlDialect

摘要: 参考图 实际上是继承自calcite 的sql 方言类 arp 扩展的说明 目前官方的arp 主要是对于sql 数据库类型的高级支持,当然需要依赖社区版的arp 公共包dremio-ce-jdbc-plugin arp 扩展提供的能力 - schema 获取 - 执行sql - 数据源创建 - sq 阅读全文

posted @ 2022-10-20 21:18 荣锋亮 阅读(84) 评论(0) 推荐(0)

wget --no-check-certificate 问题解决

摘要: 很多时候一些老旧机器因为ca证书的问题,造成下载异常,实际上解决方法很简单,一种方法是参考提示就行了 解决方法 添加 --no-check-certificate 使用.wgetrc 文件(以后都就可以了) echo "check_certificate = off" >> ~/.wgetrc 说明 阅读全文

posted @ 2022-10-20 13:47 荣锋亮 阅读(1736) 评论(0) 推荐(0)

2022年10月19日

dremio dremio-sabot-logical 模块简单说明

摘要: dremio-sabot-logical 模块对于逻辑以及执行物理计划的处理,此模块提供的能力还是不少的 整体提供的能力 config 包含了配置(逻辑计划的持久化) expression 包含了函数,类型,visitor 访问 (关联表达式以及逻辑以及物理操作) graph 图主要实现操作的一个基 阅读全文

posted @ 2022-10-19 21:06 荣锋亮 阅读(87) 评论(0) 推荐(0)

htmx 强大的html 工具

摘要: htmx 是一个很不错的html 标签库,实现了可以写比较少的js 就可以解决大部分依赖js 处理的事件绑定以及ajax 调用。。。这种标签库提供的能力比较和现在大家都在尝试的微前端的一些玩法比较类似,是一个值得尝试的工具包 参考资料 https://github.com/bigskysoftwar 阅读全文

posted @ 2022-10-19 09:41 荣锋亮 阅读(735) 评论(0) 推荐(0)

2022年10月18日

guava servicemanager 集成guice 使用

摘要: 实例代码 servicemanager public class MyServiceManagerProvider implements Provider<ServiceManager> { // 此处初始化一个AbstractService 实际上是多余的, ServiceManager 自带一个 阅读全文

posted @ 2022-10-18 19:20 荣锋亮 阅读(140) 评论(0) 推荐(0)

how-dbt-fails

摘要: 一篇值得学习的dbt 分析文章,内容还是比较有意思的https://benn.substack.com/p/how-dbt-fails 阅读全文

posted @ 2022-10-18 11:00 荣锋亮 阅读(43) 评论(0) 推荐(0)

几个类似dbt 的工具

摘要: cube cube.js 个人比较喜欢的一个无头bi 开源工具,支持建模以及bi 分析,基于nodejs 开发,还是很强大的 Metriql 数据的metrics 层,支持jdbc 操作,以及rest api (部分利用了presto core 部分的代码),基于dbt,也属于无头bi 工具 Mal 阅读全文

posted @ 2022-10-18 11:00 荣锋亮 阅读(691) 评论(0) 推荐(0)

2022年10月17日

dremio HomeFileSystemStoragePlugin简单介绍

摘要: 使用过dremio 的同学应该了解dremio 对于每个用户会支持一个@ 的导航(小房子标记) 参考接口效果 rest api 请求的,会包含一个containerType home 的就是HomeFileSystemStoragePlugin 产生的文件信息 HomeFileSystemStora 阅读全文

posted @ 2022-10-17 22:58 荣锋亮 阅读(51) 评论(0) 推荐(0)

dremio 的服务管理

摘要: dremio 因为服务组件比较多,所以一些比较核心的可以做为服务的都会包装为一个service, 可以大大简化服务的管理,以及服务状态的统计 service 接口定义 public interface Service extends AutoCloseable { void start() thro 阅读全文

posted @ 2022-10-17 21:08 荣锋亮 阅读(40) 评论(0) 推荐(0)

dremio 的几种插件

摘要: dremio 插件化比较明显,支持各种场景的数据处理以下只说明oss 的,社区版的没有包含 格式化插件 当前支持的格式化扩展,主要对于内容进行格式解析 存储插件 实际上场景是各类外部需要集成的系统(sql,nosql,s3) FileSystem 插件 主要集成外部文件系统类的存储(nfs,s3,h 阅读全文

posted @ 2022-10-17 20:08 荣锋亮 阅读(75) 评论(0) 推荐(0)

dremio AbstractRecordReader 简单说明一

摘要: AbstractRecordReader 在dremio 实现了不同存储的数据读取处理,还是比较重要的,毕竟dremio 主要还是查询 AbstractRecordReader接口定义 AbstractRecordReader 实现了RecordReader接口,当然AbstractRecordRe 阅读全文

posted @ 2022-10-17 17:32 荣锋亮 阅读(43) 评论(0) 推荐(0)

dremio Operator 简单说明

摘要: 来自官方的一小段介绍 Operator 是执行的基础单元,Operator 对于一个或者多个input 数据 stream 进行消费,然后输出,他们是单线程的 同时包含了不同类型的Operator 同时也会包含不同的状态,但是所有的状态会通过一系列的MasterStates进行描述 主要包含四类op 阅读全文

posted @ 2022-10-17 17:30 荣锋亮 阅读(57) 评论(0) 推荐(0)

2022年10月15日

dremio 测试类SabotNode简单说明

摘要: 实际上我以前简单说明过dremio 的一些测试类以及如何进行测试一般我们使用BaseTestQuery 就可以了 实际上对于测试dremio 包装了一个SabotNode 类,提供了不带ui 的测试框架能力(server 引擎能力) SabotNode 提供的能力 SabotNode 是一个drem 阅读全文

posted @ 2022-10-15 22:58 荣锋亮 阅读(49) 评论(0) 推荐(0)

dremio 元数据处理

摘要: dremio 的元数据会影响查询的执行,以及bi 工具的使用,所以会包含两部分,读以及写,dremio 包含了定时刷新的,以及在source 首次创建 的时候(adhoc ) 参考图 写入保存,基于页面操作的核心是DatasetSaver 实现的save 方法 Affect(class count: 阅读全文

posted @ 2022-10-15 21:38 荣锋亮 阅读(133) 评论(0) 推荐(0)

2022年10月14日

docker desktop url protocl 技术以及使用

摘要: docker desktop 在登录的使用使用了自定义的url 协议,同时基于web 进行系统登录,认证完成之后会生成code,之后通过 url 协议进入 使用 docker 协议定义 <array> <dict> <key>CFBundleTypeRole</key> <string>Editor 阅读全文

posted @ 2022-10-14 10:30 荣锋亮 阅读(137) 评论(0) 推荐(0)

2022年10月12日

maven resource 覆盖配置使用

摘要: maven resource 插件可以对于resource 进行处理,比如合并,copy,有一种比较常见的用法是进行覆盖 比如我们基于配置插件,在resource 阶段将依赖其他配置中心或者repo 的配置文件合并并覆盖到我们的构建包中 参考配置 标准插件配置 <plugin> <groupId>o 阅读全文

posted @ 2022-10-12 20:30 荣锋亮 阅读(557) 评论(0) 推荐(0)

2022年10月9日

openmetadata pipelineservice client 处理机制

摘要: pipelineservice client 实现了pipeline的创建以及调度处理 机制 通用schema 生成通用实体 包装抽象通用pipelineclient 基于通用实体进行pipeline 处理 实现具体的client 比如airflow IngestionPipelineReposit 阅读全文

posted @ 2022-10-09 19:28 荣锋亮 阅读(117) 评论(0) 推荐(0)

openmetadata 元数据处理标准

摘要: openmetadata 对于元数据的处理也是基于了schema 主要是workflow 这个定义,包含了不同的定义,基于自己定义的workflow 进行执行 数据的获取、处理以及写入 参考workflow 定义 (支持基于json 以及yaml格式的) 包含了source,sink,process 阅读全文

posted @ 2022-10-09 19:26 荣锋亮 阅读(495) 评论(0) 推荐(0)

2022年10月8日

dremio 23.0 版本发布

摘要: 最近dremio 23 版本发布了(社区版以及下载地址还没提供),一些变动还是比较大的 破坏性变动 mapr 只支持6.2.0 了,对于mapr 也只支持jdk 11 dremio 可以直接读取parquet 文件的map 类型,对于包含了map 类型的需要刷新元数据,同时也支持开关可以关闭此特性 阅读全文

posted @ 2022-10-08 20:13 荣锋亮 阅读(68) 评论(0) 推荐(0)

openjdk 11 以及8 项目构建退休建议选择其他构建源

摘要: 如果大家看dockerhub 官方关于openjdk 镜像的建议会发现,已经不推荐我们使用了,反而推荐我们使用amazon,eclipse-temurin,ibm 以及sap 的jvm 镜像具体的原因github 有说明,所以日常中的项目还是使用其他jvm 的docker镜像,目前来说eclipse 阅读全文

posted @ 2022-10-08 19:50 荣锋亮 阅读(333) 评论(0) 推荐(0)

2022年10月7日

openmetadata 系统技术栈学习

摘要: 内容来自官方文档,以前是通过源码参考学习,目前官方文档已经有了完整的说明了 参考图 实际上此图关于workflow 部分有点老了,新版本支持不少其他pipeline能力了 简单说明: 元数据存储基于mysql,索引使用了es,http server 基于了dropwizard 框架(内部基于jers 阅读全文

posted @ 2022-10-07 21:08 荣锋亮 阅读(864) 评论(0) 推荐(0)

webvm 基于webassembly 的虚拟机

摘要: webvm 是leaningtech 团队开源的基于web的虚拟机工具,使用了webassembly 能力,基于没有修改的debian 系统开发的核心技术基于了leaningtech 的CheerpX 虚拟引擎,有比较有意思的一套技术,可以实现好多灵活的能力(比如通过web 运行java) 说明 官 阅读全文

posted @ 2022-10-07 20:42 荣锋亮 阅读(765) 评论(0) 推荐(0)

2022年10月6日

jsonschema2pojo 基于json schema 生成代码

摘要: jsonschema2pojo 是一个很不错的基于jsonschema 生成代码的包以及工具(maven 扩展) jsonschema2pojo 特点 支持基本的jsonschema 操作 支持java扩展,比如别名,继承扩展接口 外部jsonschema 文件引用 jsr 303 注解支持 自定义 阅读全文

posted @ 2022-10-06 21:02 荣锋亮 阅读(798) 评论(0) 推荐(0)

openmetadata jsonschema 处理的一些变动

摘要: openmetadata 估计是因为quicktype 使用复杂费事,最近版本quicktype 的集成已经废弃了,都使用jsonschema2pojo 了实际上使用jsonschema2pojo 对于java 项目来说也比较好,毕竟简单了,没有太多外部依赖了,直接基于maven 构建就行了同时对于 阅读全文

posted @ 2022-10-06 15:32 荣锋亮 阅读(79) 评论(0) 推荐(0)

redpanda 试用

摘要: 主要是体验下redpanda 环境准备 version: '3.7' services: redpanda: # NOTE: Please use the latest version here! image: docker.redpanda.com/vectorized/redpanda:v21. 阅读全文

posted @ 2022-10-06 11:13 荣锋亮 阅读(336) 评论(0) 推荐(0)

dagster开源数据资产可观测平台调度平台

摘要: dagster 是基于python 开发的数据调度平台,可以方便的处理数据的pipeline 同时支持数据资产的可观测性而且还可以支持dbt 处理 参考架构 说明 dagster 支持的集成是很多的,airflow,dbt,pandas,pyspark 参考资料 https://dagster.io 阅读全文

posted @ 2022-10-06 09:51 荣锋亮 阅读(1002) 评论(0) 推荐(0)

redpanda kafka 兼容平台

摘要: redpanda 是基于c++ 开发kafka 协议兼容平台,不依赖zk,不依赖jvm,以及raft 进行复制以及选举处理 支持的特性 kafka conect cloud store (企业版) stream 处理 rest proxy schema registry 自动性能优化 原生prome 阅读全文

posted @ 2022-10-06 09:33 荣锋亮 阅读(709) 评论(0) 推荐(0)

2022年10月5日

openmetadata 访问控制的一些调整

摘要: 从整体上机制是没有变的,支持官方估计是为了简单,去掉了easy-rules 直接使用了spring expression 进行的执行处理rule 上自己实现了,从功能上还是比较简单的,而且也比较灵活,毕竟openmetadata 策略执行上也用不上太多关于easy-rules 的能力新的设计还是值得 阅读全文

posted @ 2022-10-05 18:01 荣锋亮 阅读(141) 评论(0) 推荐(0)

openmetadata 的client 生成代码处理

摘要: openmetadata 的client 是基于swagger maven 代码生成扩展生成的,client 层核心是包装了一些认证处理的 插件配置 <plugin> <groupId>io.swagger.codegen.v3</groupId> <artifactId>swagger-codeg 阅读全文

posted @ 2022-10-05 17:47 荣锋亮 阅读(231) 评论(0) 推荐(0)

TornadoVM 专为机器学习图形计算的jdk 扩展

摘要: TornadoVM 是专为机器学习图形计算的jdk 扩展,支持openjdk 以及Graalvm,官方有不少对比,性能提升还是很不错的对于机器学习,以及图形相关的开发还是值得看看的 参考资料 https://github.com/beehive-lab/TornadoVMhttps://www.to 阅读全文

posted @ 2022-10-05 10:50 荣锋亮 阅读(109) 评论(0) 推荐(0)

graylog MessageProcessor 简单说明

摘要: MessageProcessor 是在ProcessBufferProcessor 使用的,主要进行消息的加工,比如过滤,提取,扩展 ProcessBufferProcessor参考处理 private void handleMessage(@Nonnull Message msg) { msg.a 阅读全文

posted @ 2022-10-05 10:11 荣锋亮 阅读(111) 评论(0) 推荐(0)

graylog RawMessage&RawMessageEvent&MessageEvent&Message 说明

摘要: RawMessage 是从graylog input 组件获取到的还没解析处理的消息,是有SimpleChannelInboundHandler 处理的原始消息 RawMessageEvent 是Disruptor 处理的事件包装 MessageEvent 是经过input 之后到ProcessBu 阅读全文

posted @ 2022-10-05 09:46 荣锋亮 阅读(144) 评论(0) 推荐(0)

2022年10月4日

graylog OutputRouter 简单说明

摘要: OutputRouter 核心是基于stream 以及消息获取到实际消息的外部输出,方便后续的存储以及处理,实现上依赖了OutputRegistry 存储了MessageOutput 与Stream 的关系,可以用来方便的查找信息(类似一个注册中心) 参考资料 https://github.com/ 阅读全文

posted @ 2022-10-04 10:47 荣锋亮 阅读(35) 评论(0) 推荐(0)

graylog MessageOutput 简单说明

摘要: MessageOutput 才是graylog 真正写入日志到外部存储的地方不同的实现都依赖一个MessageQueueAcknowledger,对于已经处理的消息进行确认,确保不会多次执行 扩展的子类 参考资料 https://github.com/Graylog2/graylog2-server 阅读全文

posted @ 2022-10-04 10:03 荣锋亮 阅读(71) 评论(2) 推荐(0)

graylog OutputBufferProcessor 简单说明

摘要: OutputBufferProcessor 对于输出处理比较重要,包含了路由(比如不同stream 写到外部put,写到不同的外部MessageOutput 中 OutputBufferProcessor 也是Disruptor 的一个handler 参考处理 public void onEvent 阅读全文

posted @ 2022-10-04 09:46 荣锋亮 阅读(90) 评论(0) 推荐(0)

graylog OutputBuffer 简单说明

摘要: 因为graylog 比较依赖buffer,所以对于输出,套路与process 类似,技术上也依赖了Disruptor消息处理上依赖一个OutputBufferProcessor,与process 一致,OutputBufferProcessor 后边说明 说明 output 以process 实现套 阅读全文

posted @ 2022-10-04 09:28 荣锋亮 阅读(73) 评论(0) 推荐(0)

graylog ProcessBufferProcessor 简单说明

摘要: ProcessBufferProcessor 的核心是进行消息处理,会调用消息处理器,同时会将消息放到OutputBuffer 中 ProcessBufferProcessor 实际上是ProcessBuffer 中Disruptor 的一个handler 核心处理 handleMessage 方法 阅读全文

posted @ 2022-10-04 09:21 荣锋亮 阅读(72) 评论(0) 推荐(0)

graylog ProcessBuffer 简单说明

摘要: graylog 在消息进入之后(对应input ),选择不同的handler 处理之后,会到不同的buffer 中对于DirectMessageHandler 的会到ProcessBuffer 中,对于是否开启了Journalling,处理会不一样开启了会先使用RawMessageEncoderHa 阅读全文

posted @ 2022-10-04 08:48 荣锋亮 阅读(145) 评论(0) 推荐(0)

上一页 1 ··· 35 36 37 38 39 40 41 42 43 ··· 133 下一页

导航