spark

day15-数据源

僤鯓⒐⒋嵵緔 提交于 2020-01-10 02:21:08
前言 day13 ,我们学习了Spark SQL的DataFrame。今天开始进入Spark SQL的数据源。 Spark数据源介绍 在Spark-sql中可以使用各种各样的数据源来创建DataFrame或者DataSet,spark-sql对数据源兼容性比较好,并且提供了load 方法来加载数据,save方法保存数据源。load、save的时候默认都是以parquert格式处理。 parquet数据源 spark官方也提供了一些parquet数据源Demo,存放在Spark安装主目录的examples/src/main/resources/下面,下面使用官方提供的parquet数据源进行一些演示。 #读取parquert数据 scala> var df2 = spark . read . load ( "/opt/module/spark-2.1.0-bin-hadoop2.7/examples/src/main/resources/users.parquet" ) df2: org . apache . spark . sql . DataFrame = [name: string, favorite_color: string ... 1 more field] #查看数据 scala> df2 . show + - -- - -- + -- - -- - -- - -- -

windows下安装spark-python

青春壹個敷衍的年華 提交于 2020-01-10 01:26:25
首先需要安装Java 下载安装并配置Spark 从官方网站 Download Apache Spark™ 下载相应版本的spark,因为spark是基于hadoop的,需要下载对应版本的hadoop才行,这个页面有对hadoop的版本要求,点击Download Spark: spark-2.3.1-bin-hadoop2.7.tgz 就可以下载压缩包了,对应的hadoop版本要在Hadoop2.7及其以后。 这里解压到D:\spark-2.3.1-bin-hadoop2.7,为了后续操作简便,这里将解压以后的文件夹名称改为spark,这样解压的路径就是D:\spark 配置环境变量 右键我的电脑,依次点击属性-高级系统设置-环境变量 新建用户变量 SPARK_HOME D:\spark 找到系统变量Path 点击按钮新建,然后添加文本%SPARK_HOME%\bin,按回车enter,继续新建一个,添加文本%SPARK_HOME%\sbin,按键回车,一直点击确定,就保存了更改,这样就将bin、sbin文件夹中的程序放到了系统变量中 pyspark: 到这里spark的配置完成了一部分,还有pyspark需要配置,pyspark等anaconda安装后在下文中讨论,pyspark的安装有几种方式,其中解压以后的spark文件夹中就有pyspark库,可以安装到python的库当中去

SparkConf和SparkContext

余生颓废 提交于 2020-01-08 21:25:25
任何Spark程序员都是从SparkContext开始的,SparkContext的初始化需要一个SparkConf对象,SparkConf对象中包含了Spark集群配置的各种参数。 SparkConf conf = new SparkConf().setMaster("local").setAppName("Eclat") JavaSparkContext jsc = new JavaSparkContext(conf) // 上面的local可以让Spark运行在单机单线程上面而无法连接到集群 // Eclat 当连接到一个集群时,这个值可以帮助我们在集群管理器的用户界面中找到应用 来源: https://www.cnblogs.com/walxt/p/12168767.html

Spark GraphX Pregel API: An Example

☆樱花仙子☆ 提交于 2020-01-08 17:53:25
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> GraphX Pregel API Graph data and graph processing is getting more and more attention lately in various fields. It has become apparent that a large number of real world problems can be described in terms of graphs, for instance, the Web graph, the social network graph, the train network graph and the language graph. Often these graphs are exceptionally huge, take the Web graph for example, it is estimated that the number of web pages may have exceeded 30 billion. We are in need of a system that is able to process these graphs created by modern applications.

Spark核心原理(核心篇 二)

徘徊边缘 提交于 2020-01-08 15:11:17
目录 运行结构图 & 常用术语 消息通信原理 运行流程图 调度算法 容错及HA 监控 一、运行结构图 & 常用术语 Application: Appliction都是指用户编写的Spark应用程序,其中包括一个Driver功能的代码和分布在集群中多个节点上运行的Executor代码 SparkContext: Spark应用程序的入口,负责调度各个运算资源,协调各个Worker Node上的Executor Driver: Spark中的Driver即运行上述Application的main函数并创建SparkContext,创建SparkContext的目的是为了准备Spark应用程序的运行环境,在Spark中有SparkContext负责与ClusterManager通信, 进行资源申请、任务的分配和监控 等,在执行阶段,Driver会将Task和Task所依赖的file和jar序列化后传递给对应的Worker机器。当Executor部分运行完毕后,Driver同时负责将SparkContext关闭,通常用SparkContext代表Driver Cluter Manager: 指的是在集群上获取资源的外部服务。目前有三种类型 Standalone : spark原生的资源管理,由Master负责资源的分配 Apache Mesos:与hadoop

大数据之一:Hadoop2.6.5+centos7.5三节点大数据集群部署搭建

只愿长相守 提交于 2020-01-08 15:08:25
一、 VM虚拟环境搭建(详细讲解) 说明:在windos10上使用VmWare Workstation创建3节点Hadoop虚拟环境 创建虚拟机 下一步 设置虚拟机主机名和介质存放路径 设置20G磁盘大小 选择“自定义硬件” 配置网络模式为NAT模式 配置虚拟机启动镜像 到这里,使用虚拟机克隆技术配置另外两台slave 同理克隆slave2, 步骤省略 此时windos网络连接里面会出现两张虚拟网卡 接下来就是给虚拟机配置IP网络 虚拟机网卡IP要和NAT模式的IP是在同一个段,虚拟机才能通过windos笔记的VMnet8网卡与互联网通信 接下来启动虚拟机配置操作系统IP网络(具体配置过程省略) 二、Hadoop2.6.5+centos7.5三节点集群搭建步骤 1、环境规划 Hadoop2.6.5+centos7.5 2、配置集群中主机域名访问解析 [root@master ~]# cat /etc/hosts 127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4 ::1 localhost localhost.localdomain localhost6 localhost6.localdomain6 192.168.11.10 master 192.168.11.11

Spark编程模型(核心篇 一)

橙三吉。 提交于 2020-01-08 14:27:34
目录 RDD概述 RDD实现 RDD运行流程 RDD分区 RDD操作分类 RDD编程接口说明 一、RDD概述 RDD :是Resilient distributed datasets的简称,中文为弹性分布式数据集;是Spark最核心的模块和类 DAG: Spark将计算转换为一个有向无环图(DAG)的任务集合,通过为RDD提供一种基于粗粒度变换(如map, filter, join等)的接口 RDD类型:mappedRDD, SchemaRDD RDD操作分类:转换操作(又分为创建操作、转换操作)、行为操作(又分控制操作-进行RDD持久化、行为操作) 二、RDD实现 1、作业调度 A、当对RDD执行转换操作时,调度器会根据RDD的“血统”来构建由若干高度阶段(Stage)组成的有向无环图(DAG), 每个阶段包含尽可能多的连续“ 窄依赖 ”转换 B、另外,调度分配任务采用“ 延时调度 ”机制,并根据” 数据本地性 “来确定 宽依赖与窄依赖: 窄 依赖是指父RDD的每个分区只被子RDD的一个分区所使用, 子RDD一般对应父RDD的一个或者多个分区。 (与数据规模无关)不会产生shuffle 宽 依赖指父RDD的多个分区可能被子RDD的一个分区所使用, 子RDD分区通常对应所有的父RDD分区 (与数据规模有关),会产生shuffle 更细化文档可参见 https://blog.csdn

Spark DStreams_JZZ158_MBY

橙三吉。 提交于 2020-01-08 09:25:16
Spark DStreams DStreams是什么 DStreams 是构建在 Spark RDD 之上的一款流处理工具,意即 Spark DStreams 并不是一个严格意义上的流处理,底层通过将RDD 在时间轴上分解成多个小的 RDD-micro batch 流 | 批处理 计算类型 数据量级 计算延迟 输入数据 输出 计算形式 批处理 MB=>GB=>TB 几十分钟|几个小时 固定输入(全量) 固定输出 最终终止(时间限制) 流处理 byte级别|记录级别 亚秒级延迟 持续输入(增量) 持续输出 24*7小时 流处理框架:Kafka Streaming(工具级别)、Storm(实时流处理) 一代 、Spark DStream(微批)-实时性差- 二代 、Flink (实时流处理)- 三代 由于 DStreams 构建在 RDD 之上,对习惯了批处理的工程师来说,在使用上比较友好。很多大数据工程师都有着 MapReduce 的使用经验,如果使用批去模拟流,比较容易接受,同时 DStreams 是构建在 RDD (批处理)之上,因此从使用角度上讲, DStreams 操作流就好比是在操作批处理,因此在使用难度上比 Storm 相对来说要简单。由于 Spark 框架实现的核心偏向批处理,流处理只是从批处理中演变而来,因此 DStreams 在做流处理的时候延迟较高

Spark集群单机版安装配置

自闭症网瘾萝莉.ら 提交于 2020-01-06 23:28:30
配置好单机版后,若有需要配置分布式集群可以参考我的这篇博客 https://blog.csdn.net/weixin_43729499/article/details/103858637 单机版配置步骤: 1、下载spark安装包 安装包可以到官网上直接下载,不过国外的网下载速度可能会稍微慢,可以考虑换个源来下载 2、对文件进行解压(tar -zxvf XXX),并移动到指定位置 (移动位置命令:mv XXX YYY XXX就是你的安装包名称,YYY是目的路径) 3、修改配置文件 ①、spark-env.sh可以复制一份由spark安装文件自带的配置文件模板spark-env.sh.template并重命名为spark-env.sh; 然后,vim 编辑spark-env.sh,添加以下配置信息: export SPARK_DIST_CLASSPATH=$(hadoop的路径/hadoop/bin/hadoop classpath) 例如在/home下,则为 export SPARK_DIST_CLASSPATH=$(/home/hadoop/bin/hadoop classpath) (有了此配置信息,spark才可以把数据存储到Hadoop分布式文件系统HDFS中,并从HDFS读取数据,否则只能读写本地文件系统的数据) export HADOOP_CONF_DIR

Spark Streaming

折月煮酒 提交于 2020-01-06 23:12:18
Spark Streaming介绍 • Spark Streaming是Spark核心API的一个扩展,可以实现高吞吐量的、具备容错机制的实时流数据的处理 • 支持多种数据源获取数据: • Spark Streaming接收Kafka、Flume、HDFS等各种来源的实时输入数据,进行处理后,处理结构保存在HDFS、DataBase等各种地方 Spark Core和Spark Streaming 两者关系: • Spark Streaming将接收到的实时流数据,按照一定时间间隔,对数据进行拆分,交给Spark Engine引擎处理,最终得到一批批的结果 • 每一批数据,在Spark内核对应一个RDD实例 • Dstream可以看做一组RDDs,即RDD的一个序列 DStream • Dstream:Spark Streaming提供了表示连续数据流的、高度抽象的被称为离散流的DStream • 任何对DStream的操作都会转变为对底层RDD的操作 • Spark Streaming程序中一般会有若干个对DStream的操作。DStreamGraph就是由这些操作的依赖关系构成 • 将连续的数据持久化、离散化,然后进行批量处理 为什么? – 数据持久化:接收到的数据暂存 – 离散化:按时间分片,形成处理单元 – 分片处理:分批处理 作用Dstream上的Operation分成两类