摘要: 准备: Client Version: version.Info{Major:"1", Minor:"21", GitVersion:"v1.21.3", GitCommit:"ca643a4d1f7bfe34773c74f79527be4afd95bf39", GitTreeState:"clea 阅读全文
posted @ 2021-07-28 15:29 周周周文阳 阅读(792) 评论(0) 推荐(0) 编辑
摘要: 场景: 通过stream将 List<A>转化为List<B> 。 其中B类中存在某个方法 public B fromA(A a); 具体代码如下 package cn.zwy; import java.util.ArrayList; import java.util.List; import ja 阅读全文
posted @ 2021-06-24 11:37 周周周文阳 阅读(255) 评论(0) 推荐(0) 编辑
摘要: 背景 springboot的data jpa是支持elasticsearch的。在springboot2.3之前,连接es的端口是9300,但实测下来各种版本之间对应关系很复杂,springboot2.3【注:具体哪个版本没有实测】之后可以配置rest接口方式连接es,理论上可以适配所有版本的es了 阅读全文
posted @ 2021-06-24 09:55 周周周文阳 阅读(1205) 评论(0) 推荐(0) 编辑
摘要: 背景 spark的transform是lazy模式的,只有当action时才会触发真正的执行。大部分情况下,如果某个df、rdd下游有多个链路,为了避免重复执行,一般会对该算子进行cache 场景 在某个stage阶段,存在一个RDD,transform完成后可能存在数亿的结果 在调试阶段,我们需要 阅读全文
posted @ 2021-05-08 10:38 周周周文阳 阅读(210) 评论(0) 推荐(0) 编辑
摘要: 背景 在实际的项目中,遇到了一个场景: spark启动后,在执行部分java/scala算法后需要调用python实现的算法。python和java算法预先不能部署到服务器,因为客户可能随时扩展算子 方案: 动态调用java算法方案不赘述。大致思路就是部署一个web容器,该容器内实现一个主驱动类en 阅读全文
posted @ 2021-04-28 18:13 周周周文阳 阅读(612) 评论(0) 推荐(1) 编辑
摘要: 背景: spark3新增动态裁剪。现尝试将spark2升级到spark3 当前版本:spark 2.4.1,scala 2.11.12 目标版本:spark 3.1.1, scala 2.12.13 异常记录: 异常1 java.lang.NoClassDefFoundError: org/apac 阅读全文
posted @ 2021-04-13 18:01 周周周文阳 阅读(2235) 评论(0) 推荐(0) 编辑
摘要: 背景 sparkJDBC在写入时提供了overwrite模式。当写入数据之前,会将之前的表drop掉,然后根据DataFrame类型推断生成Create语句新建一张表。 在某些小众的数据库,spark内部没有提供对应的方言。这是spark会使用一个NoopCommon的默认方言,这时候很容易推断错误 阅读全文
posted @ 2021-03-31 09:36 周周周文阳 阅读(852) 评论(0) 推荐(1) 编辑
摘要: Spark JDBC方案 查询下垂研究: spark jdbc连接mysql: context.sparkSession.read.format("jdbc").options(config.toSparkJDBCMap).load().selectExpr("title").filter("pho 阅读全文
posted @ 2021-03-11 11:46 周周周文阳 阅读(1941) 评论(0) 推荐(0) 编辑
摘要: kerberos,一种反人类的安全验证模式,在大数据领域居然用的很多。 elasticsearch,一种存储引擎。目前研究下来,flink和spark都是居于http方式去读写的。 HttpClient方式 public static HttpClient buildSpengoHttpClient 阅读全文
posted @ 2021-03-03 22:37 周周周文阳 阅读(2494) 评论(0) 推荐(0) 编辑
摘要: 背景 sparkSQL 自带了很多输入和输出方式 但很多时候需要添加其他输入输出方式例如 hbase、socket、websocket、excel等 输出 以websocket输出为例 最终消息发送的代码: df.write.format("cn.zwy.websocket") .option("u 阅读全文
posted @ 2021-01-27 16:28 周周周文阳 阅读(355) 评论(0) 推荐(0) 编辑