首页 > TAG信息列表 > RDD

DataFrame与rdd之间的转换(val rdd1 = dataFrame.rdd)

核心语句val rdd1 = dataFrame.rdd package SparkSQL.DataFreamCreate.dataframetordd import org.apache.spark.SparkConf import org.apache.spark.rdd.RDD import org.apache.spark.sql.types.{DataTypes, StructField, StructType} import org.apache.spark.sql.{DataFrame,

sparkcore案例四:统计每个省份的用户访问量

题目: /** * 统计每个省份的用户访问量,最终要求将不同省份用户访问量存放到不同的分区中 分区存放规则如下 * 省份是以包含 山 0 * 如果省份包含 海 1 * 其他省份 2 */ 代码: package sparkcorerddexample import org.apache.spark.rdd.RDD import org

sparkcore案例三:获取每一种状态码对应的访问量

题目描述: /** * 清洗完成的数据中包含一个用户的响应状态码,获取每一种状态码对应的访问量 * 1、读取清洗完成的数据成为RDD[String] * 2、可以把上一步得到的RDD通过map算子转换成一个键值对类型的RDD,以状态码为key 以不同用户的访问日志为value的数据 * 3、键值对类

spark core案例二:清洗过滤

题目描述 /** * 用户的行为日志数据清洗过滤 * 网站的独立访客数:一个唯一的IP地址就是一个独立访客 * 1、将用户行为日志数据中的IP地址字段获取到返回一个只包含IP地址的RDD * 2、RDD中重复的IP去重 * 3、RDD中的累加值 */ 案例 object A2DataAnaly { d

RDD,DataFrame,DataSet

RDD: 以Person为类型参数,但是Spark框架本身不了解Person类的内部结构。 DataFrame: DataFrame每一行的类型固定为Row, 每一列的值没法直接访问,只有通过解析才能获取各个字段的值。 DataSet: DataFrame也可以叫DataSet[Row],每一行类型是Row,不解析,每一行究竟有哪些字段,各个字段

键值对类型转换算子

1. groupByKey 定义:groupByKey([numPartitions])、 解释:只对键值对类型RDD生效,同时返回的是一个新的RDD[(key,Iterator[Value])] 案例: def groupByKeyOper(sc: SparkContext): Unit = { println("----------------groupByKey开始------------------") val rdd = sc.textFile

启动spark

1.启动spark命令 1. start-dfs.sh 2. start-yarn.sh 3. start-spark-all.sh 4. start-history-server.sh 5. spark-shell --master spark://node1:7077 2. 创建RDD数据集 1. 从现有的Scala集合创建RDD数据集 parallelize(Seq, numSlices):第二个参数不用传递,代表创建的RDD的分区

spark RDD的创建方式

从集合(内存中创建出来)RDDval sparkConf = new sparkConf().setMaster("local[*]").setAppName("spark") val sparkContext = new SparkContext(sparkConf) val rdd1 = sparkContext.parallelize( List(1,2,3,4) ) val add2 = sparkContext.makeRDD( List(1,2,

1_Spark Streaming 概述

1. Spark Streaming 是什么 ? Spark Streaming 是 Spark Core 的扩展API 用来支持 高吞吐、高容错的 处理 流式数据 数据源可以是 : Kafka、TCP sockets、Flume、Twitter等流式数据源 处理数据: 可以用 Spark Core的算子 map、reduce、join、window

spark-调优(代码层面)

spark-调优(代码) 在编写代码时可以进行优化 避免创建重复的RDD 尽可能复用同一个RDD 对多次使用的RDD进行持久化 尽量避免使用shuffle类算子 使用map-side预聚合的shuffle操作 使用高性能的算子 广播大变量 使用Kryo优化序列化性能 优化数据结构 使用高性能的库fastutil 1.对多

分布式计算过程

# 定义一个列表 list1 = [1,2,3,4,5,6,7,8,9,10] # 将列表通过SparkContext将数据转换为一个分布式集合RDD inputRdd = sc.parallelize(list1)#如果有n个结点 那么数据就会分成n分 存在各个结点 # 将RDD中每个分区的数据进行处理rsRdd = inputRdd.map(lambda x : x**2) #会在n个

初识Spark

Spark最初由美国加州伯克利大学的AMP实验室于2009年开发,是基于内存计算的大数据并行计算框架,可用于构建大型的、低延迟的数据分析应用程序。 Spark特点Spark具有如下几个主要特点:   运行速度快:Spark使用先进的DAG(Directed Acyclic Graph,有向无环图)执行引擎,以支持循环数据流与内

spark streaming-DS,DF,RDD相互转换,submit,数据落盘

spark streaming DS转成DF写代码 package com.shujia.spark.streaming import org.apache.spark.SparkContext import org.apache.spark.rdd.RDD import org.apache.spark.sql.{DataFrame, SparkSession} import org.apache.spark.streaming.dstream.ReceiverInputDStream import

rdd

rdd五大特性 (35条消息) RDD:五大特性_花和尚也有春天的博客-CSDN博客_rdd的五大特性 Spark之RDD的定义及五大特性 - |旧市拾荒| - 博客园 (cnblogs.com)

广播变量

广播变量(BrocadCast)是Spark的一大特性,通过将小数据广播分发到每个执行任务的节点(Executor),从而避免了计算过程中的频繁拉去数据的网络带宽等开销。 Spark批处理和Spark Streaming流处理均支持广播变量。广播变量支持各种类型数据,包括数据、列表、Map、RDD、DataFrame等。     ob

0基础就可以上手的Spark脚本开发-for Java

前言 最近由于工作需要,要分析大几百G的Nginx日志数据。之前也有过类似的需求,但那个时候数据量不多。一次只有几百兆,或者几个G。因为数据都在Hive里面,当时的做法是:把数据从Hive导到MySQL,然后写代码查询MySQL并处理。如果你的处理逻辑比较简单,或只是查询统计,不会设计上游的服务调用,

Spark WordCount

WordCount基本流程和spark实现 基本流程 1.创建spark环境 2.创建创建spark上下文对象,也就是spark写代码的入口 3.读取文件中的数据 4.首先将每一行数据展开,让每一个word单独一行 5.将word进行分组 6.对word出现的次数分别统计 7.将结果保存在新的文件中 代码实现 object Demo1W

Spark 算子

Spark的算子的分类 从大方向来说,Spark 算子大致可以分为以下两类: Transformation 变换/转换算子:这种变换并不触发提交作业,完成作业中间过程处理。Transformation 操作是延迟计算的,也就是说从一个RDD 转换生成另一个 RDD 的转换操作不是马上执行,需要等到有 Action 操作的时候才会

Spark—算子—spark缓存策略

Spark—算子—spark缓存策略 转换算子和操作算子 转换算子 转换算子:将一个RDD转换成另一个RDD,转换算子是懒执行,需要action算子来触发执行 操作算子 触发任务执行,一个action算子会触发一次任务执行,同时每一个action算子都会触发前面的代码执行 package com.core.day2 import org.a

Spark_常用算子

Spark_常用算子 sortBy-sortBy: 指定一个字段进行排序,默认是升序, ascending = false: 降序 package com.core.day2 import org.apache.spark.rdd.RDD import org.apache.spark.{SparkConf, SparkContext} object Demo13Sort { def main(args: Array[String]): Unit = { val

Spark-RDD,算子

Spark内核 RDD ResilientDistributedDataset (弹性分布式数据集 ) 五大特性: A list of partitions A function for computing each split A list of dependencies on other RDDs Optionally, a Partitioner for key-value RDDs Optionally, a list of preferred locations to comp

spark-算子

spark-算子 groupBy -分组 package com.core import org.apache.spark.rdd.RDD import org.apache.spark.{SparkConf, SparkContext} object Demo7GroupBy { def main(args: Array[String]): Unit = { val conf = new SparkConf() conf.setAppName("map")

Spark初识

Spark初识 回顾一下前面的MapReduce流程,可以更好的学习spark spark的框架 spark为什么比hadoop速度快 spark支持哪些语言 spark的运行模式有哪些 spark的单词统计 package com.core import org.apache.spark.rdd.RDD import org.apache.spark.{SparkConf, SparkContext} ob

Spark快速上手(6)Spark核心编程-RDD行动算子Action

RDD(3) RDD行动算子 所谓行动算子,就是触发Job执行的方法 reduce 函数签名 def reduce(f: (T, T) => T): T 函数说明 聚集RDD中的所有元素,先聚合分区内数据,再聚合分区间数据 e.g. code: def main(args: Array[String]): Unit = { val source: RDD[Int] = sc.makeRDD(List(1, 2,

Spark快速上手(4)Spark核心编程-Spark分区器(Partitioner)@(RDD-K_V)

@Spark分区器(Partitioner) HashPartitioner(默认的分区器) HashPartitioner分区原理是对于给定的key,计算其hashCode,并除以分区的个数取余,如果余数小于0,则余数+分区的个数,最后返回的值就是这个key所属的分区ID,当key为null值是返回0。 源码在org.apache.spark包下: origin code: class