![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Spark
L.ZZ
这个作者很懒,什么都没留下…
展开
-
Spark DataFrame写入HBASE常用方式
Spark是目前最流行的分布式计算框架,而HBase则是在HDFS之上的列式分布式存储引擎,基于Spark做离线或者实时计算,数据结果保存在HBase中是目前很流行的做法。例如用户画像、单品画像、推荐系统等都可以用HBase作为存储媒介,供客户端使用。因此Spark如何向HBase中写数据就成为很重要的一个环节了。本文将会介绍三种写入的方式。代码在spark 2.2.0版本亲测。1. 基于...转载 2019-02-27 13:50:04 · 339 阅读 · 0 评论 -
Spark 以及 spark streaming 核心原理及实践
导语spark 已经成为广告、报表以及推荐系统等大数据计算场景中首选系统,因效率高,易用以及通用性越来越得到大家的青睐,我自己最近半年在接触spark以及spark streaming之后,对spark技术的使用有一些自己的经验积累以及心得体会,在此分享给大家。本文依次从spark生态,原理,基本概念,spark streaming原理及实践,还有spark调优以及环境搭建等方...转载 2019-02-27 13:51:24 · 190 阅读 · 0 评论 -
浅谈Spark Kryo serialization
最近在使用spark开发过程中发现当数据量很大时,如果cache数据将消耗很多的内存。为了减少内存的消耗,测试了一下 Kryo serialization的使用代码包含三个类,KryoTest、MyRegistrator、Qualify。我们知道在Spark默认使用的是Java自带的序列化机制。如果想使用Kryo serialization,只需要添加KryoTest类中的红色部分,指定spa...转载 2019-02-27 13:56:26 · 687 阅读 · 0 评论 -
spark streaming从指定offset处消费Kafka数据
一. 前言当spark streaming程序意外退出时,数据仍然再往Kafka中推送,然而由于Kafka默认是从latest的offset读取,这会导致数据丢失。为了避免数据丢失,那么我们需要记录每次消费的offset,以便下次检查并且从指定的offset开始读取二. 环境kafka-0.9.0、spark-1.6.0、jdk-1.7、scala-2.10.5、idea16三. 实现代码...转载 2019-02-27 13:58:23 · 2039 阅读 · 1 评论 -
Spark Streaming 管理 Kafka Offsets 的方式探讨
Cloudera Engineering Blog 翻译:Offset Management For Apache Kafka With Apache Spark StreamingSpark Streaming 应用从Kafka中获取信息是一种常见的场景。从Kafka中读取持续不断的数据将有很多优势,例如性能好、速度快。然而,用户必须管理Kafka Offsets保证Spark Streami...转载 2019-02-27 13:59:23 · 160 阅读 · 0 评论 -
Spark Streaming+Kafka提交offset实现有且仅有一次(exactly-once)
前言本文讲Spark Streamming使用Direct方式读取Kafka,并在输出(存储)操作之后提交offset到Kafka里实现程序读写操作有且仅有一次,即程序重启之后之前消费并且输出过的数据不再重复消费,接着上次消费的位置继续消费Kafka里的数据。Spark Streamming+Kafka官方文档:http://spark.apache.org/docs/latest/streami...转载 2019-02-27 13:59:45 · 484 阅读 · 0 评论 -
Spark Streaming中的操作函数讲解
根据根据Spark官方文档中的描述,在Spark Streaming应用中,一个DStream对象可以调用多种操作,主要分为以下几类TransformationsWindow OperationsJoin OperationsOutput Operations一、Transformations1、map(func) map操作需要传入一个函数当做参数,具体调用形式为 ...转载 2019-02-27 14:00:40 · 264 阅读 · 0 评论 -
Spark on Yarn架构原理
一. 前言SPARK相关概念Driver:和ClusterManager通信,进行资源申请、任务分配并监督其运行状况等。ClusterManager:这里指YARN。DAGScheduler:把spark作业转换成Stage的DAG图。TaskScheduler:把Task分配给具体的Executor。YARN相关概念ResourceManager:负责整个集...原创 2019-02-27 11:39:00 · 4025 阅读 · 1 评论 -
hadoop任务优化-调整Yarn队列资源
集群环境: chd5-2.5.2 我们集群使用的是FailScheduler,如果队列参数设置不合理,会直接影响到任务执行的快慢。队列设置不合理 举例如下: 现状:该队里minshare设置的过小,同时起的任务太多 导致的问题:该队列中平均每个任务分的资源比较少,任务跑的特别慢,同时,任务之间会相互抢占container 比如下面的任务,跑了30多个小时,还没跑完看一下任务详情...转载 2019-02-27 11:37:53 · 1295 阅读 · 1 评论 -
基于Spark UI性能优化与调试——初级篇
Spark有几种部署的模式,单机版、集群版等等,平时单机版在数据量不大的时候可以跟传统的java程序一样进行断电调试、但是在集群上调试就比较麻烦了...远程断点不太方便,只能通过Log的形式进行数据分析,利用spark ui做性能调整和优化。那么本篇就介绍下如何利用Ui做性能分析,因为本人的经验也不是很丰富,所以只能作为一个入门的介绍。大体上会按照下面的思路进行讲解:怎么访问Spark...转载 2019-02-27 11:20:30 · 449 阅读 · 0 评论 -
Hortonworks的开源框架SHC的使用(一)
1. 软件准备shc源码包下载地址:https://github.com/hortonworks-spark/shc/releases2. 编译源码包(1) 解压源码包,修改项目根目录下的pom文件根据自己使用的版本修改各组件的版本号,以下是我修改后的pom文件:```<groupId>com.hortonworks</groupId>转载 2019-02-27 11:24:17 · 665 阅读 · 0 评论 -
Hortonworks的开源框架SHC的使用(二)
shc测试环境的搭建参考:spark读写HBase之使用hortonworks的开源框架shc(一):源码编译以及测试工程创建读写HBase需要两个核心的元素:用户描述数据结构的schema字符串与schema字符串相对应的实体类1. 定义schema字符串object Catalog { val schema = s"""{ | &a转载 2019-02-27 11:24:30 · 167 阅读 · 0 评论 -
Spark DataFrame列的合并与拆分
版本说明:Spark-2.3.0使用Spark SQL在对数据进行处理的过程中,可能会遇到对一列数据拆分为多列,或者把多列数据合并为一列。这里记录一下目前想到的对DataFrame列数据进行合并和拆分的几种方法。1. DataFrame列数据的合并例如:我们有如下数据,想要将三列数据合并为一列,并以“,”分割+----+---+-----------+|name|age| ...转载 2019-02-27 11:24:49 · 7092 阅读 · 1 评论 -
Spark将DataFrame所有的列类型改为double
前言由于spark机器学习要求输入的DataFrame类型为数值类型,所以如果原始数据读进来的列为string类型,需要一一转化,而如果列很多的情况下一个转化很麻烦,所以能不能一个循环或者一个函数去解决呢。1. 单列转化方法import org.apache.spark.sql.types._val data = Array(("1", "2", &am转载 2019-02-27 11:25:19 · 793 阅读 · 1 评论 -
关于hadoop job中job.setOutputFormatClass和FileOutputFormat.setOutputPath的报错问题
1. job.setOutputFormatClass(TextOutputFormat.class)# TextOutputFormat的为新的API中org.apache.hadoop.mapreduce.lib.output.TextOutputFormatjob.setOutputFormatClass(TextOutputFormat.class);2.FileOutputF...原创 2019-02-27 11:26:24 · 1806 阅读 · 2 评论 -
Spark本地开发环境搭建与远程debug设置
快速看完《Spark大数据处理 技术、应用与性能优化》前四章后,对Spark有了一个初步的了解,终于踏出了第一步,现在需要在Spark集群中做些测试例子,熟悉一下开发环境和开发的流程。本文主要总结了如何在本地使用Maven搭建开发环境以及如何进行远程debug。由于采用的Spark是今年5月24号才发布的Spark2.1.1,网上大多数例子都是Spark1.X,因此走了不少弯路,才搭建好开发环境...转载 2019-02-27 11:31:36 · 294 阅读 · 0 评论 -
Spark性能优化:资源调优篇
前言在开发完Spark作业之后,就该为作业配置合适的资源了。Spark的资源参数,基本都可以在spark-submit命令中作为参数设置。很多Spark初学者,通常不知道该设置哪些必要的参数,以及如何设置这些参数,最后就只能胡乱设置,甚至压根儿不设置。资源参数设置的不合理,可能会导致没有充分利用集群资源,作业运行会极其缓慢;或者设置的资源过大,队列没有足够的资源来提供,进而导致各种异常。总之,无...转载 2019-02-27 11:36:57 · 77 阅读 · 0 评论 -
Spark错误:Operation category READ is not supported in state standby解决办法
遇到的错误:org.apache.hadoop.ipc.RemoteException(org.apache.hadoop.ipc.StandbyException): Operation category READ is not supported in state standby 错误原因:集群的两个namenode都是Standby状态。解决办法:Zkcli.sh ls /...原创 2019-02-27 11:19:54 · 1213 阅读 · 1 评论