spark
文章平均质量分 64
hankl1990
show me the code
展开
-
记一次jar包冲突导致的问题
1:现象:我在本地运行的时候总是报错,这个错误经过我的排查是和引入的hbase的依赖有关系。报错如下:Exception in thread "main" java.lang.NoSuchMethodError: org.apache.hadoop.conf.Configuration.getPassword(Ljava/lang/String;)[C at org.apache.spark.SSLOptions$$anonfun$8.apply(SSLOptions.scala:188) a原创 2021-05-06 14:52:57 · 438 阅读 · 2 评论 -
Spark 图解 Backend 通信
主要的组件就是两个: CoarseGrainedSchedulerBackend extends SchedulerBackend CoarseGrainedExecutorBackend extendsExecutorBackend DriverEndPoint原创 2020-10-10 16:41:43 · 246 阅读 · 0 评论 -
Spark 图解源码系列之:SparkStreaming Receiver是如何接收数据的?
假期不能闲着,水一篇文章,各位看官看过来~涉及到的几个主要的角色: ReceiverSupervisor ReceiverSupervisorImpl (实现类) Receiver BlockGenerator BlockManager ReceiverTracker总体流程大致的说一下:一切从 流 开始我们以 SocketInputDStream 为例子来讲解下面的这个图是整个的流程详解:是在是没办法,转为图片6M+超过了可以上传的..原创 2020-10-07 17:41:54 · 148 阅读 · 0 评论 -
面试系列之:spark中常用经典算子的源码剖析
1:使用cogroup实现join cogroup 算子初探:这是一个用途很广泛的算子在底层实现上 val appName = this.getClass.getSimpleName.dropRight(1) val spark = SparkSession.builder().master("local[*]").appName(appName).getOrCreate() val map1 = Seq('a' -> 1, 'b' -> 2, 'c' ->.原创 2020-09-15 16:15:43 · 320 阅读 · 0 评论 -
面试系列之:Spark Architecture: Shuffle
感觉还是看看原味的英文文章吧,写得很好~This is my second article about Apache Spark architecture and today I will be more specific and tell you about the shuffle, one of the most interesting topics in the overall Spark design. The previous part was mostly about general Spa转载 2020-09-08 13:55:20 · 186 阅读 · 0 评论 -
Spark 写入 MySQL 乱码问题
1:检查你的mysql的编码,笔者建议都调整为UTF-8(这一步很简单不多说了就),还有就是保证你的数据源的编码,可以先show一下看看是否是乱码,然后再继续进行。2:检查你的插入语句:val prop = new java.util.Propertiesprop.setProperty("user", "root")prop.setProperty("password", "123456")city.write.mode(SaveMode.Append).jdbc("jdbc:mysql原创 2020-08-11 09:26:13 · 1229 阅读 · 0 评论 -
spark中那些你不得不知道的基础概念(名词)
RDDstagejobshuffle宽窄依赖DAGlineage原创 2020-08-10 14:13:02 · 100 阅读 · 0 评论 -
spark 源码之---DAGScheduler 耐心看完之后绝对有收获,
忍不住先上一段官方的注释,感觉真的很好,不用看博客,就看这个,最原汁原味,还准确~/** * The high-level scheduling layer that implements stage-oriented scheduling. It computes a DAG of * stages for each job, keeps track of which RDDs and stage outputs are materialized, and finds a * minim.原创 2020-08-07 17:28:09 · 294 阅读 · 0 评论 -
经典面试题目之:groupbykey 和 reducebykey以及aggregatebykey 的区别?
从源码层面来看看吧,别的都显得比较苍白,源码的实现是一方面,还有笔者觉得我们更要养成多读源码里的注释的习惯,个人觉得spark源码里的注释做的相当之良心,可以让你少走很多弯路,快速的理解源码都实现了什么。走起~groupbykey : 这个算子总给人一共食之无味弃之可惜的感觉,因为很多时候我们并不使用它,并且很多场景下你使用他都会被当作一个优化的场景,比如...原创 2020-05-03 19:22:45 · 900 阅读 · 2 评论 -
源码走读篇之:spark读取textfile时是如何决定分区数的
前言: 关于源码的文章,我自己其实也一直在有道云上有总结一些,犹豫平日里上班的缘故,着实没有太多的精力来写体系的写这些东西,但是,却着实觉得这些东西其实还是很重要的,特别是随着工作时间的渐长,越发觉得源码这个东西还是必须要看的,能带来很多的启发,我个人的体会是,每个工作阶段去解读都会有不一样的感受。 我也不敢说去解读或者说让你彻底搞个明白,自己确实没有那个水平。我...原创 2020-05-03 10:09:18 · 1250 阅读 · 1 评论 -
面试系列之:dynamic allocate executor 我为什么不建议你使用
dynamic allocate executor 感觉好拽的能力,动态分配哦,好腻害的样子噢。万事大家,妈妈再也不用担心我到底该配置多少 资源合适了,又保住了好几根银发。面试官再问我我是如何估计资源的,我就把这个参数甩她胸口~真的是这样子的吗?现实真的是这么美好吗?你是第一天出来混吗?这个在官网上有但是没被我看到过的参数,真的那么好用吗?看我口型 NO你以为公司的...原创 2020-02-18 20:23:46 · 234 阅读 · 0 评论 -
SparkStreaming中使用 多线程
感觉这个两个之间联系很紧密,好像又感觉是在搞事情,SparkStreaming 里面很多本身难道不就是多线程的吗?这个吧,怎么说呢?有个比较骚的操作就是在foreachRdd里用多线程来解决问题,这个操作着实很闷骚。在工程实践中我也实践过,或者说测试过,确实很骚,不过吧,如果把控不到位的话,让你骚的不知所以,直接嗝屁。这个sao操作大概是酱紫的:dstream.foreachRdd(rdd=...原创 2020-02-18 20:09:23 · 951 阅读 · 0 评论 -
Spark SQL 源码分析之 In-Memory Columnar Storage 之 cache table
转子:http://blog.csdn.net/oopsoom/article/details/39525483 /** Spark SQL源码分析系列文章*/ Spark SQL 可以将数据缓存到内存中,我们可以见到的通过调用cache table tableName即可将一张表缓存到内存中,来极大的提高查询效率。 这就涉及到内存中的数据的存储形式,我们知道基于关转载 2017-09-19 17:09:45 · 443 阅读 · 0 评论 -
HDFS日志json转存成parquet方案
转:http://blog.csdn.net/jobschen/article/details/77196092收集的业务数据为json格式,准备利用parquet 格式重新存储到hive表,以节约空间并方便后续通过spark 或 hive 进行分析查询。(示例代码是用python) 具体步骤是: 1. 用spark读取json数据后,得到一个dataframe转载 2017-10-30 11:49:49 · 2105 阅读 · 0 评论 -
将 Spark 中的文本转换为 Parquet 以提升性能
转:http://blog.csdn.net/javastart/article/details/50999652列式存储布局(比如 Parquet)可以加速查询,因为它只检查所有需要的列并对它们的值执行计算,因此只读取一个数据文件或表的小部分数据。Parquet 还支持灵活的压缩选项,因此可以显著减少磁盘上的存储。0评论:JESSE F. CHEN, 软件转载 2017-10-30 11:01:05 · 390 阅读 · 0 评论 -
Spark 之 API
点击打开链接链接:http://spark.apache.org/docs/latest/api/scala/index.html#org.apache.spark.sql.Dataset原创 2017-10-27 10:59:00 · 290 阅读 · 0 评论 -
spark 之 SparkSQL
转:http://www.jianshu.com/p/9e3915bad1f8SparkSQL-从DataFrame说起 – 有态度的HBase/Spark/BigData http://hbasefly.com/2017/02/16/sparksql-dataframe/写在文章之前本着更好地理解大数据生态圈的本意以及工作的需要,前段时间熟悉了SQL查询引擎Spar转载 2017-10-27 10:28:37 · 229 阅读 · 0 评论 -
Spark 之 shuffle优化
转子:http://outofmemory.cn/spark/spark-performance-tuning-shuffleSpark的性能分析和调优很有意思,今天再写一篇。主要话题是shuffle,当然也牵涉一些其他代码上的小把戏。以前写过一篇文章,比较了 几种不同场景的性能优化 ,包括portal的性能优化,web service的性能优化,还有Spark job的性能优转载 2017-09-21 14:18:46 · 259 阅读 · 0 评论 -
spark 之 把hive里的表和myslq 里的表做计算
转自:http://blog.csdn.net/zfszhangyuan/article/details/52702238前面几篇博客说了如何读取mysql数据库中的表到DataFrame中以及如何将结果写入到mysql中今天这个实例主要实现应用sparksql完成用户日志数据的提取并转换成DataFrame(我们将其定义为表 user)另外我们要从mysql数据库中load一转载 2017-09-28 15:09:09 · 266 阅读 · 0 评论 -
Spark SQL中实现Hive MapJoin
转自:http://blog.csdn.net/zhoudetiankong/article/details/52639458转载地址:http://lxw1234.com/archives/2015/06/296.htm在Hive中,如果一个很大的表和一个小表做join,Hive可以自动或者手动使用MapJoin,将小表的数据加载到DistributeCache中,从转载 2017-09-28 14:54:34 · 2333 阅读 · 0 评论 -
Spark map-side-join 关联优化
转自:http://blog.csdn.net/lsshlsw/article/details/50834858将多份数据进行关联是数据处理过程中非常普遍的用法,不过在分布式计算系统中,这个问题往往会变的非常麻烦,因为框架提供的 join 操作一般会将所有数据根据 key 发送到所有的 reduce 分区中去,也就是 shuffle 的过程。造成大量的网络以及磁盘I转载 2017-09-28 14:14:15 · 333 阅读 · 0 评论 -
Spark 之 数据倾斜调优
转自:http://www.infoq.com/cn/articles/the-road-of-spark-performance-tuning为何要处理数据倾斜(Data Skew)什么是数据倾斜对Spark/Hadoop这样的大数据系统来讲,数据量大并不可怕,可怕的是数据倾斜。何谓数据倾斜?数据倾斜指的是,并行处理的数据集中,某一部分(如Spark或Kafka的一个Pa转载 2017-09-28 11:08:33 · 219 阅读 · 0 评论 -
Spark 之 udaf
转:https://yq.aliyun.com/articles/43588如果在SPARK函数中使用UDF或UDAF, 详见示例package cn.com.systeximport scala.reflect.runtime.universeimport org.apache.spark.SparkConfimport org.apache.spark.SparkC转载 2017-10-30 19:55:24 · 241 阅读 · 0 评论 -
DataFrame registerTempTable(注册临时表)后Table Not Found问题的解决
转:http://blog.csdn.net/sparkexpert/article/details/51206487所说这个错误没有遇到过不过背后的原理还是需要知道的。将数据存成数据集的方式是实现数据各种操作非常有效的一种方式。也能够迅速实现数据的导入与导出。Spark DataFrame提供了registerTempTable这样的接口,可以将数据对象存成临时表转载 2017-10-16 11:01:02 · 1207 阅读 · 0 评论 -
HIVE 之压缩格式
转自:http://blog.csdn.net/djd1234567/article/details/51581354压缩配置: map/reduce 输出压缩(一般采用序列化文件存储)set hive.exec.compress.output=true;set mapred.output.compression.codec=org.apache.hado转载 2017-08-16 13:36:03 · 765 阅读 · 0 评论 -
Spark Sort-Based Shuffle排序具体实现内幕和源码详解
转自:http://blog.csdn.net/duan_zhihua/article/details/71190682本文根据家林大神系列课程编写 http://weibo.com/ilovepains为什么讲解Sorted-Based shuffle?2方面的原因:一,可能有些朋友看到Sorted-Based Shuffle的时候,会有一个误解,认为Spark基于Sorted-Based Sh...转载 2018-03-07 11:35:03 · 1228 阅读 · 0 评论 -
spark 的各种参数配置
https://www.jianshu.com/p/9b243c0a74101 spark on yarn常用属性介绍属性名默认值属性说明spark.yarn.am.memory512m在客户端模式(client mode)下,yarn应用master使用的内存数。在集群模式(cluster mode)下,使用spark.driver.memory代替。spark.drive转载 2018-01-03 11:19:46 · 4920 阅读 · 0 评论 -
spark系列文章
http://blog.csdn.net/raintungli/article/details/76168258#comments转载 2017-12-17 20:33:36 · 373 阅读 · 0 评论 -
spark十亿数据join优化
转:https://daizuozhuo.github.io/spark-join/最近在项目中用Spark join了几十亿的数据,在debug和不断优化性能中感觉收获良多,特此记录一下。任务很简单,就是join两张表,表A ship有几千万行,包含每日寄出去的包裹的信息,表B item有几十亿行,包括所有商品的属性,我们需要把商品的属性信息加到每个包裹里面的商品上。转载 2017-12-14 11:25:41 · 12363 阅读 · 2 评论 -
Elasticsearch 入门01
转:http://www.ruanyifeng.com/blog/2017/08/elasticsearch.html全文搜索属于最常见的需求,开源的Elasticsearch (以下简称 Elastic)是目前全文搜索引擎的首选。它可以快速地储存、搜索和分析海量数据。维基百科、Stack Overflow、Github 都采用它。Elastic 的底层是开源库转载 2017-10-26 15:33:59 · 256 阅读 · 0 评论 -
spark 调优之 用Scala代码实现
转:http://www.cnblogs.com/arachis/p/Spark_Shuffle.html摘要: 1 shuffle原理 1.1 mapreduce的shuffle原理 1.1.1 map task端操作 1.1.2 reduce task端操作 1.2 spark现在的SortShuffleManager 2 S转载 2017-10-17 13:22:31 · 470 阅读 · 0 评论 -
spark 之 性能优化
转:http://blog.csdn.net/lw_ghy/article/details/51419760调优概述大多数Spark作业的性能主要就是消耗在了shuffle环节,因为该环节包含了大量的磁盘IO、序列化、网络数据传输等操作。因此,如果要让作业的性能更上一层楼,就有必要对shuffle过程进行调优。但是也必须提醒大家的是,影响一个Spark作业性能的因素,主要还转载 2017-10-17 11:26:00 · 163 阅读 · 0 评论 -
Spark Core性能优化总结
转:http://www.jianshu.com/p/8f3deb6d920e性能优化概览whySpark是基于内存的计算,所以集群的CPU、网络带宽、内存等都可能成为性能的瓶颈。whenSpark应用开发成熟时,满足业务要求后,就可以开展性能优化了。what一般来说,Spark应用程序80%的优化集中在内存、磁盘IO、网络IO,即Driver、Executor的内存、shuf转载 2017-11-02 16:03:07 · 363 阅读 · 0 评论 -
Spark 之 性能调优 写的不错
转:http://www.raychase.net/3546hkl曰:作者分析的很到位,看完之后很受益,关于excutor 分配内存的事情,我们的做法是在脚本里直接就设置好了,我们用的是azkaban来调用job。也就是说掌握了这方面的主动权。Spark的性能调优下面这些关于Spark的性能调优项,有的是来自官方的,有的是来自别的的工程师,有的则是我自己总结的。转载 2017-11-02 15:43:12 · 907 阅读 · 0 评论 -
Spark之 cache 的坑
转子:http://bit1129.iteye.com/blog/2182146 调用reduceByKey对应的ShuffledRDD对应的cache cache不起作用 Java代码 package spark.examples import org.apache.spark.SparkConf import org.转载 2017-09-19 16:51:14 · 3307 阅读 · 0 评论 -
Spark 之 运行架构
转自:http://www.cnblogs.com/shishanyuan/archive/2015/08/19/4721326.html 1、 Spark运行架构1.1 术语定义lApplication:Spark Application的概念和Hadoop MapReduce中的类似,指的是用户编写的Spark应用程序,包含了一个Driver 功能的转载 2017-09-11 14:34:00 · 185 阅读 · 0 评论 -
Sqoop 之 常用命令
转自:http://blog.csdn.net/duan19056/article/details/172881451、列出mysql数据库中的所有数据库 sqoop list-databases --connect jdbc:MySQL://localhost:3306/ -username dyh -password 000000 2、连接mysql并列出数据库转载 2017-08-10 11:19:41 · 249 阅读 · 0 评论 -
Spark 之 快速入门指南 - Spark安装与基础使用
转自:http://dblab.xmu.edu.cn/blog/spark-quick-start-guide/Apache Spark 是一个新兴的大数据处理通用引擎,提供了分布式的内存抽象。Spark 正如其名,最大的特点就是快(Lightning-fast),可比 Hadoop MapReduce 的处理速度快 100 倍。此外,Spark 提供了简单易用的 API,几行转载 2017-07-25 21:22:17 · 388 阅读 · 0 评论 -
Spark 之 Phoenix
直接上官网地址:http://phoenix.apache.org/phoenix_spark.html也可以参考:http://www.cnblogs.com/laov/p/4137136.htmlThe phoenix-spark plugin extends Phoenix’s MapReduce support to allow Spark to l转载 2017-08-16 14:33:30 · 806 阅读 · 0 评论 -
Spark 之 UDF 函数
转自:https://my.oschina.net/cloudcoder/blog/640009 Spark目前已经内置的函数参见: Spark 1.5 DataFrame API Highlights: Date/Time/String Handling, Time Intervals, and UDAFs如果在SPARK函数中使用UDF或UDAF, 详见示例转载 2017-07-25 09:44:17 · 1631 阅读 · 0 评论