![](https://img-blog.csdnimg.cn/20201014180756930.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
spark
功夫猫熊yeah
吃瓜群众
展开
-
spark rdd model
原创 2020-06-03 23:41:26 · 311 阅读 · 0 评论 -
sparksql process
Spark SQL :SQL 具有普及率高、学习成本低等特点,为了扩大 Spark 的应用面,增加了对 SQL 及 Hive 的支持。Spark SQL 的过程可以总结为:首先使用 SQL 语句解析器(SqlParser)将 SQL 转换为语法树(Tree),并且使用规则执行器(RuleExecutor)将一系列规则(Rule)应用到语法树,最终生成物理执行计划并执行。其中,规则执行器包括语法分析器(Analyzer)和优化器(Optimizer)。Hive 的执行过程与 SQL 类似。...原创 2020-06-03 23:31:12 · 277 阅读 · 0 评论 -
spark-sql按照分区查询,扫描全表问题定位和解决
spark-sql利用类似如下命令添加了新字段新增字段:use mart_flow_test;alter table detail_flow_test add columns(original_union_id string);在按照分区查询,发现sql并不是只扫描该分区下的文件,而是进行了全表扫描,分析原因,可能是添加了新字段后 元数据没有刷新,于是refresh table 表名...原创 2020-04-24 21:18:24 · 2354 阅读 · 1 评论 -
spark trouble shooting之过滤掉gzip不能解压的错误文件
简介明了添加如下配置:--conf spark.files.ignoreCorruptFiles=true如果大家对怎么找到这个问题,以及最终解决的全过程感兴趣,请继续往下看:在大数据处理过程中,必然会存在这样的问题,要处理的源文件可能由于网络传输等各种原因导致上传上来的文件不完整,那么遇到这种问题该如何处理呢?如题在处理大数据问题时候,由于读取gzip文件使用的是如下代码来读取的:#...原创 2020-03-11 23:16:18 · 649 阅读 · 2 评论 -
spark滥用count方法的后果,去掉count后,性能提升1倍
建好的代码如下val result1 =sparksession.sql("select dxkk")//假设这个sql很耗时,1hval executorBalanced = new BalancedClickhouseDataSource(jdbcLink, properties) val executorConn = executorBalanced.getConnection.a...原创 2020-03-10 18:29:15 · 2923 阅读 · 2 评论 -
spark写入mongo,性能提升10倍+
原来代码:finalDf.rdd.repartition(100).foreach(itm => { val InsertOne = new Document("app", itm(0)).append("day", itm(1)).append("hour", itm(2)).append("adx", itm(3)) //单条插入: mongoConn.withCo...原创 2020-01-14 21:29:19 · 1100 阅读 · 0 评论 -
spark假死现象分析
ss.sql( s""" insert overwrite table test.test1 partition(day='$Day', hour) select adx, geo_country as country, connectiontype ...原创 2020-01-10 22:23:19 · 1183 阅读 · 1 评论 -
Missing database name. Set via the 'spark.mongodb.output.uri' or..问题解决
spark数据入mongo报错:User class threw exception: java.lang.IllegalArgumentException: Missing database name. Set via the 'spark.mongodb.output.uri' or 'spark.mongodb.output.database' propertyval conf = n...原创 2020-01-10 13:14:46 · 1679 阅读 · 1 评论 -
Cluster deploy mode is not compatible with master "local"解决办法
spark-submit --deploy-mode cluster --executor-memory 4G --executor-cores 4 --conf spark.executor.memoryOverhead=1000 --conf spark.hadoop.mapreduce.fileoutputcommitter.algorithm.version=2 --conf spark...原创 2019-12-13 10:39:31 · 3058 阅读 · 0 评论 -
scala s函数 $如何原样输出
s函数是scala特有的用来拼接字符串的函数,使用非常方便,例如val a="apple"val b = s"I love $a"println(b)那么输出为I love apple那么问题来了,如果我要输出//I love 美元 $那么要怎么输出呢?这样吗?val a="美元"val b = s"I love $a$"println(b)这样输出是会报错的查...原创 2019-12-11 16:29:48 · 754 阅读 · 0 评论 -
hive行转列,遇到的坑(转化也不报错,但就是转不了)
hive行转列一般都是用如下语句:SELECT media_id FROM dmp.test lateral view explode(app_list) num as media_id where day= '20191130' and upper(ifa) rlike '^[a-zA-Z0-9._-]{2,}$' limit 10;其中app_list 字段是一个 array[str...原创 2019-12-02 20:23:07 · 702 阅读 · 0 评论 -
spark注册udf函数
spark里面如何注册udf函数例子如下:/注册udf函数ss.udf.register("myarray_contains", (参数列表) => {方法体})实例如下:/注册udf函数ss.udf.register("myarray_contains", (Bu: String, Tags:String, TagName:String, SrcStr: String) ...原创 2019-11-27 10:12:07 · 2419 阅读 · 0 评论 -
大数据场景的组件选择
批处理场景该场景对磁盘吞吐和网络吞吐要求高,处理的数据量也大,但对数据处理的实时性要求不高,您可选用 MapReduce、Pig、Spark 组件。该场景对内存要求不高,选型时您需要重点关注大作业对 CPU 和内存的需求,以及 Shuffle 对网络的需求。Ad-Hoc 查询数据科学家或数据分析师使用即席查询工具检索数据。该场景对查询实时性、磁盘吞吐和网络吞吐要求高,您可选用 E-MapRedu...原创 2019-11-05 11:36:09 · 397 阅读 · 0 评论 -
Container killed by YARN for exceeding memory limits. xx GB of xx GB physical memory used.
spark跑任务,偶尔报如下错误:===19/11/03 07:40:27 ERRORYarnClusterScheduler: Lost executor 28 on ip-10-19-201-115.ec2.internal:Container killed by YARN for exceeding memory limits. 24.0 GB of 24 GB physical ...原创 2019-11-05 10:47:47 · 1118 阅读 · 0 评论 -
sbt安装(windows)
https://www.scala-sbt.org/Win+R键然后输入sbt #输入就可以进入sbt的操作了原创 2019-09-17 11:53:19 · 147 阅读 · 0 评论 -
spark2.x读取csv文件
spark2.x读取csv文件,写入到文件系统中(例如hdfs s3 或者本地)println("day:::"+day)ss.read.format("csv").option("header", "true").option("delimiter", "\t").option("mode", "DROPMALFORMED").csv(s"D://mcd-user-$day.txt").cr...原创 2019-09-10 15:04:03 · 1095 阅读 · 0 评论 -
如何发现数据倾斜的key
如何过滤数据倾斜的key如下可以看出来那个key的数量多select ifa,cnt from (select ifa,count(ifa) cnt from dmp.tbl_7 group by ifa) a order by a.cnt desc;然后再处理时候将这几个key去除掉就好了...原创 2019-08-02 20:52:48 · 1362 阅读 · 0 评论 -
spark缓解数据倾斜
通过下面代码设置shuffle分区,可以缓解数据倾斜ss.sql("set spark.sql.shuffle.partitions=3800")val aggrSql ="select * from aaa"ss.sql("aggSql")原创 2019-07-25 17:59:56 · 77 阅读 · 0 评论 -
sparksql 优化,性能提高了3-4倍
这几天代码跑得特别慢,一个大sql跑4-6h,着实急人,大sql如下:val bidDetailDf=ss.sql( s"""select app,day,hour,adx,os,osv,country,impType, sum(cnt) as cnt,sum(request) as request, sum(response) as response, sum(bid) as bid, ...原创 2019-07-25 21:49:27 · 3261 阅读 · 3 评论 -
《深入理解Spark》之通过sample算子找出导致数据倾斜的key(scala版本)
作者:lyzx_in_csdn来源:CSDN原文:https://blog.csdn.net/lyzx_in_csdn/article/details/79948799版权声明:本文为博主原创文章,转载请附上博文链接!原作者为: 具体的文字描述也是原作者写的,但是原作者对代码的实现使用的是java来实现的,一般情况处理spark 使用scala的比较多,所有,有兴趣利用scala进行了相关...原创 2019-08-03 12:44:05 · 398 阅读 · 0 评论 -
美团团队spark优化
美团团队写的一篇spark性能优化的博文,感觉不错转载下:地址如下:https://tech.meituan.com/2016/04/29/spark-tuning-basic.html转载 2019-07-23 11:07:45 · 259 阅读 · 0 评论 -
创建的maven项目无法创建scala class 解决办法
idea在创建maven的flink项目后,发现new时候没有scala class如下图所示:这时候可以,new一个File,命名为aaa.scala,然后idea就会提醒导入SDK,如下图点击红框位置的Setup Scala SDK,会出现如下界面点击ok即可,这下再new就可以找到创建scala class 了如果还不行点击File→Project Structure 如图:...原创 2019-08-06 23:49:26 · 1212 阅读 · 0 评论 -
spark通过web ui定位错误
查看代码:修改后的代码:程序运行正常原创 2019-08-09 19:43:52 · 665 阅读 · 0 评论 -
sparksql通过hash算法使得总体性能提高39%
优化前总任务使用时间:1小时43min=103min优化后,总任务使用时间:1小时20分钟=80min优化的效率提升了,1-80/130=39%性能提高了39%默认不配置 exutors-cores excutor-cores 为4 那么如下配置:那么没利用的cores就只有19*4=76个core,提交的脚本如下:spark-submit --deploy-mode clus...原创 2019-08-23 20:21:42 · 766 阅读 · 0 评论 -
十亿级表和亿级表join不动的解决方案
在开发中遇到问题表t_dmp_idfa_bundle_country_array_middle_tbl (后面简称表1)一个分区的数据量是40亿临时表t_ifa_tbl (后面简称表2)数据量3亿条数据表1 left join 表2 ,直接就挂掉了错误一般是类似于如下的错误BlockManagerMasterEndpoint: No more replicas available fo...原创 2019-08-21 20:09:31 · 2722 阅读 · 1 评论 -
数据倾斜典型例子
如上图所示,一个task跑了20min没完,其他的1min左右就完了,典型的数据倾斜原创 2019-08-26 19:26:53 · 496 阅读 · 0 评论 -
避免 SQL 反模式
避免 SQL 反模式以下最佳做法提供了相关指导,说明如何避免在 BigQuery 中使用会影响性能的查询反模式。自联接最佳做法:避免使用自联接,请改用窗口函数。通常情况下,自联接用于计算依赖于行的关系。如果使用自联接,则可能导致输出行数翻倍。输出数据的增加可能会导致性能变差。如果不使用自联接,而使用窗口(解析)函数,则可以减少查询生成的额外字节数。数据倾斜最佳做法:如果您的查询处理的...原创 2019-09-05 19:43:14 · 152 阅读 · 0 评论 -
spark cache 和presist与unpresist的使用方式
spark的 presist和unpresist的正确使用方式见如下连接一旦,使用错误,就会造成rdd没有被重复利用上,正确方式如下链接spark 数据持久化与释放原创 2019-07-30 16:07:38 · 717 阅读 · 0 评论