spark
不加班程序员
小白一枚
展开
-
zeppelin部署文档
zeppline部署文档原创 2022-08-23 17:05:37 · 1974 阅读 · 0 评论 -
spark操作Redis
需求:需要通过spark对redis里面的数据进行实时读写实现方案:通过建立连接池,在每台机器上单独建立连接,进行操作1、利用lazy val的方式进行包装 class RedisSink(makeJedisPool: () => JedisPool) extends Serializable { lazy val pool = makeJedisPool() } object RedisSink { def apply(redisHost: String,原创 2022-02-28 15:07:03 · 3404 阅读 · 3 评论 -
Spark中字符串和json、map格式相互转化
Spark中字符串和json格式相互转化字符串转为mapimport org.json4s.DefaultFormatsimport org.json4s.jackson.JsonMethods.parseval ad = """{"name":"zsd","age":11}"""implicit val formats: DefaultFormats.type = org.json4s.DefaultFormatsval adMap: Map[String, Any] = parse(a原创 2021-01-19 15:31:30 · 1438 阅读 · 0 评论 -
通过Spark向Kafka写入数据
1、·将KafkaProducer利用lazy val的方式进行包装package cn.com.m.utilimport java.util.concurrent.Futureimport org.apache.kafka.clients.producer.{KafkaProducer, ProducerRecord, RecordMetadata}class KafkaSink[K, V](createProducer: () => KafkaProducer[K, V]) ext原创 2020-11-09 13:59:19 · 2548 阅读 · 0 评论 -
Spark中Accumulator的使用
Accumulator简介Accumulator是spark提供的累加器,顾名思义,该变量只能够增加。只有driver能获取到Accumulator的值(使用value方法),Task只能对其做增加操作(使用 +=)。你也可以在为Accumulator命名(不支持Python),这样就会在spark web ui中显示,可以帮助你了解程序运行的情况。Accumulator使用使用示例举...转载 2019-05-05 10:34:23 · 1328 阅读 · 0 评论 -
Spark持久化&检查点
1.持久化Spark持久化过程包括persist、cache、upersist3个操作 /** Persist this RDD with the default storage level (`MEMORY_ONLY`). */ def persist(): this.type = persist(StorageLevel.MEMORY_ONLY) ...转载 2019-04-23 16:44:19 · 394 阅读 · 0 评论 -
Spark RDD基本转换
union、intersection、subtractuniondef union(other: RDD[T]): RDD[T]该函数比较简单,就是将两个RDD进行合并,不去重。scala> var rdd1 = sc.makeRDD(Seq(1,2,2,3))rdd1: org.apache.spark.rdd.RDD[Int] = ParallelCollection...原创 2019-04-17 10:39:48 · 221 阅读 · 0 评论 -
spark scala 对dataframe进行过滤----filter方法使用
val df = sc.parallelize(Seq(("a", 1), ("a", 2), ("b", 2), ("b", 3), ("c", 1))).toDF("id", "num")对整数类型过滤逻辑运算符:>, <, ===df.filter($"num"===2)df.filter($"num">2)df.filter($"num"<2)或者d...转载 2019-04-04 17:23:10 · 11423 阅读 · 0 评论 -
Spark Yarn-cluster与Yarn-client
Spark Yarn-cluster与Yarn-client 摘要在Spark中,有Yarn-Client和Yarn-Cluster两种模式可以运行在Yarn上,通常Yarn-Cluster适用于生产环境,而Yarn-Clientr更适用于交互,调试模式,以下是...转载 2018-07-31 11:28:20 · 283 阅读 · 0 评论 -
Scala伴生类和伴生对象
Scala伴生类和伴生对象 单例对象与类同名时,这个单例对象被称为这个类的伴生对象,而这个类被称为这个单例对象的伴生类。伴生类和伴生对象要在同一个源文件中定义,伴生对象和伴生类可以互相访问其私有成员。不与伴生类同名的单例对象称为孤立对象。看看例子:?123456789101112131415161718192021222324252627...转载 2018-07-31 10:49:13 · 393 阅读 · 0 评论 -
Spark之 cache()和persist()
× Spark之cache()和persist() SuperBoy_Liang RDD的持久化也就是说假如我们从hdfs读取文件,形成RDD。当我们对RDD进行持久化操作之后,,然后再针对该R...原创 2018-07-23 17:22:53 · 340 阅读 · 0 评论 -
Spark之DataFrame操作大全
Spark&nbsp;Session中的DataFrame类似于一张关系型数据表。在关系型数据库中对单表或进行的查询操作,在DataFrame中都可以通过调用其API接口来实现。可以参考,Scala提供的DataFrame API。本文中的代码基于Spark-2.2的文档实现。一、DataFrame对象的生成 Spark-SQL可以以其他RDD对象、parquet文件、json文件、Hiv...转载 2018-07-23 17:01:31 · 5415 阅读 · 0 评论 -
Spark之reduceByKey与GroupByKey
Spark中针对键值对类型的RDD做各种操作比较常用的两个方法就是ReduceByKey与GroupByKey方法,下面从源码里面看看ReduceByKey与GroupByKey方法的使用以及内部逻辑。官方源码解释:三种形式的reduceByKey总体来说下面三种形式的方法备注大意为: 根据用户传入的函数来对...转载 2018-07-23 16:53:29 · 811 阅读 · 0 评论 -
用graphx实现Bronkerbosch计算极大团
请结合Bronkerbosch算法描述查看,该方法是在朴素的Bronkerbosch算法上进行改进,属于带轴的Bron_Kerbosch算法原创 2017-07-28 11:14:40 · 1177 阅读 · 0 评论 -
map与flatmap区别
map的作用很容易理解就是对rdd之中的元素进行逐一进行函数操作映射为另外一个rdd。flatMap的操作是将函数应用于rdd之中的每一个元素,将返回的迭代器的所有内容构成新的rdd。通常用来切分单词。 Spark 中 map函数会对每一条输入进行指定的操作,然后为每一条输入返回一个对象; - 而flatMap函数则是两个操作的集合——正是“先映射后扁平化”: 操作1:同map函数一样:原创 2017-08-01 17:25:47 · 750 阅读 · 0 评论