spark
文章平均质量分 51
斯特凡今天也很帅
这个作者很懒,什么都没留下…
展开
-
工具类——Spark写入csv文件到HDFS(Java代码)
spark写入csv到hdfs原创 2022-10-26 10:21:25 · 1556 阅读 · 0 评论 -
使用Java编写Spark Streaming来做大数据处理(六)
word count flatMap和flatMapToPair原创 2022-10-19 17:51:30 · 692 阅读 · 0 评论 -
一秒看懂Subtract
原创 2022-03-23 17:58:56 · 449 阅读 · 0 评论 -
Spark拼接数据的一种实现案例
package TTest;import com.hw.chinamobile.service.SparkConfig;import org.apache.spark.api.java.JavaPairRDD;import org.apache.spark.api.java.JavaSparkContext;import org.apache.spark.api.java.Optional;import org.apache.spark.api.java.function.PairFunctio原创 2021-12-20 18:28:01 · 1098 阅读 · 0 评论 -
Spark综合学习笔记(三十三)Structured Streaming Source-Rate
学习致谢https://www.bilibili.com/video/BV1Xz4y1m7cv?p=71代码实现package structuredimport org.apache.spark.sql.{DataFrame, Dataset, Row, SparkSession}/** * Author itcast * Desc 演示StructuredStreaming的SOURCE-Socket */object Demo02_Source_Socket { def原创 2021-12-09 12:11:00 · 166 阅读 · 0 评论 -
Spark综合学习笔记(三十二)Structured Streaming Source-Socket
Source分类https://spark.apache.org/docs/latest/structured-streaming-programming-guide.html代码演示原创 2021-12-09 11:41:07 · 635 阅读 · 0 评论 -
Spark综合学习笔记(三十一)Structured Streaming介绍,编程模型和数据抽象
学习致谢https://www.bilibili.com/video/BV1Xz4y1m7cv?p=69模块介绍或许是对Dataflow模型的借鉴,也许是英雄所见略同,Spark在2016年Spark2.0版本中发布了新的流计算的API;structured Streaming结构化流。Structured Streaming是一个基于Spark SQL引擎的可扩展、容错的全新的流处理引擎。Structured Streaming统一了流、批的编程模型,可以让用户像编写批处理程序一样简单地编写高性能原创 2021-12-07 15:39:59 · 413 阅读 · 0 评论 -
Spark综合学习笔记(三十)Structured Streaming引入
学习目标SparkStreaming的不足Spark Streaming是Apache Spark早期基于RDD开发的流式系统,用户使用DStream API来编写代码,支持高吞吐和良好的容错。但随着技术的发展,逐渐暴露出很多的不足:1:基于微批,延迟高,不能做的真正的实时Spark Streaming会接收实时数据源的数据,并切分成很多小的batches,然后被Spark Engine执行,产出同样由很多小的batchs组成的结果流。本质上,这是一种micro-batch(微批处理)的方式.原创 2021-12-07 10:43:51 · 399 阅读 · 0 评论 -
Spark综合学习笔记(二十九)SparkSQL分布式SQL引擎
学习致谢https://www.bilibili.com/video/BV1Xz4y1m7cv?p=66说明Hive的SQL交互方式方式1∶交互式命令行(CLI)· bin/hive,编写SQL语句及DDL语句方式2: 启动服务HiveServer2 (Hive ThriftServer2)·将Hive当做一个服务启动(类似MySQL数据库,启动一个服务),端口为10000·交互式命令行,bin/beeline,CDH 版本HIVE建议使用此种方式,CLI方式过时· 2JDBC/ODBC方原创 2021-12-01 19:14:29 · 1644 阅读 · 0 评论 -
Spark综合学习笔记(二十八)SparkSQL整合Hive-2 SparkSQL代码中整合hive
学习致谢https://www.bilibili.com/video/BV1Xz4y1m7cv?p=65代码实现(1)pom文件导入spark-hive依赖<dependency> <groupId>org.apache.spark</groupId> <artifactId>spark-hive_2.12</artifactId> <version>2.3.2</version></原创 2021-12-01 17:45:17 · 1109 阅读 · 0 评论 -
Spark综合学习笔记(二十七)SparkSQL整合Hive-1 SparkSQL命令行
学习致谢 [https://www.bilibili.com/video/BV1Xz4y1m7cv?p=64](https://www.bilibili.com/video/BV1Xz4y1m7cv?p=64)HiveOnSpark和SparkOnHive·HiveOnSpark: SparkSql诞生之前的Shark项目使用的,是把Hive的执行引擎换成Spark,剩下的使用Hive的,严重依赖Hive,早就淘汰了没有人用了·SparkOnHive: SparkSQL诞生之后,Spark提出的,是原创 2021-11-30 17:14:58 · 1438 阅读 · 0 评论 -
Spark综合学习笔记(二十六)SparkSQL实战8-UDF
学习致谢https://www.bilibili.com/video/BV1Xz4y1m7cv?p=63背景无论Hive还是SparkSQL分析处理数据时,往往需要使用函数,SparkSQL模块本身自带很多实现公共功能的函数,在org.apache.spark.sql.functions中。SparkSQL与Hive一样支持定义函数:UDF和UDAF,尤其是UDF函数在实际项目中使用最为广泛。·回顾Hive中自定义函数有三种类型:1: UDF (User-Defined-Function)函数一原创 2021-11-30 10:31:14 · 251 阅读 · 0 评论 -
Spark综合学习笔记(二十五)SparkSQL实战7-电影数据分析
学习致谢https://www.bilibili.com/video/BV1Xz4y1m7cv?p=63需求:对电影评分数据进行统计分析,分别使用DSL编程和5QL编程,获取电影平均分Top10,要求电影的评分次数大于200代码实现package sqlimport java.util.Propertiesimport org.apache.spark.sql.{DataFrame, Dataset, SaveMode, SparkSession}/** * Author itc原创 2021-11-30 09:42:41 · 1022 阅读 · 0 评论 -
Spark综合学习笔记(二十四)SparkSQL实战6-多数据源支持
学习致谢https://www.bilibili.com/video/BV1Xz4y1m7cv?p=61小节:读:spark.read.格式(路径)//底层spark.read.format(“格式”).load(路径)写:df.write…格式(路径) //df.write.format(“格式”).save(路径)代码实现package sqlimport java.util.Propertiesimport org.apache.spark.sql.{DataFrame, Da原创 2021-11-29 18:03:35 · 485 阅读 · 0 评论 -
Spark综合学习笔记(二十三)SparkSQL实战5-WordCount
学习致谢https://www.bilibili.com/video/BV1Xz4y1m7cv?p=60需求使用SparkSQL的SQL和DSL两种方式完成wordCount代码实现package sqlimport org.apache.spark.sql.{DataFrame, Dataset, SparkSession}/** * Author itcast * Desc 演示使用spark-SQL-使用SQL和DSL两种方式实现WordCount */object原创 2021-11-29 15:40:50 · 416 阅读 · 0 评论 -
Spark综合学习笔记(二十二)SparkSQL实战4-花式查询
SparkSQL花式查询在Spark5QL模块中,将结构化数据封装到DataFrame或Dataset集合中后,提供了两种方式分析处理数据:1、SQL编程,将DataFrame/Dataset注册为临时视图或表,编写SQL语句,类似HiveQL;2、DSL (domain-specific language)编程,(类似于面向对象)调用DataFrame/Dataset APIl(函数),类似RDD中函数;需求:针对personDF中的数据使用SQL和DSL两种方式进行各种查询运行结果原创 2021-11-29 14:18:21 · 553 阅读 · 0 评论 -
Spark综合学习笔记(二十一)SparkSQL实战3-RDD-DF-DS相互转换
学习致谢https://www.bilibili.com/video/BV1Xz4y1m7cv?p=58转换API实际项目开发中,常常需要对RDD、DataFrame及Dataset之间相互转换,其中要点就是Schema约束结构信息。·图解代码实现package sqlimport org.apache.spark.rdd.RDDimport org.apache.spark.sql.{DataFrame, Dataset, Row, SparkSession}/** * Aut原创 2021-11-25 17:22:09 · 531 阅读 · 0 评论 -
Spark综合学习笔记(二十)SparkSQL实战2-RDD转DF
学习致谢https://www.bilibili.com/video/BV1Xz4y1m7cv?p=57一、使用样例类1.要读取的文件1 zhangsan 202 lisi 293 wangwu 254 zhaoliu 305 tianqi 356 kobe 402.代码实现package sqlimport org.apache.spark.rdd.RDDimport org.apache.spark.sql.{DataFrame, SparkSession}/**原创 2021-11-25 15:54:45 · 1065 阅读 · 0 评论 -
Spark综合学习笔记(十九)SparkSQL实战1-加载数据成为分布式表
学习致谢https://www.bilibili.com/video/BV1Xz4y1m7cv?p=54SparkSession应用入口Spark 2.0开始,SparkSession取代了原本的SQLContext与HiveContext作为SparkSQL应用程序的入口,可以加载不同数据源的数据,封装到DataFrame/Dataset集合数据结构中,使得编程更加简单,程序运行更加快速高效。注意原本的SQLContext与HiveContext仍然保留,以支持向下兼容。http://spark.原创 2021-11-25 14:31:42 · 319 阅读 · 0 评论 -
Spark综合学习笔记(十八)SparkSQL数据抽象
学习致谢https://www.bilibili.com/video/BV1Xz4y1m7cv?p=53引言SparkCore的数据抽象:RDDSparkStreaming的数据抽象:DStream,底层是RDDSparkSQL的数据抽象:DataFrame和DataSet,底层是RDDDataFrame是什么DataFrame=RDD-泛型+Schema约束(指定了字段名和类型)+SQL操作+优化DataFrame就是在RDD的基础之上做了进一步的封装,支持SQL操作!DataFram原创 2021-11-25 12:04:10 · 6720 阅读 · 0 评论 -
Spark综合学习笔记(十七)SparkSQL概述
学习致谢:https://www.bilibili.com/video/BV1Xz4y1m7cv?p=52数据分析方式命令式缺点:有一定的学习成本/入门门槛优点:灵活!可以使用底层api实现很复杂的业务SQL优点:入门门槛低,只要会英文单词/简单的语法规则就可以写缺点:只能做一些简单的业务,负责业务实现起来就比较苦难SparkSQL的前世今生SparkSQL诞生从Spark框架1.0开始发布SparkSQL模块开发,直到1.3版本发布SparkSQL Release版本可以在生产环原创 2021-11-25 11:53:55 · 356 阅读 · 0 评论 -
Spark综合学习笔记(十六)SparkStreaming整合Kafka-代码实现3-手动提交偏移量到MYSQL
学习致谢:https://www.bilibili.com/video/BV1Xz4y1m7cv?p=50需求:手动提交偏移量到MYSQL代码实现(1)SparkStreaming_Kafka_Demo03package streamingimport org.apache.kafka.clients.consumer.ConsumerRecordimport org.apache.kafka.common.TopicPartitionimport org.apache.kafka.co原创 2021-11-24 16:01:17 · 202 阅读 · 0 评论 -
Spark综合学习笔记(十五)SparkStreaming整合Kafka-代码实现2-手动提交偏移量
学习致谢https://www.bilibili.com/video/BV1Xz4y1m7cv?p=49http://spark.apache.org/docs/latest/streaming-kafka-0-10-integration.html代码实现package streamingimport org.apache.kafka.common.serialization.StringDeserializerimport org.apache.spark.streaming.kafka0原创 2021-11-24 14:51:37 · 360 阅读 · 0 评论 -
Spark综合学习笔记(十四)SparkStreaming整合Kafka-代码实现1-自动提交偏移量
学习致谢:https://www.bilibili.com/video/BV1Xz4y1m7cv?p=48需求自动提交偏移量到默认主题和Checkpoint中官网给出了使用方法和代码,http://spark.apache.org/docs/latest/streaming-kafka-0-10-integration.html代码实现package streamingimport org.apache.kafka.common.serialization.StringDeseriali原创 2021-11-24 14:19:39 · 550 阅读 · 0 评论 -
Spark综合学习笔记(十三)SparkStreaming整合Kafka-连接方式和API版本
学习致谢;https://www.bilibili.com/video/BV1Xz4y1m7cv?p=48介绍在实际项目中,无论使用Storm还是SparkStreaming与Flink,主要从Kafka实时消费数据进行处理分析,流式数据实时处理技术架构大致如下:SparkStreaming+Kafka流程流式数据----->(Flume)----->Kafka------>SparkStreaming/StructStreaming/Flink------>Redis/原创 2021-11-24 11:03:57 · 8031 阅读 · 0 评论 -
Spark综合学习笔记(十二)SparkStreaming案例6自定义输出
学习致谢https://www.bilibili.com/video/BV1Xz4y1m7cv?p=46需求:对上述案例的结果数据输出到挫制台外的其他组件,如MySQL/HDFS注意:foreachRDD函数属于将DStream中结果数据RDD输出的操作,类似transform函数,针对每批次RDD数据操作,但无返回值DStream.print方法源码底层调用的也是foreachRDD代码实现package streamingimport java.sql.{Connection, Dri原创 2021-11-23 16:13:54 · 1024 阅读 · 0 评论 -
Spark综合学习笔记(十一)SparkStreaming案例5 topN
学习致谢https://www.bilibili.com/video/BV1Xz4y1m7cv?p=45添加链接描述代码实现package streamingimport org.apache.spark.rdd.RDDimport org.apache.spark.streaming.dstream.{DStream, ReceiverInputDStream}import org.apache.spark.streaming.{Seconds, StreamingContext}imp原创 2021-11-23 15:37:17 · 481 阅读 · 0 评论 -
Spark综合学习笔记(十)SparkStreaming案例4 窗口计算
学习致谢:https://www.bilibili.com/video/BV1Xz4y1m7cv?p=44需求使用窗口计算:每隔5s(滑动间隔)计算最近10s(窗口长度)的数据!回顾窗口:窗口长度:要计算多久的数据滑动间隔:每隔多久计算一次窗口长度10s >滑动间隔5s:每隔5s计算最近10s的数据–滑动窗口窗口长度10s =滑动间隔10s:每隔10s计算最近10s的数据–滚动窗口窗口长度10s<滑动间隔15s:每隔15s计算最近10s的数据–会丢失数据,开发不用理解:上述可能有原创 2021-11-23 14:13:17 · 843 阅读 · 0 评论 -
Spark综合学习笔记(九)SparkStreaming案例3 状态恢复-扩展
学习致谢:https://www.bilibili.com/video/BV1Xz4y1m7cv?p=43需求:上节实现状态管理时,我们注意到:历史状态维护只能在当前应用就是说停掉应用之后再重新启动,后之前的数据恢复不了了所以今天我们来实现状态恢复代码实现package streamingimport org.apache.spark.streaming.dstream.{DStream, ReceiverInputDStream}import org.apache.spark.str原创 2021-11-23 10:54:04 · 543 阅读 · 0 评论 -
Spark综合学习笔记(八)SparkStreaming案例2 状态管理
学习致谢:https://www.bilibili.com/video/BV1Xz4y1m7cv?p=42需求:对从Socket接收的数据做WordCoun并要求能够和历史数据进行累加!如:先发了一个spark,得到spark,1然后不管隔多久再发一个spark,得到spark,2也就是说要对数据的历史状态进行维护!实现思路:一、updataStateByKey先设置checkpoint存储状态status,使用updataStateByKey实现状态管理的单词统计,需要自己写一个updat原创 2021-11-23 10:13:41 · 7914 阅读 · 0 评论 -
Spark综合学习笔记(七)SparkStreaming案例1 WordCount
需求:从TCP Socket数据源实时消费数据,对每批次Batch数据进行词频统计WordCount,流程图如下:准备工作1.在node01上安装nc命令nc是netcat的简称,原本是用来设置路由器,我们可以利用它向某个端口发送数据yum install -y nc代码的实现:...原创 2021-11-18 18:06:44 · 876 阅读 · 0 评论 -
Spark综合学习笔记(六)SparkStreaming数据抽象-DStream
学习致谢:https://www.bilibili.com/video/BV1Xz4y1m7cv?p=40DStream是什么DStream的本质DStream(Discretized Stream)是Spark Streaming提供的基本数据抽象。它表示一个连续的数据流,可以是从源接收到的输入数据流,也可以是通过转换输入流生成的已处理数据流。DStream由一系列连续的RDD表示,每个RDD都包含来自特定间隔的数据,如下图所示。SparkStreaming对流数据按照秒/分等时间间隔进行微批划原创 2021-11-18 14:55:24 · 1733 阅读 · 0 评论 -
Spark综合学习笔记(五)SparkStreaming介绍
学习zlxxxxooooooooooooo# - Sparking Streaming在Spark中的位置20211110-20211116,086110840006,21329Spark Streaming是Spark生态系统当中一个重要的框架,它建立在Spark Core之上,下图也可以看出SparkingStreaming在Spark生态系统中地位。- 官网中的介绍-特点-SparkStreaming数据处理流程SparkStreaming是一个基于SparkCore之上的实时计原创 2021-11-17 16:03:49 · 811 阅读 · 0 评论 -
Spark综合学习笔记(四)流式计算应用场景和处理模式
学习致谢:https://www.bilibili.com/video/BV1Xz4y1m7cv?p=39流式计算应用场景介绍1.双十一大屏2.商品推荐3.工业大数据4.集群监控针对各种数据库,包括MySQL,HBase等进行监控针对应用进行监控,例如Tomcat,Nginx,Node.js针对硬件的一些指标进行监控,例如CPU,内存,磁盘等5.火车站,汽车站的班次信息牌6.地震预警7.支付宝异地付款Streaming计算模式模式一、原生流处理模式二、微批处理(B原创 2021-11-17 14:37:50 · 1364 阅读 · 0 评论 -
Spark综合学习笔记(三)搜狗搜索日志分析
学习致谢:https://www.bilibili.com/video/BV1Xz4y1m7cv?p=36搜狗搜索日志分析一、 数据数据网站: http: //www.sogou.com/labs/resource/q.php二、需求针对SougoQ用户查询日志数据中不同字段,使用SparkContext读取日志数据,封装到RDD数据集中,调用Transformation函数和Action函数进行处理不同业务统计分析三、分词工具测试使用比较流行好用的中文分区:HanLP,面向生产环境的自原创 2021-11-16 18:21:06 · 3779 阅读 · 3 评论 -
Spark综合学习笔记(二)Spark内核原理
学习致谢:https://www.bilibili.com/video/BV1Xz4y1m7cv?p=32Spark内核原理一、依赖关系宽依赖:有shuffle子RDD的一个分区会依赖于父RDD的多个分区–错误父EDD的一个分区会被子RDD的多个分区所依赖–正确窄依赖:没有shuffle子RDD的一个分区会依赖于父RDD的1个分区–错误父EDD的一个分区会被子RDD的1个分区所依赖–正确为什么要区分宽窄依赖对窄依赖:并行化+容错宽依赖:进行阶段划分,(shuffle后的阶段需要原创 2021-11-16 15:23:10 · 526 阅读 · 0 评论 -
实际使用java来编写和使用spark的几个例子
一、使用Java语言开发sparkstreaming完成WordCountpackage Test;import org.apache.spark.SparkConf;import org.apache.spark.streaming.Durations;import org.apache.spark.streaming.api.java.JavaPairDStream;import org.apache.spark.streaming.api.java.JavaReceiverInputDSt原创 2021-11-16 11:38:51 · 2663 阅读 · 0 评论 -
使用Java编写Spark Streaming来做大数据处理(五)
本篇围绕spark开发中的优化展开九项原则一、避免重复创建RDD二、复用同一RDD三、频繁使用的RDD进行持久化.persist(StorageLevel.MEMORY_AND_DISK());记得释放资源rdd.unpersist();四、尽量避免shuffle算子众所周知,rdd3=rdd1.join(rdd2);join操作会导致shuffle操作这时候我们可以使用Broadcast将一个数据量小的RDD作为广播变量val rdd2Data=rdd2.collect();v原创 2021-11-15 18:15:01 · 732 阅读 · 0 评论 -
Spark综合学习笔记(一)
1.Spark概述1.1spark发展历史2009年诞生2014成为Apache顶级项目2016发布2.02019发布3.02020九月份发布3.0.11.2使用现状1.3官网介绍spark是一个大数据领域统一的数据分析、计算、处理引擎1.3.1流行原因1.5组成模块补充:Hadoop和spark的对比...原创 2021-09-10 10:51:55 · 126 阅读 · 0 评论 -
使用Java编写Spark Streaming来做大数据处理(四)
本次我们只要从数据的流向和类型带大家深入spark原创 2021-09-06 14:08:47 · 381 阅读 · 1 评论