Spark
ss
稳哥的哥
babe babe babe wowowowowowoow~!
寒江孤影、江湖故人
展开
-
Spark-之自定义wordCount累加器
Spark-之自定义wordCount累加器SparkCore中的3种数据类型:累加器(只写)RDD广播变量(只读)累加器在多个action算子触发的job中重复累加,且需要action算子才能触发累加器操作。package com.shufang.accimport com.shufang.utils.ScUtilimport org.apache.spark.SparkContextimport org.apache.spark.rdd.RDDimport org.apache原创 2021-08-24 21:52:01 · 195 阅读 · 0 评论 -
Spark-之数据持久化(血缘关系cache\persist\checkpoint)
Spark-之数据持久化(血缘关系 cache\persist\checkpoint)cachepersistcheckpointcache、persist默认都是调用persist(StorageLevel.MEMORY_ONLY)。1、cache & persist由于RDD本身是不存储数据的,它只是一个抽象。多个RDD之间可能存在依赖,这种现象被称为RDD的血缘关系,RDD的血缘关系在job触发的时候形成DAG。1、如果没有将RDD进行持久化。如果一个RDD同时触发2原创 2021-08-24 21:26:41 · 714 阅读 · 1 评论 -
Spark-之不同的wordCount
Spark-之不同的wordCountpackage com.shufang.wcimport com.shufang.utils.ScUtilimport org.apache.spark.SparkContextimport org.apache.spark.rdd.RDDimport scala.collection.mutableobject WordCountDemo001 { def main(args: Array[String]): Unit = { val s原创 2021-08-23 22:55:05 · 100 阅读 · 0 评论 -
Spark-之聚合算子的关系与区别
Spark-之聚合算子的关系与区别reduceByKeyaggregateByKeyfoldByKeycombineByKey四种聚合方式都是在shuffle之前在分区内作预先聚合的操作,相对比groupByKey + map的方式,这些性能更加好,因为从map -> 磁盘 -> reduce这个过程中的mapstage的io减少了。这些函数的过程分为: 1、分区内聚合map端聚合 2、分区间的shuffle聚合下面通过4种不同的算子实现 wordcount操作!!#原创 2021-08-22 23:46:56 · 399 阅读 · 0 评论 -
Spark- 之不同Source产生RDD的分区数与数据分配
Spark- 之不同Source产生RDD的分区数与数据分配通常Spark的数据源可以分为很多中,这里主要是从源码剖析内存集合与文件分区数的确定与数据分配。1 集合RDD的分区与数据分配具体看以下代码及注释。package com.shufang.parallel_yuanliimport com.shufang.utils.ScUtilimport org.apache.spark.{SparkConf, SparkContext}import org.apache.spark.rdd.R原创 2021-08-22 15:07:53 · 177 阅读 · 0 评论 -
Spark1.6.+ - 之内存管理Memory-Manage
Spark1.6.+ - 之内存管理1、前言在Spark1.6.+及以后的版本就引入了用户自定义的内存管理模型,但是是粗粒度的内存管理模型。总的来说,Spark的内存管理虽然没有做到Flink那么细粒度,但是也已经足够用于对内存进行优化了。Spark的每个运行时组件都是运行在一个独立的container中,这个container的启动内存由以下4个主要的大的内存配置进行确定,我们按照executor的内存单独来看,如下!~spark.executor.memory (heap size)这个原创 2021-07-08 21:25:42 · 277 阅读 · 2 评论 -
spark-之客户端访问hive注意事项(元数据访问、压缩格式)
spark-之客户端访问hive注意事项(元数据访问、压缩格式)1 hive元数据服务配置与启动像spark、presto这样需要查询hive中的表中的数据,必须配置hive元数据的thrift服务ip和端口,否则会启动报错。<!--1、必须启动hive的元数据服务 vim hive-site.xml--><property> <name>hive.metastore.uris</name> <value>thrift://shuf原创 2021-05-15 00:09:22 · 268 阅读 · 0 评论 -
spark-之访问Hive数据源(外部、内部Hive、thrift server)
spark-之访问Hive数据源(外部、内部Hive、thrift server)spark本身就使用的是Hive的Catalog作为内部shema的标准,如果在类路径下访问不到Hive的conf文件,那么就会在本地生成Hive相关的元数据、数据目录,这些内容被称为Spark的内置hive,通常我们需要连接的数据源是外部hive.由于不管是哪种模式,就算是最简单的local模式,我们也可以连接hive数据源进行相关操作,以下操作都是基于local模式,当然你可以使用standalone和yarn进行原创 2021-01-16 13:06:28 · 4146 阅读 · 0 评论 -
SparkStreaming2.4整合kafka_010
SparkStreaming2.4整合kafka_010maven依赖如下:<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance...原创 2020-02-29 14:01:25 · 1095 阅读 · 0 评论 -
Spark 各种JVM配置以及读取
Spark 各种JVM配置具体参考博客:https://www.cnblogs.com/chenghaohao/p/8059709.htmlyarn clinet模式JVM参数设置DriverExecutor-Xmx -Xms默认读取spark-env.sh中的SPARK_DRIVER_MEMORY:-Xmx=-XmsSPARK_EXECUTOR_MEMORY...原创 2019-11-29 16:21:56 · 470 阅读 · 0 评论 -
Spark优化之-动态资源分配
Spark-动态资源分配动态资源分配:可以使用在yarn mesos standalone等部署模式必要前提条件设置 spark.dynamicAllocation.enabled true设置 spark.shuffle.service.enabled true在yarn模式下可以参考:https://spark.apache.org/docs/late...原创 2019-11-29 15:58:15 · 395 阅读 · 0 评论 -
kryo在spark中的使用 (scala)
package com.shufang.spark_rddimport com.esotericsoftware.kryo.Kryoimport org.apache.spark.rdd.RDDimport org.apache.spark.serializer.KryoRegistratorimport org.apache.spark.{SparkConf, SparkContext...原创 2019-11-29 11:55:41 · 658 阅读 · 0 评论 -
spark广播变量、累加器的单例模式
object WordBlacklist { @volatile private var instance: Broadcast[Seq[String]] = null def getInstance(sc: SparkContext): Broadcast[Seq[String]] = { if (instance == null) { synchronized ...翻译 2019-11-28 17:01:30 · 198 阅读 · 0 评论 -
SparkSQL UDF、UDAF
package com.shufang.spark_sqlimport org.apache.spark.sql.expressions.{MutableAggregationBuffer, UserDefinedAggregateFunction, UserDefinedFunction}import org.apache.spark.sql.types.{DataType, Struct...原创 2019-11-28 15:35:57 · 121 阅读 · 0 评论 -
用指定schema创建DataFrame
package com.shufang.spark_sqlimport com.shufang.utils.SparkUtilsimport org.apache.spark.rdd.RDDimport org.apache.spark.sql.Rowobject DataFrameWithSchema { def main(args: Array[String]): Unit ...原创 2019-11-27 16:42:01 · 478 阅读 · 0 评论 -
spark中RDD分区解读
spark中RDD分区决定参数# map端task的数量与RDD的分区数是一致的spark.default.parallelism = max(所有executor使用的core总数,2) spark.files.maxPartitionBytes = 128 M (默认) 每个分区的最大字节数sc.defaultParallelism = spark.default.parall...原创 2019-11-27 14:11:56 · 390 阅读 · 0 评论 -
spark的log4j
## Licensed to the Apache Software Foundation (ASF) under one or more# contributor license agreements. See the NOTICE file distributed with# this work for additional information regarding copyrigh...原创 2019-11-04 17:10:29 · 138 阅读 · 0 评论 -
spark读写mysql
package com.shufang.test1import org.apache.spark.rdd.RDDimport org.apache.spark.sql.{DataFrame, SparkSession}import org.apache.spark.{SparkConf, SparkContext}/** * @ ObjectName TestSpark * @...原创 2019-11-04 17:08:49 · 121 阅读 · 0 评论 -
Spark优化
Spark-2.1.1优化[外链图片转存失败(img-iMVe0Xre-1568791026774)(C:\Users\shufang\Pictures\e213d95e54c5b4fb355b710a473292ea.jpg)]spark_conf tuning1.资源分配优化合理设置driver、executor的cores、memory spark.driver.cores ...原创 2019-09-18 15:19:04 · 165 阅读 · 0 评论