Spark Conf配置用法
Spark 2.0.0
在Spark2.0之后,Spark Session也是Spark 的一个入口, 为了引入dataframe和dataset的API,同时保留了原来SparkContext的functionality,
如果想要使用 HIVE,SQL,Streaming的API, 就需要Spark Session作为入口。
SparkSession spark = SparkSession.builder().appName(
"demo_spark"
).enableHiveSupport().getOrCreate();
1)SparkSession.builder() 创建此方法用于构造SparkSession。
2)master(“local”) 设置要连接的master URL,例如:“local”在本地运行“local[4]”以4核在本地运行“spark://master:7077”在spark独立集群上运行
3)appName( ) 设置将在spark Web UI中显示的应用程序的名称。如果未设置应用程序名称,则将使用随机生成的名称。
4)Config 设置使用此方法设置的配置选项会自动传递到’SparkConf’和’SparkSession’自己的配置,它的参数由键值对组成。
5)enableHiveSupport启用Hive支持,类似于HiveContext创建了sparkSession,我们可以用它来读取数据。
6)getOrCreate()方法表示有就拿过来,没有就创建,类似于单例模式。
使用SparkSession读取数据SparkSession是读取数据的入口点,类似于旧的SQLContext.read。以下代码使用SparkSession从CSV读取数据:
val df =spark.read.format("com.databricks.spark.csv")
<br>.schema(customSchema) <br>.load("data.csv")
从Spark 2.0.0开始,最好使用SparkSession,因为它提供了对sparkContext所具有的所有spark功能的访问。 此外,它还提供了用于处理DataFrame和DataSet的API运行SQL查询SparkSession可用于对数据执行SQL查询,将结果作为Data-Frame(即数据集[ROW])返回。
众所周知,在以前的版本中,sparkcontext 是spark的入口点,因为RDD是主要的API,它是使用上下文API创建和操作的。 对于每个其他API,我们需要使用不同的context。对于流式传输,我们需要streamingContext。 对于SQL sqlContext和hive hiveContext.,因为dataSet和DataFrame API正在成为新的独立API,我们需要为它们构建入口点。 因此在spark 2.0中,我们为DataSet和DataFrame API创建了一个新的入口点构建,称为Spark-Session。
它是SQLContext,HiveContext和未来的streamingContext的组合。 在这些context中可用的所有API都可以在SparkSession上获得,SparkSession也有实际计算的spark context 。
SparkSession: SparkSession实质上是SQLContext和HiveContext的组合(未来可能还会加上StreamingContext),
所以在SQLContext和HiveContext上可用的API在SparkSession上同样是可以使用的。SparkSession内部封装了sparkContext,所以计算实际上是由sparkContext完成的。
Scala:
val sparkSession = SparkSession.builder
.master(“master”)
.appName(“appName”)
.getOrCreate()
或者
SparkSession.builder.config(conf = SparkConf())
I、 SparkSubmit 的 shell脚本
/data/spark/spark-2.2.0-bin-hadoop2.7/bin/spark-submit
--master spark://elcndc2sc39t:7077
--class com.enc.analysis.core.AlgorithmExecute
/data/upload/analysis/analysisFrame-1.1.0.jar $1 $2
–master表示master路径,
–class表示入口的类的全路径
/data/upload/analysis/analysisFrame-1.1.0.jar 表示计算框架jar包的全路径
$1,$2…是自定义的shell命令进行传参,传递的参数会在入口类的main方法的String[] args中
参考自:https://www.cnblogs.com/Allen-rg/p/11364683.html
Spark Conf配置用法相关推荐
- Spark 安装配置简单测试
简介 Spark是UC Berkeley AMP lab (加州大学伯克利分校的AMP实验室)所开源的类Hadoop MapReduce的通用并行框架,Spark,拥有Hadoop MapReduce ...
- Spark读取配置源码剖析
我们知道,有一些配置可以在多个地方配置.以配置executor的memory为例,有以下三种方式:1. spark-submit的--executor-memory选项2. spark-default ...
- Spark history-server 配置 !运维人员的强大工具
spark history Server产生背景 以standalone运行模式为例,在运行Spark Application的时候,Spark会提供一个WEBUI列出应用程序的运行时信息:但该WE ...
- Spark性能调优系列:Spark参数配置大全(官网资料)
Spark参数配置大全 Spark提供了三个位置来配置系统 Spark属性控制大多数应用程序参数,可以使用SparkConf对象或Java系统属性来设置. 通过conf/spark-env.sh每个节 ...
- Spark安装配置和基础编程
Spark安装配置和基础编程 重要知识点: Spark是一个开源的可应用于大规模数据处理的分布式计算框架,该框架可以独立安装使用,也可以和Hadoop一起安装使用.为了让Spark可以使用HDFS存取 ...
- Linux环境Spark安装配置及使用
Linux环境Spark安装配置及使用 1. 认识Spark (1) Spark介绍 大数据计算引擎 官网:spark.apache.org/ 官方介绍:Apache Spark™ is a unif ...
- mysql etc_mysql etc下my.conf配置详情
简介 配置mysql etc下my.conf配置详情如下 [client] port = 3306 socket = /tmp/mysql.sock default-character-set = ...
- redis.conf配置选项如下
redis.conf配置选项如下 daemonize 是否以后台进程运行,默认为no pidfile 如以后台进程运行,则需指定一个pid,默认为/var/run/redis.pid bind 绑定主 ...
- centos7系统/etc/resolv.conf 配置DNS客户
文件/etc/resolv.conf配置DNS客户,它包含了主机的域名搜索顺序和DNS服务器的地址,每一行应包含一个关键字和一个或多个的由空格隔开的参数.下面是一个例子文件: search mydom ...
最新文章
- 插入最快mysql8.0_MySQL8.0大表秒加字段,是真的吗?
- centos php5.2安装教程,CentOS 5.2 x86 64(AMD)编译安装PHP小记
- python一对一_Python - Django - ORM 一对一表结构
- CLR via C# (二)
- 运维编排场景系列----给实例加到SLS机器组
- flat在java中的含义_Java 9中Collectors.flatMapping()方法的重要性?
- 醉了!吃着火锅哼着歌,男朋友强行给我科普什么是补码!
- 卸载重装得会员、偷删本地文件?网易云回应了:系造谣攻击,悬赏10万找线索...
- C++之异常处理探究
- CANE:上下文相关动态图网络表示
- Google Play市场考察报告-2
- App后台开发架构实践
- mac 下 docker 镜像加速器
- C盘空间不足的处理方式
- 104道精选iOS面试题PDF
- Linux救援(rescue)模式知识点
- 侧馈矩形微带天线设计报告
- 零基础如何学 Web 前端开发?
- 最新资讯:iPhone 11显示模块更换计划,用于解决触摸问题
- 读《人脑连接组研究:脑结构网络和脑功能网络》
热门文章
- 朴素贝叶斯-垃圾邮件(中文的)处理
- 2019年开发者必读!20位阿里技术大牛们帮你列了一份经典书单!...
- highlightjs 详解
- python中casefold()函数的用法
- Eclipse的tomcat出现:the server cannot started because one or more of the ports are invalid
- 《Effective Debugging:软件和系统调试的66个有效方法》——导读
- 和菜鸟一起学linux之V4L2摄像头应用流程【转】
- web开发中的跨域问题
- 【汇编语言与计算机系统结构笔记12】序格式与伪操作:简化段的定义、操作符等
- linux cp{,bak},Linux中cp覆盖不提示