Spark
spark的应用
人间小鲸鱼
这个作者很懒,什么都没留下…
展开
-
DataFrame map操作报错
错误解决记录:error: Unable to find encoder for type stored in a Dataset. Primitive types (Int, String, etc) and Product types (case classes) are supported by importing spark.implicits._ Support for serializing other types will be added in future releases错误信息原创 2020-07-14 16:28:12 · 360 阅读 · 0 评论 -
spark 结构化流的Window
Window Operations on Event Time基于事件时间的窗口操作 滑动event-time时间窗口的聚合在StructuredStreaming上很简单,并且和分组聚合非常相似。在分组聚合中,为用户指定的分组列中的每个唯一值维护聚合值(例如计数)。在基于窗口的聚合的情况下,为每一个event-time窗口维护聚合值。 想象一下,quickexample中的示例被修改,现在stream中的每行包含了生成的时间。我们不想运行word count,而是要在10分钟的窗口内计数单词原创 2020-06-09 09:06:07 · 587 阅读 · 1 评论 -
spark 结构化流,创建流式DataFrame和流式Datasets
创建流式DataFrame和流式DatasetsStreaming DataFrames可以通过SparkSession.readStream()返回的DataStreamReader接口(Scala / Java / Python文档)创建。Input Sources常见的内置SourcesFile source : 读取指定目录下的文件作为流数据,支持的文件格式有:text、csv、json、parquet、orc等Kafka source(常用): 从kafka读取数据Socket so原创 2020-06-08 08:44:31 · 460 阅读 · 0 评论 -
Spark Structured Streaming 结构化流
Spark Structured Streaming 结构化流Structured Streaming是一个构建在Spark SQL基础上可靠具备容错处理的流处理引擎。Structured Streaming提供快速,可扩展,容错,端到端的精确一次流处理,而无需用户推理流式传输。流数据处理的三种语义:最少一次(at least once): 流数据中的记录最少会被处理一次(1-n)最多一次(at most once): 流数据中的记录最多会被处理一次(0-1)精确一次(at exactly o原创 2020-06-05 08:48:43 · 197 阅读 · 0 评论 -
SparkStreaming的检查点Checkpointing
Checkpointing一个流处理应用必须能够全天候工作,因此必须能够适应与应用逻辑无关的错误(如:系统错误、JVM崩溃、etc)。为了解决这个问题,Spark Streaming需要将足够的信息检查(checkpoint)到容错存储系统,以便它可以从故障中恢复。检查点有两种类型的数据:元数据检查点(Metadata checkpointing):将流应用的信息保存到容错的存储系统HDFS中,元数据包含:Configuration: 流应用的配置信息DStream operations:DSt原创 2020-06-03 08:56:48 · 265 阅读 · 0 评论 -
SparkStream的DStream转换算子
DStream转换算子DStream的转换算子类似于RDD,一些常用的算子如下:TransformationMeaningmap(func)Return a new DStream by passing each element of the source DStream through a function func.flatMap(func)Similar to map, but each input item can be mapped to 0 or mor原创 2020-05-25 09:26:27 · 286 阅读 · 0 评论 -
Spark Streaming的Source与kafka集成
DStream(离散数据流)DStream是Spark Streaming中的一个基本抽象。表现为一段连续的数据流(本质上是一组连续RDD的集合)。一个DStream中的一个RDD含有固定间隔的数据集。**应用于DStream的任何操作都转换为底层RDD上的操作。**如:第一个Spark Streaming案列Input DStream And ReceiversInput DStream表示从数据源接受的数据构建的DStream对象。构建Input DStream通常有两种方式Basic原创 2020-05-22 11:12:28 · 247 阅读 · 0 评论 -
Spark Streaming第一个示例
Spark Streaminghttp://spark.apache.org/docs/latest/streaming-programming-guide.html#overviewSpark Streaming是Spark Core的进一步扩展,可以实现数据流的可扩展、高吞吐、容错处理。Spark Streaming处理的数据可以来源于多种方式,比如Kafka、Flume、Kinesis或者TCP传输等,这些流数据经过Spark Streaming进行复杂的处理加工。最终,将处理的结果保存到文件系统原创 2020-05-21 08:52:07 · 107 阅读 · 0 评论 -
Spark SQL的数据导入导出
指的是和第三方存储系统的读写操作JSONval df = spark.read.json("file:///G:\\IDEA_WorkSpace\\scala-workspace\\spark-day9\\src\\main\\resources")df.createTempView("t_user")spark.sql("select id,name from t_user").write.format("json").save("file:///D://result")Paquet.原创 2020-05-21 08:50:17 · 1756 阅读 · 0 评论 -
Spark SQL的纯SQL语句以及自定义函数
df.createGlobalTempView() // 对DF创建全局的临时视图,它产生的表,可以多个spark session共享,它的生命周期和spark application绑定df.createTempView() // 对DF创建局部的临时视图,它产生的表,仅供创建spark session使用,其它的spark session无法获取单行查询package com.baizhi.sqlimport org.apache.spark.sql.SparkSessionob.原创 2020-05-20 09:05:40 · 1211 阅读 · 0 评论 -
Spark的SQL操作详解
DataFrame操作(untyped)printSchema()object DataframeOperationTest { def main(args: Array[String]): Unit = { val sparkSql = SparkSession.builder().appName("df operation").master("local[*]").getOrCreate() import sparkSql.implicits._ val rdd = s原创 2020-05-19 08:51:56 · 498 阅读 · 0 评论 -
SparkSQL概述以及创建Dataset
一、概述http://spark.apache.org/docs/latest/sql-programming-guide.htmlSpark SQL是Spark中一个模块,用以对结构化数据进行处理。SparkSQL在RDD之上抽象出来Dataset/Dataframe 这两个类提供了类似RDD的功能,也就意味用户可以使用map、flatMap、filter等高阶算子,同时也通过了基于列的命名查询,也就是说Dataset/DataFrame提供了两套操作数据的API,这些API可以给Saprk引擎要提供原创 2020-05-18 08:42:09 · 465 阅读 · 0 评论 -
Spark的算子与应用
Spark支持两个类型(算子)操作:Transformation和ActionTransformation主要做的是就是将一个已有的RDD生成另外一个RDD。Transformation具有lazy特性(延迟加载)。Transformation算子的代码不会真正被执行。只有当我们的程序里面遇到一个action算子的时候,代码才会真正的被执行。这种设计让Spark更加有效率地运行。常用的Transformation:转换含义map(func) √返回一个新的RDD,该RDD原创 2020-05-13 09:20:13 · 237 阅读 · 0 评论 -
Spark的RDD基础认识
弹性分布式数据集,对不同数据源数据的一种抽象表示The main abstraction Spark provides is a resilient distributed dataset (RDD), which is a collection of elements partitioned across the nodes of the cluster that can be operated on in parallel.RDD(Resilient Distributed Dataset)叫做.原创 2020-05-12 13:47:31 · 154 阅读 · 0 评论 -
Spark的简单应用
Maven依赖<dependencies> <dependency> <groupId>org.apache.spark</groupId> <artifactId>spark-core_2.11</artifactId> <version>2.4.4</version> </dependency></dependencies&原创 2020-05-11 16:35:43 · 251 阅读 · 0 评论 -
Spark的Standalone和On Yarn的环境搭建
Standalone(独立模式)注意:伪分布式集群环境搭建准备工作准备物理虚拟机一台版本:CentOS7配置网络# 如果需要配置双网卡,需要添加网卡硬件支持vi /etc/sysconfig/network-scripts/ifcfg-ens331. 将ip的分配方式改为static2. 添加 IPADDR=静态IP地址3. 添加 NETMASK=255.255.255.04. 网卡开机自启动 ONBOOT=yes关闭防火墙[root@bogon ~]# s原创 2020-05-11 16:08:28 · 153 阅读 · 0 评论