摘要: 问题描述:DataFrame的join结果不正确,dataframeA(6000无重复条数据) join dataframeB(220条无重复数据,由dataframeA转化而来,key值均源于dataframeA) 只有200条数据,丢了20条 问题验证: 1,查询丢的20条数据,均无异常,不存在 阅读全文
posted @ 2021-10-21 11:54 梦里繁花 阅读(135) 评论(0) 推荐(0) 编辑
摘要: 最近面试了静极思动,面试了不少大数据相关岗位。总结了一下考察的相关范围: 1、Java基础 出乎意料,大数据岗也会问一下不少Java的知识,像 多线程、JVM内存管理、四种引用、GC机制、CMS和G1区别 都是考察的重点 2、算法 HiveSQL 经典:分组TopN、连续值求解问题 经典算法:超内存 阅读全文
posted @ 2021-09-23 09:49 梦里繁花 阅读(16) 评论(0) 推荐(0) 编辑
摘要: common join 普通join,性能较差,存在Shuffle map join 适用情况:大表join小表时,做不等值join 原理:将小表数据广播到各个节点,存储在内存中,在map阶段直接join,不需要进行reduce,没有了shuffle 优点:性能大大提高 限制:小表需要在内存中放的下 阅读全文
posted @ 2021-08-31 16:40 梦里繁花 阅读(62) 评论(0) 推荐(0) 编辑
摘要: 分区器作用:决定该数据在哪个分区 概览: 仅仅只有pairRDD才可能持有分区器,普通RDD的分区器为None 在分区器为None时RDD分区一般继承至父RDD分区 初始RDD分区数: 由集合创建,RDD分区数为cores总数 由本地文件创建,RDD分区数为本地文件分片数 由HDFS文件创建,RDD 阅读全文
posted @ 2021-08-23 15:40 梦里繁花 阅读(19) 评论(0) 推荐(0) 编辑
摘要: 主要是基于2种情形 1) 提供读只取/只写入方法,不能随意读写 2)做赋值时变量控制,比如设定值的区间范围等 例子: object test{ def main(args: Array[String]): Unit = { val person = new person person.name_=( 阅读全文
posted @ 2021-08-16 17:04 梦里繁花 阅读(13) 评论(0) 推荐(0) 编辑
摘要: 在scala源码中有大量的:_*,其作用是把Array、list转换为参数列表,作为变长参数传入参数列表 例子: def sumx(a:Int*)={ a.sum } val a=Range(1,9) println(a.toString) println(sumx(a:_*)) 阅读全文
posted @ 2021-08-16 14:57 梦里繁花 阅读(25) 评论(0) 推荐(0) 编辑
摘要: 普通的try-catch-finally Try{ } catch{//不加catch向上抛出异常 case _=> } finally{//一般是资源关闭 } 普通的try-finally Try{ } finally{//一般是资源关闭 } try-finally,没有抛出异常,还是会报错,只不 阅读全文
posted @ 2021-08-16 10:34 梦里繁花 阅读(46) 评论(0) 推荐(0) 编辑
摘要: 1、打开spark.sql.adaptive开关 阅读全文
posted @ 2021-08-15 21:39 梦里繁花 阅读(31) 评论(0) 推荐(0) 编辑
摘要: 建议git本身日常的代码提交工作建议使用命令行,涉及修改对比等再用图形化工具 1、打开git 命令行工具 在pull下来的git工程目录,右键git Bash Here 2、打开git TortoiseGit 的差异对比 在pull下来的git工程目录,右键TortoiseGit --差异对比(英文 阅读全文
posted @ 2020-01-08 10:01 梦里繁花 阅读(116) 评论(0) 推荐(0) 编辑
摘要: 该问题先标记上,之后有空了研究原因。 在var dataframe后将dataframe作为参数输入某方法,将结果重新赋予该dataframe,会导致spark运行显著减慢速度。暂时不知道原因,之后研究(可以去stackoverflow提问)将数据来源改为val之后运行速度显著提高。超过100倍速度 阅读全文
posted @ 2019-12-14 19:14 梦里繁花 阅读(393) 评论(0) 推荐(0) 编辑