Spark
文章平均质量分 65
菜鸟也学大数据
这个作者很懒,什么都没留下…
展开
-
Spark堆内内存、堆外内存管理
深入了解spark堆内、堆外内存管理原创 2023-03-06 13:57:34 · 518 阅读 · 0 评论 -
六万字!Spark Core、Spark SQL、Spark Streaming一锅端
目录一、什么是Spark?介绍特点与MapReduce相比技术栈二、Spark架构运行架构核心组件三、Spark RDD概念特性DAG分区创建方式操作算子常用的转换算子(Scala版)常用的转换算子(Java版)常用的动作算子(Scala)四、未完待结一、什么是Spark?介绍诞生于加州大学伯克利分校AMP实验室,是一个基于内存的分布式计算框架特点速度快基于内存数据处理,比MR快100个数量级以上(逻辑回归算法测试)基于硬盘数据处理,比MR快10个数量级以上易用性支持Java、Scala原创 2021-01-20 23:19:20 · 1031 阅读 · 0 评论 -
Spark Streaming时间窗口示例
示例采集Kafka中数据实现Spark Streaming类import org.apache.kafka.clients.consumer.{ConsumerConfig, ConsumerRecord}import org.apache.spark.SparkConfimport org.apache.spark.streaming.{Seconds, StreamingContext}import org.apache.spark.streaming.dstream.{DStream,原创 2020-12-22 21:39:11 · 792 阅读 · 0 评论 -
SparkStreaming自定义采集器
实现自定义采集器类import java.io.{BufferedReader, InputStreamReader}import org.apache.spark.SparkConfimport org.apache.spark.storage.StorageLevelimport org.apache.spark.streaming.dstream.{DStream, ReceiverInputDStream}import org.apache.spark.streaming.{Seconds原创 2020-12-21 17:15:14 · 298 阅读 · 2 评论 -
SparkStreaming采集Kafka数据
实现SparkStreaming类import org.apache.kafka.clients.consumer.{ConsumerConfig, ConsumerRecord}import org.apache.spark.streaming.dstream.{DStream, InputDStream}import org.apache.spark.streaming.kafka010.{ConsumerStrategies, KafkaUtils, LocationStrategies}im原创 2020-12-21 16:57:40 · 223 阅读 · 0 评论 -
SparkStreaming简单示例
实现SparkStream类:两个版本二选一即可实现SparkStream类(Scala版)import org.apache.spark.SparkConfimport org.apache.spark.streaming.dstream.{DStream, ReceiverInputDStream}import org.apache.spark.streaming.{Seconds, StreamingContext}object SparkStreamDemo { def main.原创 2020-12-21 16:42:54 · 434 阅读 · 0 评论 -
Spark GraphX之Pregel
参考地址:https://blog.csdn.net/hanweileilei/article/details/89764466Pregel介绍Pregel是google提出的用于大规模分布式图计算框架。主要用于图遍历(BFS)、最短路径(SSSP)、PageRank等计算Pregel源码 def pregel[A: ClassTag]( initialMsg: A, maxIterations: Int = Int.MaxValue, activeDi.原创 2020-11-27 09:42:03 · 261 阅读 · 0 评论 -
Spark GraphX之Connected Components
原文地址:https://www.jianshu.com/p/8b0a4ce52703Connected Components介绍Connected Components算法是计算Graph图中每个顶点所连接的最小顶点值,通过这个算法可以清晰的看到Graph图中有几个连通图示例图可以看到这个Graph图中存在两个连通图测试数据links.csv1,2,friend1,3,sister2,4,brother3,2,boss4,5,client1,9,friend6,.原创 2020-11-26 14:29:52 · 630 阅读 · 0 评论 -
Spark Graphx常用函数
Spark Graph定义object SparkGraph { def main(args: Array[String]): Unit = { val spark: SparkSession = SparkSession.builder().master("local").appName("Graph").getOrCreate() val sc: SparkContext = spark.sparkContext //创建Vertices //注意元组的顶点的数据类原创 2020-11-26 13:50:38 · 407 阅读 · 0 评论 -
Spark GraphX图形数据分析
图(Graph)概念图是由顶点集合(vertex)及顶点间的关系集合(边edge)组成的一种网状数据结构通常表示为二元组:Gragh=(V,E)可以对事物之间的关系建模应用场景在地图应用中寻找最短路径社交网络关系网页间超链接关系顶点(vertex)与边(Edge)顶点与边的关系Graph=(V,E)集合V={v1,v2,v3}集合E={(v1,v2),(v1,v3),(v2,v3)}有向图G=(V,E)V={A,B,C,D,E}E={<A,B&g原创 2020-11-23 16:57:59 · 646 阅读 · 0 评论 -
Spark处理JSON数据
JSON数据示例1593136280858|{“cm”{“ln”:"-55.0",“sv”:“V2.9.6”,“os”:“8.0.4”,“g”:“C6816QZ0@gmail.com”,“mid”:“489”,“nw”:“3G”,“l”:“es”,“vc”:“4”,“hw”:“640*960”,“ar”:“MX”,“uid”:“489”,“t”:“1593123253541”,“la”:“5.2”,“md”:“sumsung-18”,“vn”:“1.3.4”,“ba”:“Sumsung”,“sr”:“I原创 2020-11-20 14:16:25 · 1458 阅读 · 0 评论 -
Spark数据清洗(日志信息)
模拟日志数据格式//日志格式2018-09-04T20:27:31+08:00 http://datacenter.bdqn.cn/logs/user?actionBegin=1536150451690&actionClient=Mozilla%2F5.0+%28Windows+NT+10.0%3B+WOW64%29+AppleWebKit%2F537.36+%28KHTML%2C+like+Gecko%29+Chrome%2F63.0.3239.132+Safari%2F537.36&原创 2020-11-19 16:35:03 · 8239 阅读 · 3 评论 -
sql语句练习50题(Spark版)
原文为MySQL语句练习,需要的点击这里表名与字段–1.学生表Student(s_id,s_name,s_birth,s_sex) --学生编号,学生姓名, 出生年月,学生性别–2.课程表Course(c_id,c_name,t_id) – --课程编号, 课程名称, 教师编号–3.教师表Teacher(t_id,t_name) --教师编号,教师姓名–4.成绩表Score(s_id,c_id,s_score) --学生编号,课程编号,分数建表语句--建表--学生表CREATE T原创 2020-11-18 10:53:01 · 737 阅读 · 1 评论 -
Spark UDTF的定义与使用
UDTF概述UDTF(一进多出):对每个列中的每一个元素进行操作,返回一个列(行转列)UDF(一进一出):点击这里UDAF(多进一出):点击这里UDTF的定义//创建class类继承GenericUDTF,重写initialize、process、closeclass UDTF类名 extends GenericUDTF {}UDTF的使用//在获取SparkSession实例时需要加上.enableHiveSupport(),否则无法使用val spark = SparkSessi原创 2020-11-18 10:23:53 · 2811 阅读 · 0 评论 -
Spark UDAF的定义与使用
UDAF概述UDAF(多进一出):如同聚合函数UDF(一进一出):点击这里UDAF定义//创建class类继承UserDefinedAggregateFunction并重写其中的方法inputSchema、bufferSchema、dataType、deterministic、initialize、update、merge、evaluateclass 类名 extends UserDefinedAggregateFunction{}UDAF的使用 //注册自定义UDAF函数 va原创 2020-11-18 09:29:51 · 1726 阅读 · 0 评论 -
Spark聚合函数agg
agg的作用正常情况下,当我们使用了聚合算子,后面就无法在使用其他聚合算子而agg可以使我们同时获取多个聚合运算结果示例object InnerFunctionDemo { def main(args: Array[String]): Unit = { val spark = SparkSession.builder().master("local[*]").appName("function").getOrCreate() import spark.implicits._原创 2020-11-17 11:29:59 · 5654 阅读 · 0 评论 -
Spark UDF的定义与使用
UDF的定义spark.udf.register("自定义UDF名称",(v:[数据类型])=>[自定义执行代码块...])UDF的使用spark.sql("select UDF名称(字段) from 表(DF/视图等)")示例object SparkUDFDemo { case class Hobbies(name:String,hobbies: String) def main(args: Array[String]): Unit = { val spark = Sp原创 2020-11-17 11:15:00 · 2245 阅读 · 1 评论 -
Spark SQL连接获取MySQL、Hive、HDFS上的数据
本篇所有操作在Idea上完成Spark To MySQL首先要在pom.xml中添加依赖包(根据的自己的使用的版本修改,不清楚的可以去maven官网查找自己对应版本的代码),对项目创建不清楚的可以:点击这里 <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version&.原创 2020-11-17 09:37:35 · 434 阅读 · 0 评论 -
Spark SQL窗口函数
‘*’为表中所有列,‘rank()为窗口,是一个新列,于Mysql的使用一致’val df = df.selectExpr("*"," rank() over(partition by 字段 order by 字段 desc) as 字段别名" )//selectExpr之后依旧可以执行一些其他操作val df = df.selectExpr("*"," rank() over(partition by 字段 order by 字段 desc) as 字段别名" ).where.等等...原创 2020-11-16 12:03:37 · 391 阅读 · 0 评论 -
Spark SQL字段转成百分比格式
使用round处理小数点、concat增加百分号//保留两位小数val df = df.selectExpr("concat(round(字段名*100,2),'%')")原创 2020-11-16 11:54:03 · 1897 阅读 · 0 评论 -
Spark SQL中Dataset、DataFrame的常用函数
Dataset的常用函数object DataSet { //定义样例类 case class student(name:String,age:Integer,grade:String) def main(args: Array[String]): Unit = { val spark = SparkSession.builder().master("local").appName("ds").getOrCreate() //定义隐式转换(否则会报错) import原创 2020-11-13 13:44:59 · 304 阅读 · 0 评论 -
Spark SQL中Dataset、DataFrame的创建与使用
Dataset的使用创建的关键字是:createDataset//createDataset()的参数可以是:Seq、Array、RDD//示例一scala> spark.createDataset(1 to 3)//返回的类型是Dataset[Int]res24: org.apache.spark.sql.Dataset[Int] = [value: int]/*+-----+|value|+-----+| 1|| 2|| 3|+-----+*/原创 2020-11-12 16:53:59 · 821 阅读 · 0 评论 -
Spark SQL加载操作csv、json文件
加载操作文件csv格式object SelectCSV { def main(args: Array[String]): Unit = { //获取SparkSession实例 val conf = new SparkConf().setMaster("local").setAppName("select") val spark = SparkSession.builder().config(conf).getOrCreate() //加载cav格式文件 val原创 2020-11-12 15:35:12 · 333 阅读 · 0 评论 -
Spark Submit--上传Spark JAR包至Linux中执行
本文以实现WordCount为例一.代码实现object WordCount { def main(args: Array[String]): Unit = { //生成SparkContext实例 val conf:SparkConf = new SparkConf().setMaster("local[*]").setAppName("wordcount") val sc:SparkContext = SparkContext.getOrCreate(conf) .原创 2020-11-12 15:08:18 · 581 阅读 · 0 评论 -
Spark加载JSON文件方式
JSON文件内容{“name”:“Michael”}{“name”:“Andy”,“Age”:30}{“name”:“Justin”,“Age”:19}实现代码object JsonDemo { def main(args: Array[String]): Unit = { //创建SparkConf对象,设置local数,以及应用名称 val conf: SparkConf = new SparkConf().setAppName("csv").setMaster("loc原创 2020-11-12 13:53:18 · 321 阅读 · 0 评论 -
初识Spark
Spark基础及架构Spark是类Hadoop MapReduce的通用并行框架Job中间输出结果可以保存在内存,不再需要读写HDFS比MapReduce平均快10倍以上Spark优势速度快1. 基于内存数据处理,比MR快100个数量级以上(逻辑回归算法测试2. 基于硬盘数据处理,比MR快10个数量级以上易用性1. 支持Java、Scala、Python、R语言2. 交互式shell方便开发测试通用性1. 一栈式解决方案:批处理、交互式查询、实时流处理、图计算及机器学习随处运原创 2020-11-11 09:21:54 · 105 阅读 · 0 评论 -
Spark RDD宽依赖与窄依赖关系图
窄依赖一个父RDD的分区被子RDD的一个分区使用宽依赖一个父RDD的分区被子RDD的多个分区使用宽依赖对比窄依赖宽依赖对应的是shuffle操作,需要在运行时将同一个父RDD的分区传入到不同的子RDD分区中,不同的分区可能位于不同的节点,就可能涉及多个节点间数据传输当RDD分区丢失时,Spark会对数据进行重新计算,对于窄依赖只需重新计算一次子RDD的父RDD分区结论:相比于宽依赖,窄依赖对优化更有利...原创 2020-11-11 08:46:25 · 253 阅读 · 0 评论 -
Spark RDD算子大全(Java、Scala双版本)
一.Spark RDD概念概述RDD是将数据项拆分为多个分区的集合,存储在集群的工作节点上的内存中,并执行指定操作RDD是用于数据转换的接口RDD指向了存储在HDFS、Cassandra、HBase等、或缓存(内存、内存+磁盘、仅磁盘等),或在故障或缓存收回时重新计算其他RDD分区中的数据特性分布式数据集RDD是只读的、分区记录的集合,每个分区分布在集群的不同节点上RDD并不存储真正的数据,只是对数据和操作的描述弹性RDD默认存放在内存中,当内存不足,Spark自动将RDD原创 2020-11-04 16:12:08 · 727 阅读 · 0 评论 -
Spark简单示例:WordCount
这里使用的开发工具时Idea,语言是Scala学习Spark的第一个程序worldCount新建maven项目不清楚如何创建maven项目的可以点击这里(前六步)配置pom.xml文件<!- 在原有基础上添加以下内容,下面使用的版本需要根据自己使用的版本进行修改><dependency> <groupId>org.scala-lang</groupId> <artifactId>scala-library.原创 2020-11-03 16:24:30 · 320 阅读 · 0 评论 -
Spark安装配置(单机模式)
安装步骤第一步:解压spark压缩包:tar -zxvf spark-2.4.5-bin-hadoop2.6 -C /opt第二步:配置/etc/profileexport SPARK_HOME=/spark所在路径export PATH=$PATH:$SPARK_HOME/bin//配置完后需要source /etc/profile第三步:复制一份spark路径/conf目录下的spark-env-sh.template到当前目录下并修改名为spark-env-sh第四步:修改配置上原创 2020-10-30 14:21:38 · 495 阅读 · 0 评论