Spark
无名一小卒
Wubba lubba dub dub
展开
-
Spark Streaming使用window函数与reduceByKeyAndWindow实现一定时间段内读取Kafka中的数据累加;reduceByKeyAndWindow函数的两种使用方式
使用window函数实现时间段内数据累加import kafka.serializer.StringDecoderimport org.apache.spark.SparkConfimport org.apache.spark.streaming.dstream.DStreamimport org.apache.spark.streaming.kafka.KafkaUtilsimport...原创 2019-08-11 21:58:36 · 936 阅读 · 2 评论 -
Spark Streaming中的检查点 Checkpoint简介;如何使用检查点存储/恢复处理结果
检查点 Checkpoint功能保存 每批中 state信息,累加加销售营业额保存 没冲从Kafka topic 中读取数据的offset保存DStream的来源和DStream处理函数和输出函数什么时候需要使用Checkpoint有状态转换的用法 - 如果在应用程序中使用了updateStateByKey或reduceByKeyAndWindow(with inverse func...原创 2019-08-11 21:51:29 · 822 阅读 · 0 评论 -
模拟实时区域订单金额统计:SparkStreaming从Kafka中读取数据,设置检查点,处理数据后,并将结果存到Redis中,并实现执行优化
实现思路第一步获取StreamingContext对象,因为要使用检查点恢复数据,所以不能使用new StreamingContext的方法获取对象,要使用StreamingContext.getOrCreate建立对象创建StreamingContext对象,使用了贷出模式 ——贷出函数的方式来创建从Kafka的生产者端读取数据进行分析读取数据的方式采用Direct方式读取数据处理读...原创 2019-08-11 21:51:16 · 540 阅读 · 0 评论 -
Spark Streaming中读取数据的两种方式:基于Receiver的方法,基于Direct方法
基于Receiver的方法——基于Receiver的方法此方法使用Receiver接收数据。 Receiver是使用Kafka高级消费者API实现的。 与所有接收器一样,从Kafka通过Receiver接收的数据存储在Spark执行器中,然后由Spark Streaming启动的作业处理数据。但是,在默认配置下,此方法可能会在失败时丢失数据(请参阅接收器可靠性。为确保零数据丢失,您必须在Spa...翻译 2019-08-11 20:27:15 · 538 阅读 · 0 评论 -
Spark Streaming工作步骤详解
producer生产者产生数据Spark Streaming的Driver让一个Executor运行一个Task接收器每隔一段时间主动向生产者拿数据根据时间间隔:批处理时间间隔将DStream分割为多分RDD数据集合根据blockInterval:每个Block时间间隔将每个RDD分割为不同的块Block将块Block 的分割返回给DriverDriver运行job分析数据...原创 2019-08-10 21:32:58 · 480 阅读 · 0 评论 -
SparkStreaming简单介绍;SparkStreaming处理数据流程;SparkStreaming运行工作原理与简单优化
SparkStreaming简单介绍流式数据处理(stream processing)要处理的数据就像流水一样,源源不断的产生数据,需要实时进行处理对SparkCore的高级API的封装,将流式的数据切分为小的批次batch(按照时间间隔)的数据,然后使用SparkCore进行处理返回数据集合类型:DStream集合,List<RDD>StreamingContext:上下文...原创 2019-08-10 21:02:25 · 1246 阅读 · 0 评论 -
SparkStreaming实现实时WordCount程序的两种方法并将数据写入Mysql中:使用工具netcat
首先需要了解的几个类StreamingContext如何读取数据DStream处理数据函数DStream里面存储着很多RDDPairDStreamFunctions当处理的数据类型是二元组的时候,DStream自动隐式转换为PairDStreamFunctionsRDD输出函数,将结果保存到外部系统def foreachFunc: (RDD[T], Time) =>...原创 2019-08-10 20:28:44 · 367 阅读 · 0 评论 -
SparkSql介绍与基本使用;Spark Sql编程:优化点;集成Spark集成使用Hvie中的数据
Spark SQL介绍属于Spark框架中的一个模块相当于Hive框架(提供SQL,使用户不需要编写MapReduce程序),功能远远大于HiveHive 2.x版本,底层推荐使用Spark美团,JD,饿了么,链家等一些大型公司都在使用SparkSql进行数据分析Spark SQL是什么(1)最初的功能取代Hive框架,提供SQL语句,将SQL语句转成SparkCore程序,提交运行...原创 2019-08-10 19:14:22 · 246 阅读 · 0 评论 -
Spark写入数据到本地时报错java.lang.UnsatisfiedLinkError
在IDEA中运行Spark程序往本地写入数据时有可能会报java.lang.UnsatisfiedLinkError的错误解决方案1:配置Hadoop Common环境变量配置这个变量的原因是因为Windows下运行大数据环境有可能会出现兼容性问题如果不配置Spark相应版本的Hadoop Common的版本,有可能就会报错所有下载Spark对应版本的Hadoop Common...原创 2019-08-08 21:56:57 · 1404 阅读 · 2 评论 -
Spark:自定义Schema信息将数据集合转换为Spark sql中的DataFrame
使用场景在Spark中可以直接读取数据文件但是读取到的数据的每一项数据是没有数据类型的而且不能使用数据像使用数据表中的字段名那样使用数据可以在读取数据的时候对读取到的数据进行设置转换设置转换后使用数据可以像使用数据库表中的字段那样通过字段名获取数据代码实现import java.util.Propertiesimport org.apache.spark.sql.types._...原创 2019-08-07 21:46:15 · 1079 阅读 · 0 评论 -
使用Spark分析HBase中存放的数据的步骤总结
第一步:读取数据分析数据的第一步即是读取数据读取的数据一般是经理过ETL的数据我们可以直接对读取到的数据进行分析如果是读取HBase表中的数据时一般将表名设置为输入参数这样就可以分析不同时段的相同类型的数据第二步:数据过滤在这一步,通常对读取到的数据进行过滤或取样操作有两种方法方法1:使用RDD高阶函数对读取到的数据进行过滤或格式化该方法主要使用的是RDD集合的高阶函数,如m...原创 2019-08-06 22:09:20 · 902 阅读 · 0 评论 -
使用Spark对数据进行ETL并存放到HBase中流程总结
ETLETL用来描述将数据从来源端经过萃取(extract)、转置(transform)、加载(load)至目的端的过程使用场景要对某些日志数据文件进行分析时ETL这一步是避免不了的因为采集到的日志数据,总会有一部分脏数据这部分脏数据可能会对后续的指标分析造成影响所以要对数据进行一些操作,将数据转换成比较有规律的我们想要的数据使用Spark对数据进行ETL操作的一些步骤总结第一...原创 2019-08-06 21:35:00 · 1944 阅读 · 0 评论 -
使用Spark对ETL数据到HBase中可以做的优化点
优化一:HBase表的优化在建立HBase表时,提前设置好表的数据存放的压缩的方式提前建立region分区设置读取表中的数据不缓存优化二:Spark程序的优化优化场景Spark中有Driver与ExecutorExecutor执行TaskExecutor执行Task的时候,有可能会用到Driver中的数据那么就需要Driver将数据发送给ExecutorExecutor中如...原创 2019-08-06 20:39:43 · 352 阅读 · 0 评论 -
Spark中使用take截取数据时报错:java.io.NotSerializableException
发生场景在使用Spark读取HBase中的数据时不使用take函数截取数据时读取到的HBase中的数据可以正常输出但是使用take操作截取数据时就会抛出异常java.io.NotSerializableException: org.apache.hadoop.hbase.io.ImmutableBytesWritable发生原因Spark分为两大角色Driver与Executor...原创 2019-08-05 21:42:43 · 1041 阅读 · 0 评论 -
Spark向HBase中写入或读取数据
Spark读取HBase中的数据import org.apache.hadoop.conf.Configurationimport org.apache.hadoop.hbase.{CellUtil, HBaseConfiguration}import org.apache.hadoop.hbase.io.ImmutableBytesWritableimport org.apache....原创 2019-08-05 20:23:40 · 919 阅读 · 0 评论 -
Spark任务调度,Job的调度
Job,Stage,Task的区分DAG调度DAG:有向无环图每个job划分为多个stage(阶段)(a)倒推法划分 -栈从Job的最后一个RDD向前推依赖关系(b)判定子RDD和父RDD之间的依赖关系宽依赖,产生shuffle,划分stageTaskScheduler 任务调度task的调度调度各个Stage中Task的执行,按照从前往后顺序执行stage中的task即...原创 2019-08-04 21:33:46 · 564 阅读 · 0 评论 -
Spark application运行hadoop中的Yarn上;Spark 的部署模式;运行Spark application到Spark Standalone;spark on yarn架构
准备工作启动hadoop相关节点配置好spark的配置文件spark-env.shJAVA_HOMESCALA_HOMEHADOOP_CONF_DIR 提交命令#将Spark-shell运行在Yarn集群上#资源的调优bin/spark-shell \--master yarn \--deploy-mode client \--driver-cores 1 \ # 设置...原创 2019-08-04 21:15:44 · 374 阅读 · 0 评论 -
Spark中实现二次排序;解决数据倾斜问题代码实现;Spark性能优化代码实现
二次排序简单理解,就是先对第一个字段进行排序,如果第一个字段相相等,按照第二个字段排序案例对下面的数据进行二次排序aa 78bb 98aa 80cc 98aa 69cc 87bb 97cc 86aa 97bb 78bb 34cc 85bb 92cc 72bb 32bb 23代码实现实现思路1:读取数据2:每一行为一个二元组3:根据key分组,合并v...原创 2019-08-04 20:57:01 · 486 阅读 · 0 评论 -
Spark历史服务器配置与使用
介绍spark也有历史服务器,监控已经运行完成的spark applicationstart-history-server.sh(1)将application运行的日志信息保存起来MapReduce运行的时候,启动了日期聚集功能:将日志信息 上传到HDFS目录(2)启动一个服务读取日志信息,以便前端页面展示MrHistoryServer配置Spark HistoryServer1....原创 2019-08-04 20:26:08 · 1226 阅读 · 3 评论 -
将自己编写的的jar包放到本地或Spark standalone上运行;设置每个Spark application运行的资源
本地运行jar包将自己的jar包上传到Linux中运行Spark的Master节点与Worker节点在Spark目录下运行以下命令bin/spark-submit \--class com.huadian.bigdata.spark.core.TrackLogAnalyseSpark \spark-learning-1.0-SNAPSHOT.jar \local[2]结果Sp...原创 2019-08-02 21:23:30 · 611 阅读 · 0 评论 -
Spark案例:分析网站pv,uv,并将处理结果存放到MySQL数据库中;Spark standalone:框架自身带的、分布式集群资源管理和任务调度框架
Spark案例:分析网站每日pv,uv,并将处理结果存放到MySQL数据库中pv分析:主要分析url数据是否为空uv分析:根据数据中的用户id或者ip地址分析结果存放到MySQL表中时,需要先建立数据表使用UNIO与JOIN可以产生不同的结果表根据需求使用代码实现import java.sql.{Connection, DriverManager, PreparedStatemen...原创 2019-08-02 20:51:07 · 393 阅读 · 0 评论 -
使用Scala语言操作实现Spark处理数据,实现wordcount程序;分析用户行为数据统计用户停留时间段
使用环境Windows下使用IDEA开发工具Windows环境配置了JDK1.8环境与Scala环境准备事项本文WordCount案例预实现将Linux中的HDFS中的文件读取出来统计字符出现次数,并将结果存放到HDFS目录中配置Hadoop环境中的权限修改hadoop中的配置文件hdfs-site.xml将Hadoop中的配置文件存放到IDEA项目中的resource中ID...原创 2019-08-01 21:51:01 · 880 阅读 · 0 评论 -
Spark的简单介绍,安装与简单的使用;spark appliction与MapReduce application的区别
spark是什么Apache Spark™ is a unified analytics engine for large-scale data processing.统一分析引擎为海量数据处理统一:什么样的数据都能处理分析,什么类型的数据都可以处理,实时,离线,流式都可以MapReduce处理数据的流程map,reduce函数将分析的中间结果放在磁盘中,并且后续进行分析数据的时候,再...原创 2019-08-01 20:54:33 · 221 阅读 · 0 评论