自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(35)
  • 收藏
  • 关注

转载 浅析 Spark Shuffle 内存使用

在使用 Spark 进行计算时,我们经常会碰到作业 (Job) Out Of Memory(OOM) 的情况,而且很大一部分情况是发生在 Shuffle 阶段。那么在 Spark Shuffle 中具体是哪些地方会使用比较多的内存而有可能导致 OOM 呢? 为此,本文将围绕以上问题梳理 Spark 内存管理和 Shuffle 过程中与内存使用相关的知识;然后,简要分析下在 Spark S...

2019-09-22 09:35:00 186

转载 通过 spark.files 传入spark任务依赖的文件源码分析

版本:spak2.3相关源码:org.apache.spark.SparkContext在创建spark任务时候,往往会指定一些依赖文件,通常我们可以在spark-submit脚本使用--files /path/to/file指定来实现。但是公司产品的架构是通过livy来调spark任务,livy的实现其实是对spark-submit的一个包装,所以如何指定依赖文件归根...

2019-09-21 16:34:00 523

转载 spark-submit的参数传递源码分析

版本:spark2.3相关源码:org.apache.spark.deploy.SparkSubmitArguments作用:解析并封装spark-submit脚本传递的参数/* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license ...

2019-09-21 14:17:00 1194

转载 Spark 2.x Troubleshooting Guide

IBM在spark summit上分享的内容,包括编译spark源码,运行spark时候常见问题(缺包、OOM、GC问题、hdfs数据分布不均匀等),spark任务堆/thread dump目录编译spark的问题  1.正确配置相关环境,如Maven,JRE  2.显示指定你要集成的功能  3.编译速度比较慢的话,可以根据自己的环境设置多core提高速度...

2019-09-18 07:38:00 139

转载 Spark 2.x 在作业完成时却花费很长时间结束

使用 ApacheSpark2.x 的时候可能会遇到这种现象:虽然SparkJobs 已经全部完成了,但是程序却还在执行。比如我们使用 Spark SQL 去执行一些 SQL,这个 SQL 在最后生成了大量的文件。然后我们可以看到,这个 SQL 所有的 Spark Jobs 其实已经运行完成了,但是这个查询语句还在运行。通过日志,我们可以看到 driver 节点正在一个一个地将 ...

2019-09-16 21:01:00 270

转载 spark任务日志配置

样例代码:public class SparkTest { private static Logger logger = Logger.getLogger(SparkTest.class); public static void main(String[] args) { String db = Configurat...

2019-09-11 22:28:00 825

转载 在spark udf中读取hdfs上的文件

某些场景下,我们在写UDF实现业务逻辑时候,可能需要去读取某个文件。我们可以将此文件上传个hdfs某个路径下,然后通过hdfs api读取该文件,但是需要注意:  UDF中读取文件部分最好放在静态代码块中(只会在类加载时候读取一次)或者放在构造方法中(在实例化的时候执行一次),尤其在处理的数据量比较大的时候,否则会反反复复的读取,造成不必要的开销,甚至任务失败,示例代码如下:...

2019-09-05 17:36:00 869

转载 ParquetDecodingException: Can not read value at 0 in block -1 in file hdfs:...

0: jdbc:hive2://master01.hadoop.dtmobile.cn:1> select * from cell_random_grid_tmp2 limit 1;INFO : Compiling command(queryId=hive_20190904113737_49bb8821-f8a1-4e49-a32e-12e3b45c6af5): selec...

2019-09-04 22:19:00 2590

转载 [转]Spark SQL2.X 在100TB上的Adaptive execution(自适应执行)实践

Spark SQL是Apache Spark最广泛使用的一个组件,它提供了非常友好的接口来分布式处理结构化数据,在很多应用领域都有成功的生产实践,但是在超大规模集群和数据集上,Spark SQL仍然遇到不少易用性和可扩展性的挑战。为了应对这些挑战,英特尔大数据技术团队和百度大数据基础架构部工程师在Spark 社区版本的基础上,改进并实现了自适应执行引擎。本文首先讨论Spark SQL在大...

2019-09-02 19:04:00 126

转载 hbase G1 GC优化

本文借鉴之前HBaseConAsia2017,小米公司对hbase g1 gc的优化分享。此外还可以参考apache官方博客对于hbase g1 gc优化的一篇文章(Tuning G1GC For Your HBase Cluster)g1 gc的优化主要是对一些重要的参数进行调整,然后执行压力测试,分析G1的日志。G1日志处理可以使用HubSpot开发的一个Python工具, 叫做...

2019-09-01 17:13:00 211

转载 G1 collector 介绍

背景:由于CMS算法产生空间碎片和其它一系列的问题缺陷,HotSpot提供了另外一种垃圾回收策略,G1(也就是Garbage First)算法,该算法在JDK7u4版本被正式推出,官网对此描述如下:The Garbage-First (G1) collector is a server-style garbage collector, targeted for multi-proce...

2019-08-31 09:29:00 222

转载 hbase性能优化,看这篇就够了

HDFS(hdfs-site.xml)相关调整dfs.datanode.synconclose = truedfs.datanode.synconclose set to false in hdfs-site.xml: data loss is possible on hard system reset or power lossmount ext4 wi...

2019-08-26 11:16:00 675

转载 Container killed by YARN for exceeding memory limits

19/08/12 14:15:35 ERROR cluster.YarnScheduler: Lost executor 5 on worker01.hadoop.mobile.cn: Container killed by YARN for exceeding memory limits. 5 GB of 5 GB physical memory used. Consider boos...

2019-08-24 09:45:00 815

转载 hbase rowkey 设计

HBase中的rowkey是按字典顺序排序的,通过rowkey查询可以对千万级的数据实现毫秒级响应。然而,如果rowkey设计不合理的话经常会出现一个很普遍的问题----热点。当大量client的请求(读或者写)只指向集群的一个节点,或者很少量的几个节点时,也就代表产生了热点问题。避免产生热点的方式也就是尽可能的将rowkey均匀分散到所有的region上,下面介绍了几种row...

2019-08-21 19:40:00 175

转载 hbase集群region数量和大小的影响

1、Region数量的影响通常较少的region数量可使群集运行的更加平稳,官方指出每个RegionServer大约100个regions的时候效果最好,理由如下:1)Hbase的一个特性MSLAB,它有助于防止堆内存的碎片化,减轻垃圾回收Full GC的问题,默认是开启的。但是每个MemStore需要2MB(一个列簇对应一个写缓存memstore)。所以如果每个region有2...

2019-08-18 21:31:00 1009

转载 为什么不建议在hbase中使用过多的列簇

我们知道,hbase表可以设置一个至多个列簇(column families),但是为什么说越少的列簇越好呢?官网原文:HBase currently does not do well with anything above two or three column families so keep the number of column families in your ...

2019-08-18 21:15:00 896

转载 对已经存在的hbase表修改压缩方式

业务上可能会遇到这种情况,在最初创建hbase表时候,未指定压缩方式,当数据导入之后,由rowkey带来的数据膨胀导致hdfs上的数据大小远远大于原始数据大小。所以这时候可能就不得不考虑使用压缩,但是如果将表删除,再创建一张指定压缩的表,再重新导入数据未免太浪费时间。当然也完全不用这样,可以直接修改hbase表的压缩方式,然后在执行major_compact即可disabl...

2019-08-18 10:32:00 928

转载 Hbase多版本(version)数据写入和读取

1. 首先创建一个支持多版本的hbase表create 'dsi2018s03:testVersion',{NAME => 'f1', VERSIONS => 2}2.put几条测试数据put 'dsi2018s03:testVersion','10001','f1:name','jack1'put 'dsi2018s03:tes...

2019-08-18 09:55:00 1064

转载 hive explode 行拆列

创建一张表test_explode,表结构如下表数据如下:1.使用explode函数select explode(friends) as friend from test_explode;但是只使用explode函数很难满足实际需求,原因如下:  1.1 No other expressions are allowed in SEL...

2019-08-18 09:45:00 122

转载 通过livy向CDH集群的spark提交任务

场景产品中需要通过前端界面选择执行某种任务(spark任务),然后通过livy 的restful api 提交集群的spark任务简单介绍下livy,翻译自官网:Livy是基于Apache许可的一个服务,它可以让远程应用通过REST API比较方便的与Spark集群交互。通过简单的REST接口或RPC客户端库,它可以让你轻松的提交Spark作业或者Spark代码片...

2019-08-13 15:05:00 868

转载 导入spark2.3.3源码至intellij idea

检查环境配置maven环境   2.检查scala插件没有的话可以到https://plugins.jetbrains.com/plugin/1347-scala/versions 下载与idea对应的scala插件导入源码1. 到官网下载对应版本的源码2. 执行导入转载于:https://w...

2019-08-11 15:31:00 233

转载 case when多条件

SELECT label ,label3 ,lon_cen ,lat_cen ,lon3 ,lat3 ,antenna_height ,horizontal_angle ,CASE WHEN round(atan((antenna_height / (2 * distance(lon3, lat3, lon_cen, lat_cen)))) *...

2019-08-09 16:22:00 472

转载 spark sql/hive小文件问题

针对hive on mapreduce1:我们可以通过一些配置项来使Hive在执行结束后对结果文件进行合并:参数详细内容可参考官网:https://cwiki.apache.org/confluence/display/Hive/Configuration+Propertieshive.merge.mapfiles 在 map-only job后合并文件,默认true...

2019-08-07 10:25:00 527

转载 sparksession创建DataFrame方式

spark创建dataFrame方式有很多种一:通过类反射机制举两个例子1.通过List<java bean>创建dataFrame /** * Applies a schema to a List of Java Beans. * * WARNING: Since there is no guaranteed ordering ...

2019-08-01 17:46:00 2407

转载 spark读取pg数据库报错操作符不存在

代码: Properties connectionProperties = new Properties(); connectionProperties.put("user", Constants.PG_USERNAME); connectionProperties.put("password", Constants.PG_PASSWD); conn...

2019-08-01 11:21:00 333

转载 SQL join

SQL join 用于把来自两个或多个表的行结合起来。下图展示了 LEFT JOIN、RIGHT JOIN、INNER JOIN、OUTER JOIN 相关的 7 种用法。转载于:https://www.cnblogs.com/dtmobile-ksw/p/11261930.html...

2019-07-29 08:51:00 54

转载 spark任务调度模式,动态资源分配

官网链接:http://spark.apache.org/docs/latest/job-scheduling.html主要介绍:1 application级调度方式2 单个application内job的调度方式转载于:https://www.cnblogs.com/dtmobile-ksw/p/11253850.html...

2019-07-29 08:48:00 475

转载 SparkSQL的自适应执行---Adaptive Execution

1 背景本文介绍的 Adaptive Execution 将可以根据执行过程中的中间数据优化后续执行,从而提高整体执行效率。核心在于两点执行计划可动态调整调整的依据是中间结果的精确统计信息2 动态设置 Shuffle Partition2.1 Spark Shuffle 原理如上图所示,该 Shuffle 总共有 2 个 M...

2019-07-27 11:15:00 797

转载 spark通过JDBC读取外部数据库,过滤数据

官网链接:http://spark.apache.org/docs/latest/sql-programming-guide.html#jdbc-to-other-databaseshttp://spark.apache.org/docs/latest/sql-data-sources-jdbc.html1. 过滤数据情景:使用spark通过JDBC的方式读取postg...

2019-07-25 17:55:00 702

转载 java 线程池newFixedThreadPool

工作中遇到一个这样的情况,List中的元素要每个遍历出来,然后作为参数传给后面通过spark做数据处理,元素太多,一个一个的遍历速度太慢,于是考虑使用多线程,代码如下:(已删除部分代码)想了解更多线程池的内容,可以参考链接:https://blog.csdn.net/aa1215018028/article/details/82814192package com.kong.t...

2019-07-25 10:53:00 136

转载 基于sparksql collect_list的udf定义踩坑

多条collect_list,然后将collect_list的结果concat起来,最初使用的是concat_ws(),但是发现超过4个collect_list就会报错,select concat_ws("|",collect_list(concat_ws(',',n_cgi_1,ltencrsrp_1)),collect_list(concat_ws(',',n_cgi...

2019-07-25 10:33:00 1012

转载 hive动态分区与静态分区

测试目的:1.分区表的动态分区与静态分区2.每层数据,数据流向,数据是否在每层都保留一份测试结果:1.动态分区/静态分区略2.每层表的数据都会保留,因此在生产上odm层的数据是可以删除的(不管是内表还是外表)数据源:1,jack,shanghai,201901292,kevin,beijing,201901303,lucas,hangzhou,201901294,lily,hangz...

2019-07-09 21:31:00 87

转载 sqoop与PG库导入导出数据

导入数据到Hivesqoop import --connect jdbc:postgresql://172.66.6.666/radar5g4h --username postgres --password 1234 \--query " select antenna_model,type,theta,gain from wcnos_antenna_beam where \$...

2019-07-09 13:37:00 1805

转载 自定义genericUDF demo

package cn.com.dtmobile.hiveUdf;import org.apache.hadoop.hive.ql.exec.UDFArgumentException;import org.apache.hadoop.hive.ql.exec.UDFArgumentLengthException;import org.apache.hadoop.hi...

2019-07-08 09:34:00 229

转载 hive concat_ws源代码

其他相关源码可以到以下链接查看:https://github.com/apache/hive/tree/master/ql/src/java/org/apache/hadoop/hive/ql/udf/genericpackage org.apache.hadoop.hive.ql.udf.generic;import org.apache.ha...

2019-07-08 09:06:00 469

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除