![](https://img-blog.csdnimg.cn/20191113113745438.jpg?x-oss-process=image/resize,m_fixed,h_224,w_224)
Spark/Hadoop
分布式存储、计算、分析
心相印-Garrett
认真你就输了,一直认真你就赢了
展开
-
Scala编程—var/val的区别
scala中,var可以理解为声明的是变量,因此是可变的,val声明的是值,因此是不可变得。//var 声明的是变量scala> var age=18age: Int = 18scala> age=19age: Int = 19//val 声明的是值,是不可更改的scala> val name="张三"name: String = 张三scala> ...原创 2019-11-15 12:54:05 · 358 阅读 · 0 评论 -
基于spark的流式数据处理—SparkStreaming开发demo—RDD流
概述在调试Spark Streaming应用程序的时候,我们可以使用如下方法创建基于RDD队列的DStream:streamingContext.queueStream(queueOfRDD)本文demo场景是:每隔1秒创建一个RDD,Streaming每隔2秒就对数据进行处理。代码新建一个LzTestRDDQueueStream.scala代码文件,如下所示:package spa...原创 2019-12-26 11:27:31 · 630 阅读 · 0 评论 -
基于spark的流式数据处理—SparkStreaming开发demo—文件流
本文主要完成一个spark streaming的demo,本文主要演示的是以下基本输入数据源:文件输入流;套接字输入流;RDD队列流。如果是编写一个独立的Spark Streaming程序,而不是在spark-shell中运行,则需要通过如下方式创建StreamingContext对象:import org.apache.spark.SparkConfimport org.apac...原创 2019-12-25 18:26:55 · 788 阅读 · 0 评论 -
基于spark的流式数据处理—DStream概述
本文介绍spark streaming的DStream用法:Spark Streaming工作机制Spark Streaming程序的基本步骤创建StreamingContext对象Spark Streaming工作机制在Spark Streaming中,会有一个组件Receiver,作为一个长期运行的task跑在一个Executor上;每个Receiver都会负责一个inpu...原创 2019-12-25 16:53:52 · 458 阅读 · 0 评论 -
基于spark的流式数据处理—spark streaming
本文主要介绍一下spark streaming,从以下三个方面来介绍:Spark Streaming设计Spark Streaming与Storm的对比从“Hadoop+Storm”架构转向Spark架构Spark Streaming设计Spark Streaming可整合多种输入数据源,如Kafka、Flume、HDFS,甚至是普通的TCP套接字。经处理后的数据可存储至文件系统、数...原创 2019-12-25 14:58:46 · 1209 阅读 · 0 评论 -
基于spark的流式数据处理—流计算处理流程以及应用场景
本文主要从一下几个方面来介绍流计算处理流程:概述数据实时采集数据实时计算实时查询服务概述传统的数据处理流程,需要先采集数据并存储在关系数据库等数据管理系统中,之后由用户通过查询操作和数据管理系统进行交互,如下图所示:传统的数据处理流程隐含了两个前提:存储的数据是旧的。存储的静态数据是过去某一时刻的快照,这些数据在查询时可能已不具备时效性了;需要用户主动发出查询来获取结果。...原创 2019-12-25 14:13:12 · 3205 阅读 · 0 评论 -
基于spark的流式数据处理—流计算
概念流计算:实时获取来自不同数据源的海量数据,经过实时分析处理,获得有价值的信息。流计算秉承一个基本理念,即数据的价值随着时间的流逝而降低,如用户点击流。因此,当事件出现时就应该立即进行处理,而不是缓存起来进行批量处理。为了及时处理流数据,就需要一个低延迟、可扩展、高可靠的处理引擎。对于一个流计算系统来说,它应达到如下需求:高性能:处理大数据的基本要求,如每秒处理几十万条数据;海量式...原创 2019-12-25 11:37:18 · 882 阅读 · 0 评论 -
基于spark的流式数据处理—批处理和流处理区别
静态数据很多企业为了支持决策分析而构建的数据仓库系统,其中存放的大量历史数据就是静态数据。技术人员可以利用数据挖掘和OLAP(On-Line Analytical Processing)分析工具从静态数据中找到对企业有价值的信息。流数据近年来,在Web应用、网络监控、传感监测等领域,兴起了一种新的数据密集型应用——流数据,即数据以大量、快速、时变的流形式持续到达。实例:PM2.5检测、电子...原创 2019-12-25 11:23:22 · 3038 阅读 · 0 评论 -
基于spark的Scala编程—Traits用法
Scala Trait(特征)Scala Trait(特征) 相当于 Java 的接口,实际上它比接口还功能强大。与接口不同的是,它还可以定义属性和方法的实现。一般情况下Scala的类只能够继承单一父类,但是如果是 Trait(特征) 的话就可以继承多个,从结果来看就是实现了多重继承。Trait(特征) 定义的方式与类类似,但它使用的关键字是 trait。案例Scala实现多继承的方式如下:...原创 2019-12-06 18:04:44 · 205 阅读 · 0 评论 -
基于spark的Scala编程—Scala字符串
本文来说一下Scala的字符串操作,在第一次使用Scala字符串的时候,基本都是用字符串相加(+)来实现的,后来发现了Scala字符串还有插值,瞬间感觉自己low了,所以要特别记录一下。Scala字符串Scala的String构建在Java的String上,并向Java的String添加了字符串插值等附加功能。例子下面的示例说明了使用双引号的字符串常量:object Main { d...原创 2019-12-05 22:09:14 · 775 阅读 · 0 评论 -
基于spark的Scala编程—循环处理DataFrame方法
本文主要介绍spark的Scala编程中的循环处理DataFrame的方法,本文主要是在写数据自动化测试的一个demo,大体的思路就是配置好了测试用例,现在需要批量执行测试用例。目前主要有如下三个方法:For/While循环多线程DataFrame的foreachPartition函数这里给出来的都是代码片段,如果需要演示上面集中方法,那么需要在本地先构造好初始的DataFrame,...原创 2019-11-30 18:04:14 · 6001 阅读 · 1 评论 -
基于spark的Scala编程—在当前会话实现UDF(自定函数)
本文主要是记录关于自定义函数的用法,spark-sql中的自定义函数有两种方式:sqlContext.udf.register,这种方式只能在sql中可见;spark.sql.function.udf(),这种方式外部都可见;本文主要介绍第一种方式,我目前应用到的是第一种方式,代码和案例如下: import sparkSession.implicits._ import ...原创 2019-11-28 12:36:06 · 597 阅读 · 0 评论 -
基于spark的Scala编程—读取properties文件
后缀properties是一种属性文件,这种文件以key=value格式存储内容,Java中可以使用Properties类来读取这个文件:String value=p.getProperty(key);就能得到对应的数据,一般这个文件作为一些参数的存储,代码就可以灵活一点。今天这篇文章主要以jdbc.properties文件为例来介绍在Scala中如何使用会比较方便,只是推荐的一种方案,希望...原创 2019-11-25 20:27:37 · 2997 阅读 · 1 评论 -
基于spark的Scala编程—RDD、DataFrame和DataSet的区别
本文主要介绍RDD、DataFrame和DataSet这三者到底有什么区别,主要介绍以下几个方面:分别出现在spark的哪些版本?各自的优缺点是什么?应该如何选择使用哪个类别?分别出现在spark的哪些版本?RDD是spark一开始就提出的概念,DataFrame是spark1.3.0版本提出来的,spark1.6.0版本又引入了DateSet的,但是在spark2.0版本中,Dat...原创 2019-11-20 20:36:30 · 730 阅读 · 0 评论 -
基于spark的Scala编程—DataFrame操作之分组聚合
本文主要是写关于Scala如何操作spark的DataFrame,本文先介绍分组聚合的用法,详细请看下面的步骤,以下所有的代码都是在IntelliJ Idea里面编写并且远程调试的。先创建sparksession对象,代码如下: val conf = new SparkConf().setAppName("LzSparkDatasetExamples").setMaster("local...原创 2019-11-20 19:45:13 · 2289 阅读 · 1 评论 -
基于spark的Scala编程—DataFrame操作之filter和where
本文主要是写关于Scala如何操作spark的DataFrame,本文先介绍filter的用法,详细请看下面的步骤,以下所有的代码都是在IntelliJ Idea里面编写并且远程调试的。先创建sparksession对象,代码如下: val conf = new SparkConf().setAppName("LzSparkDatasetExamples").setMaster("loc...原创 2019-11-20 18:17:58 · 7713 阅读 · 0 评论 -
基于spark的Scala编程—DataFrame操作之select
本文主要是写关于Scala如何操作spark的DataFrame,本文先介绍select的用法,详细请看下面的步骤,以下所有的代码都是在IntelliJ Idea里面编写并且远程调试的。第一步,先创建sparksession对象,代码如下: val conf = new SparkConf().setAppName("LzSparkDatasetExamples").setMaster(...原创 2019-11-20 17:30:53 · 6350 阅读 · 0 评论 -
基于IntelliJ Idea的Scala开发环境搭建一使用Git管理代码
前面几篇文章讲了基于IntelliJ Idea的Scala开发环境搭建以及几个Demo,如果想要了解相关内容,请参考我的Hadoop/spark栏目下的相关文章,本文主要介绍IntelliJ Idea的Git代码管理配置,主要步骤如下:新建一个基于SBT的Scala项目Git代码管理配置Git的ignore文件配置与启用新建一个基于SBT的Scala项目关于如何新建基于SBT的Sca...原创 2019-11-18 21:05:29 · 355 阅读 · 0 评论 -
基于IntelliJ Idea的Scala开发demo一Spark-SQL操作Postgresql开发
本文主要是spark-sql与PostgreSQL的交互实现demo,具体步骤如下:导入相关PostgreSQL的依赖驱动包编写spark-sql操作PostgreSQL的代码打包运行导入相关PostgreSQL的依赖驱动包如下图所示,在build.sbt依赖管理文件中加入如下依赖:// https://mvnrepository.com/artifact/org.postgres...原创 2019-11-15 19:01:20 · 515 阅读 · 0 评论 -
基于IntelliJ Idea的Scala开发demo一Spark-SQL开发demo
真正在做数据分析和数据处理的时候,spark-sql还是用得比较的,本文主要给出基于Scala的spark-sql开发demo,本文已经假设IntelliJ Idea上的Scala开发环境,包括SBT已经安装配置完成,如果读者还没有这些准备的话,可以参考我前面的关于IntelliJ Idea上Scala的spark开发环境搭建相关文章。原创 2019-11-14 17:15:05 · 1189 阅读 · 0 评论 -
基于IntelliJ Idea的Scala开发环境搭建一远程上传以及远程集群调试
具体步骤如下:配置远程的Deployment配置本地上传目录以及远程目标目录原创 2019-11-13 14:27:36 · 964 阅读 · 0 评论 -
基于IntelliJ Idea的Scala开发demo一Spark开发demo
顺着之前SBT的HelloWorld案例(具体请参考我的另外一篇博文《基于IntelliJ Idea的Scala开发demo—SBT包管理demo》)今天给出一个基于Scala的spark开发demo,大致的步骤如下:导入Spark依赖包代码编写代码打包以及运行导入Spark依赖包打开项目中的build.sbt文件,添加如下Spark依赖内容:name := "LzScalaSp...原创 2019-11-13 12:59:57 · 888 阅读 · 0 评论 -
基于IntelliJ Idea的Scala开发demo—SBT包管理demo
本文主要介绍Scala开发demo之SBT包管理,官网对SBT的介绍就一句话,引用一下:sbt is a build tool for Scala, Java, and more.For general documentation, see http://www.scala-sbt.org/.我对于SBT的理解可以从如下几个方面理解:什么是SBT为什么使用SBTSBT工程目录结构...原创 2019-11-13 11:16:18 · 1139 阅读 · 0 评论 -
基于IntelliJ Idea的Scala开发demo
光说不练假把式,本文主要针对前面文章《基于Scala的Spark开发环境搭建(一)》中提到的IntelliJ Idea工具中的Scala环境给出一个demo。主要步骤如下:创建一个Scala的项目编写hello world代码运行hello world代码创建一个Scala的项目打开IntelliJ Idea,选择“Create New Project”,如下图所示,选择“Sc...原创 2019-11-13 10:29:05 · 612 阅读 · 0 评论 -
基于Scala的spark开发环境搭建(二)
本节主要写基于Scala的spark开发环境配置相关,关于JDK和IntelliJ Idea的安装以及Scala插件的安装,请参考《基于Scala的Spark开发环境搭建(一)》。本节主要包含:IntelliJ Idea开发工具的JDK的配置SBT依赖包管理工具安装IntelliJ Idea工具的SBT的配置IntelliJ Idea开发工具的JDK的配置打开IntelliJ Id...原创 2019-11-13 10:24:54 · 516 阅读 · 0 评论 -
基于Scala的spark开发环境搭建(一)
具体步骤如下:本地环境安装JDK安装Intellij IDEA软件在Intellij IDEA上安装scala插件本地安装JDK环境第一步:下载JDK的安装包(最新版本为JDK13),下载地址:(windows就下载.exe结尾的安装包,mac就下载.dmg结尾的安装包)https://www.oracle.com/technetwork/第二步:下载完成之后,直接双击安...原创 2019-11-13 10:22:15 · 1323 阅读 · 0 评论