-----Spark
文章平均质量分 85
唐予之_
Java Scala Hadoop Spark Hive Kafka
展开
-
carbondata2.0.1初体验
一、更方便的部署配置模式只需要增加一个conf 即可,不再需要配置carbon的storepathspark-shell --conf spark.sql.extensions=org.apache.spark.sql.CarbonExtensions --jars /Users/hulb/opt/third/spark-2.4.3-bin-hadoop2.7/jars/apache-carbondata-2.0.1-bin-spark2.4.5-hadoop2.7.2.jar二、启动后直接使用sp原创 2020-06-04 14:16:21 · 705 阅读 · 0 评论 -
Spark 广播 (思维导图)
高清大图请点击链接:图片地址原创 2017-07-18 00:11:12 · 556 阅读 · 0 评论 -
Spark RPC (思维导图)
高清大图请点击:http://img.blog.csdn.net/20170718001345234?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvbHhoYW5kbGJi/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center原创 2017-07-18 00:14:34 · 549 阅读 · 0 评论 -
[Spark源码浅析]-关于sort-based shuffle
在sort-based shuffle,记录根据目标分区id做排序,然后写到一份单一的输出文件中。 Reducers拉取这个文件连续的region 来读取这个输出的位置。 如果这次map的输出数据 太大到不能放在内存中。这个排序输出 会被切分到磁盘。然后被合并到一个最终的文件中。sort-based shuffle 有两个不同的输出路径 来存在输出文件。一、序列化的排序(满足以下三个条件时) 1原创 2017-07-17 23:56:00 · 505 阅读 · 0 评论 -
Spark集群安装之——Zookeeper+Kafka 安装教程
1、安装和配置Zookeeper1) 下载Zookeeper进入http://www.apache.org/dyn/closer.cgi/zookeeper/,你可以选择其他镜像网址去下载,用官网推荐的镜像:http://mirror.bit.edu.cn/apache/zookeeper/下载zookeeper-3.4.6.tar.gz2) 安装Zookeeper提示:下面的步骤发生在Ma原创 2016-05-16 17:20:46 · 1613 阅读 · 0 评论 -
Spark的广播和累加器的使用
广播和计数器的解释1.1 广播: 广播变量允许程序员将一个只读的变量缓存在每台机器上,而不用在任务之间传递变量。广播变量可被用于有效地给每个节点一个大输入数据集的副本。Spark还尝试使用高效地广播算法来分发变量,进而减少通信的开销。 Spark的动作通过一系列的步骤执行,这些步骤由分布式的洗牌操作分开。Spark自动地广播每个步骤每个任务需要的通用数据。这些广播数据被序列化地缓存,在运行任务原创 2016-07-17 12:19:45 · 16809 阅读 · 2 评论 -
遇到的Spark的坑
spark 写入hive出错。 mysql驱动版本低。https://datameer.zendesk.com/hc/en-us/articles/204262140-Hive-Jobs-Fail-with-com-mysql-jdbc-exceptions-MySQLSyntaxErrorExceptionspark写入Hive找不到表16/12/21 17:57:36 INFO SparkSql原创 2017-02-21 19:17:54 · 7037 阅读 · 0 评论 -
最近经历的一些大数据(Spark/Hadoop)面试题
公司A:1.讲讲你做的过的项目。 项目里有哪些 难点重点注意点呢?2.讲讲多线程吧, 要是你,你怎么实现一个线程池呢?3.讲一下Mapreduce或者hdfs的原理和机制。map读取数据分片。4.shuffle 是什么? 怎么调优?5.项目用什么语言写? Scala? Scala的特点? 和Java的区别?6.理论基础怎么样,比如数据结构,里面的原创 2017-01-18 11:12:36 · 45387 阅读 · 20 评论 -
Neither spark.yarn.jars nor spark.yarn.archive is set
每次提交spark任务到yarn的时候,总会出现uploading resource(打包spark jars并上传)到hdfs上。恶劣情况下,会在这里卡住很久。17/01/13 17:21:47 INFO Client: Preparing resources for our AM container17/01/13 17:21:47 WARN Client: Neither spark.yar原创 2017-01-13 17:30:40 · 9696 阅读 · 3 评论 -
Spark2.0 源码解析系列目录
Spark2.0 源码解析系列SparkContext源码分析 Master源码分析 Worker源码分析 Job源码恩熙 DAGScheduler源码分析 TaskScheduler源码分析 Executor源码分析 Task源码分析 Shuffle源码分析 BlockManager源码分析 CacheManager源码分析 Checkpoint源码分析原创 2016-09-19 15:55:30 · 2500 阅读 · 0 评论 -
spark streaming 运行原理图解分析
streaming源码图解分析原创 2016-12-23 23:23:17 · 1433 阅读 · 0 评论 -
Spark 性能优化总结(思维导图)
点击查看高清大图点击打开链接原创 2017-07-18 00:07:16 · 1380 阅读 · 0 评论 -
spark on yarn 两种运行模式(client 、cluster)对比
机器:master1 : ResourceManager Masternode2 : NodeManager Workernode3: NodeManager Workernode4: NodeManager Worker 此时同时开启了 Yarn 和 Spark Standalone Spark on Yarn 模式不需要打开Spark集群.#对比(文字): 模式原创 2017-04-17 17:36:45 · 4423 阅读 · 0 评论 -
spark+carbondata使用
一、部署下载源码编译修改配置文件注意: 1.1.1 不支持spark2.2 会报错。二、启动: spark-shell –jars carbonlib/carbondata_2.11-1.1.1-shade-hadoop2.7.2.jar三、使用3.1创建上下文import org.apache.spark.sql.SparkSessionimport org.apache.spark.sq原创 2017-09-20 17:08:29 · 2271 阅读 · 0 评论 -
自定义实现Structured Streaming的Sink(以MySQLSink为例)
一、步骤二、代码三、效果原创 2018-08-29 21:15:35 · 3967 阅读 · 8 评论 -
Spark Whole Stage Codegen 解析
Spark Whole Stage Codegen 解析本Markdown编辑器使用StackEdit修改而来,用它写博客,将会带来全新的体验哦:Markdown和扩展Markdown简洁的语法代码块高亮图片链接和图片上传LaTex数学公式UML序列图和流程图离线写博客导入导出Markdown文件丰富的快捷键快捷键加粗 Ctrl + B 斜体原创 2018-06-21 00:13:22 · 6060 阅读 · 0 评论 -
Spark Structured Streaming Continuous模式(一)
Spark Structured Streaming 的Continuous模式是Spark 2.3 引入的一种持续计算模型。相比于之前的微批处理达到10ms内的延迟。首先还是展示 一个example:import java.utilimport java.util.UUIDimport com.alibaba.fastjson.JSONimport org.apache.sp...原创 2018-06-21 00:10:31 · 1901 阅读 · 0 评论 -
Structured Streaming 动态流 join 静态流 Example
Structured Streaming 动态流 join 静态流 ExampleSpark 代码/* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with *...原创 2018-05-24 16:27:19 · 1898 阅读 · 0 评论 -
Spark Streaming的Event Time和WaterMark理解
EventTime即事件真正生成的时间。例如一个用户在10:06点击 了一个按钮。记录在系统中为10:06。这条数据发送到Kafka,又到了Spark Streaming中处理,已经是10:08了。这个处理的时间就是process Time。Water Mark即 这个时间点之前的数据都到达了。例如现在是10:20 ,但是water Mark是 10:10 分,那么认为,10:10之前的数据都已经...原创 2018-05-19 11:38:53 · 5680 阅读 · 0 评论 -
Shuffle 调优之 HashShuffleManager 和 SortShuffleManager
spark.shuffle.manager:hash、sort、tungsten-sort(自己实现内存管理)spark.shuffle.sort.bypassMergeThreshold:200spark 1.2.x版本以后,默认的shuffle manager,是什么呢? SortShuffleManager。SortShuffleManager与HashShuffleManager两点不同原创 2017-12-23 16:25:27 · 1742 阅读 · 0 评论 -
shuffle 调优之条件map端内存缓存与reduce端内存占比
spark.shuffle.file.buffer,默认32k spark.shuffle.memoryFraction,0.2map端内存缓冲,reduce端内存占比;很多资料、网上视频,都会说,这两个参数,是调节shuffle性能的不二选择,很有效果的样子, 实际上,不是这样的。以实际的生产经验来说,这两个参数没有那么重要,往往来说,shuffle的性能不是因为这方面的原因导致的但是,有一点原创 2017-12-23 16:19:21 · 1085 阅读 · 0 评论 -
shuffle 调优之合并map端的输出
Shuffle 情景描述:每个Executor 有2个 cpu core 4个task。 task是线程执行的。2个core ,4个task的话,就要先并行执行2个task,再跑另外2个task。 第一个stage,每个task,都会给第二个stage的每个task创建一份map端的输出文件 第二个stage,每个task,会到各个节点上面去,拉取第一个stage每个task输出的,属于自己的原创 2017-12-23 16:15:04 · 614 阅读 · 0 评论 -
Spark性能调优系列目录
Spark性能调优系列目录:普通调优性能调优之在实际项目中分配更多的资源性能调优之在实际项目中调节并行度性能调优之在实际项目中,重构RDD架构以及RDD持久化性能调优之在实际项目中广播大变量性能调优之在实际项目中使用Kryo序列化性能调优之在实际项目中,使用fastutil优化数据格式性能调优之在实际项目中调节数据本地化等待时长jvm调优JVM调优之原理概述 以及降低cache操作原创 2016-09-19 16:06:09 · 776 阅读 · 0 评论 -
shuffle 调优之原理概述
一、什么情况下会发生Shuffle?在spark中,主要是以下几个算子:groupByKey reduceByKeyreduceByKeyJoin二、什么是shuffle?groupByKey,要把分布在集群各个节点上的数据中的同一个key,对应的values,都给集中到一块儿,集中到集群中同一个节点上,更严密一点说,就是集中到一个节点的一个executor的一个task中。然后呢,集中一原创 2017-12-23 16:03:51 · 775 阅读 · 0 评论 -
ZooKeeper安装与测试ha
默认情况下,Standalone的Spark集群是Master-Slaves架构的集群模式,由一台master来调度资源,这就和大部分的Master-Slaves结构集群一样,存在着Master单点故障的问题。如何解决这个单点故障的问题呢?Spark提供了两种方案:基于文件系统的单点恢复(Single-Node Recovery with Local File system)和基于zookeepe转载 2016-12-23 20:43:39 · 2897 阅读 · 0 评论 -
hadoop或者spark 增加节点
增加节点。复制一个虚拟机。配置hosts文件,检查是否能ssh通。 Hadoop:scp /usr/local/hadoop/hadoop-2.6.0/etc/hadoop/slaves root@Worker1:/usr/local/hadoop/hadoop-2.6.0/etc/hadoop/slaves格式化:hadoop name原创 2016-12-23 20:38:16 · 1432 阅读 · 0 评论 -
集群启动快速指南
【启动】【0】配置hostsvim /etc/hosts同步hostsscp /etc/hosts root@Worker1:/etc/hosts【1】启动HDFScd /usr/local/hadoop/hadoop-2.6.0/sbin/./start-dfs.sh我们通过http:原创 2016-12-23 20:35:20 · 336 阅读 · 0 评论 -
Spark名词解释
名词解释:1. Standalone模式下存在的角色。【Client】:客户端进程,负责提交作业到Master。【Master】:Standalone模式中主控节点,负责接收Client提交的作业,管理Worker,并命令Worker启动Driver和Executor。【Worker】:Standalone模式中slave节点上的守护进程,负责管理本节点的资源,定期向Master汇报心跳,接收Ma原创 2016-05-09 15:00:28 · 748 阅读 · 0 评论 -
Spark on Yarn运行测试
1.启动hdfs: root@Master:/usr/local/hadoop/hadoop-2.6.0/sbin# ./start-dfs.sh 检查: root@Master:/usr/local/hadoop/hadoop-2.6.0/sbin# jps3026 NameNode3366 Jps3240 SecondaryNameNode2.启动yarn:root@Maste原创 2016-05-24 16:00:28 · 2510 阅读 · 0 评论 -
Spark RDD的理解
1.RDD是什么?RDD(Resilient Distributed Datasets) ,弹性分布式数据集, 是分布式内存的一个抽象概念,指的是一个只读的,可分区的分布式数据集,这个数据集的全部或部分可以缓存在内存中,在多次计算间重用。RDD提供了一种高度受限的共享内存模型,即RDD是只读的记录分区的集合,只能通过在其他RDD执行确定的转换操作(如map、join和group by)而创建,然而原创 2016-06-16 13:31:25 · 1451 阅读 · 0 评论 -
Spark入门之WordCount
package com.coreimport org.apache.spark.{SparkConf, SparkContext}/** * Created by lxh on 2016/3/14. * 查看源码快捷键:CTRL + N * */object WordCount { def main(args: Array[String]) { val conf =原创 2016-07-17 13:03:07 · 642 阅读 · 0 评论 -
Spark自定义累加器的实现
1.为什么要使用自定义累加器前文讲解过spark累加器的简单使用:http://blog.csdn.net/lxhandlbb/article/details/51931713但是若业务较为复杂,需要使用多个广播变量时,就会使得程序变得非常复杂,不便于扩展维护,因此可以考虑自定义累加器。2.怎么使用自定义累加器Java版本:package com.luoxuehuan.sparkproject.sp原创 2016-08-08 00:22:21 · 8594 阅读 · 1 评论 -
Spark二次排序学习总结
二次排序Spark二次排序,即组装一个新的key并在这个key里实现排序接口所定义的方法。例如一组数据:(点击次数,下单次数,支付次数) A:(30,35,40) B:(35,35,40) C:(30,38,40) D:(35,35,45)需要分别对点击次数,下单次数,支付次数做比较。比较完35【点击次数】相等,则要对【下单次数】二次比较,若【下单次数】还是相等,则要对【支付次数再次比较】直原创 2016-08-17 22:03:35 · 786 阅读 · 0 评论 -
Spark大数据常见错误分享总结(来自苏宁)
Spark trouble shooting 经验分享 错误总结原创 2016-08-30 11:28:29 · 2437 阅读 · 0 评论 -
性能调优之在实际项目中调节并行度
Spark 并行度指的是什么?Spark作业,Application Jobs action(collect)触发一个job; 每个job 拆成多个stage, 怎么划分: 发生shuffle的时候,会拆分出一个stage;(怎么会发生shuffle?)stage0 stage1WordCountval lines = sc.textFile(“hdfs://”)val words = lin原创 2016-08-31 23:58:52 · 1443 阅读 · 0 评论 -
Spark 之DataFrame与RDD 转换
DataFrame可以从结构化文件、hive表、外部数据库以及现有的RDD加载构建得到。具体的结构化文件、hive表、外部数据库的相关加载可以参考其他章节。这里主要针对从现有的RDD来构建DataFrame进行实践与解析。Spark SQL 支持两种方式将存在的RDD转化为DataFrame。 第一种方法是使用反射来推断包含特定对象类型的RDD的模式。在写Spark程序的同时,已经知道了模式,这种原创 2016-08-30 11:08:37 · 26231 阅读 · 0 评论 -
Spark的事务处理
一、什么是事务:1.1 情形描述:task处理到一半,失败了。可是数据 已经在输出存储在数据库了。如果第二次继续重试task,数据是不是就重复输出了?Spark Streaming 的任务失败,讲会自动进行重试, 数据会被多次写入到存储程序中。1.2 事务的要求:1.能够处理且处理一次。 2.能够输出且只输出一次。Exactly one举例:A 给B转账,A一定原创 2016-07-09 17:13:41 · 3126 阅读 · 1 评论 -
Spark Streaming开发入门——WordCount(Java&Scala)
一、Java方式开发1、开发前准备假定您以搭建好了Spark集群。2、开发环境采用eclipse maven工程,需要添加Spark Streaming依赖。3、Spark streaming 基于Spark Core进行计算,需要注意事项: 设置本地master,如果指定local的话,必须配置至少二条线程,也可通过sparkconf来设置,因为Spark Streaming应用程序在运行的时原创 2016-04-21 18:26:46 · 6981 阅读 · 0 评论 -
Spark性能调优之——在实际项目中重构RDD架构以及RDD持久化
一、导读What?RDD重构和持久化是什么?How?怎么做?Why?为什么要重构或持久化?总结二、RDD重构和持久化是什么?三、怎么做?四、为什么要重构或持久化?4.1 RDD架构重构与优化。尽量去复用RDD,差不多的RDD,可以抽取为一个共同的RDD,供后面的RDD计算时,反复使用。4.2 公共RDD一定要实现持久化。北方吃饺子,现包现煮。 对于多次计算和公共的RDD,一定要进行持久化。 持久原创 2016-09-22 10:18:54 · 788 阅读 · 0 评论 -
Spark性能调优之——在实际项目中广播大变量
Spark Application Driver 进程,其实就是我们写的Spark作业,打成jar运行起来的进程。比如一个1M的map(随机抽取的map) ,创建1000个副本,网络传输!分到1000个机器上,则占用了1G内存。不必要的网络消耗,和内存消耗。如果你是从哪个表里面读取了一些维度数据,比方说,所有商品的品类的信息,在某个算子函数中使用到100M。1000个task 。100G的数据,网络原创 2016-10-31 22:23:45 · 6531 阅读 · 1 评论