
闲谈
鸿乃江边鸟
Apache Spark Contributor
专注于技术的dotaer
展开
-
Spark升级中对log4j的一些思考
最终我们只留下了log4j2 (log4j-core + log4j-api) + logback (logback-classic + logback-core) ,其他的都排除掉,web端打包加编译没有任何问题,一切还是那么的美好(毕竟花了一天时间)在 spark3.1中采用的是log4j1 (log4j + slf4j-log4j2),spark 3.5中采用的是log42(log4j-core + log4j-api + log4j-slf4j2-impl),原创 2023-11-27 23:25:11 · 1611 阅读 · 0 评论 -
数据湖的选型(delta iceberg hudi)以及比对
支持update,支持upsert(merge),具体看类IcebergSparkSqlExtensionsParser.replaceRowLevelCommands。分区是隐藏的,在查询时不需要添加关于分区的筛选条件,建表的时候指定分区的来源(由哪个字段计算而来)Iceberg有catalog的概念,是对表进行管理(create,drop等)的一个组件。需要额外的服务治理小文件,额外的服务清理过期的snapshot。支持多种存储,如 S3,oss,HDFS 等。支持 flink sql upsert。原创 2023-04-18 08:50:20 · 1308 阅读 · 0 评论 -
scala中的self =>
在scala的一些开源项目的源码中总是能看到类似self =>关键字,那这到底代表什么呢?在此,记录一下,仅作为笔记this 别名这种相当于给this起了一个别名self,这里的self可以换成其他的你自己喜欢的字符串,看一下spark的源码sparkSession的定义:class SparkSession private( @transient val sparkContext: SparkContext, @transient private val existingS原创 2020-12-10 10:47:02 · 538 阅读 · 0 评论 -
DevOps是什么
DevOps的维基百科定义是:DevOps是一组过程、方法与系统的统称,用于促进开发、技术运营和质量保障(QA)部门之间的沟通、协作与整合。具体每个步骤就是:plancodebuildtestreleasedeployoperatormonitorplancode…一张图总结:也就是说 开发 测试 部署 操作 监控 一系列的操作形成一个闭环,具体的流程就是,运维人员在项目开发阶段就渗入到项目中,从而提供跟好的部署监控等运维方案,而开发人员也得在运维部署阶段渗入到运维工作原创 2020-11-06 16:50:21 · 667 阅读 · 0 评论 -
【有感】是否应该拥抱开源以及反哺社区
有时候就是很纠结,是否应该积极的参与开源社区,一则是自己修改的开源社区的代码,很想进行合并到社区中二是参与开源,会消耗到很大一部分时间三是工作也会消耗自己很大一部分时间,如遇到周末或者节假日,就想尽情的浪一圈四是看到各种开源项目的contributing这一项,这种对于没有接触过开源项目的开发者来说,无疑是一种煎熬但是今天看到从硅谷到小米,崔宝秋的25年开源人生这篇文章,其中涉及到小米的开源5大原则“快”“绝不重复造轮子”“不用则已,要用则精”“坚持开放与共享”“在重大项目上极力推出自己原创 2020-11-02 17:57:58 · 262 阅读 · 0 评论