问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501
你好,欢迎来到懂视!登录注册
当前位置: 首页 - 正文

spark必须要hadoop吗

发布网友 发布时间:2022-04-23 20:27

我来回答

2个回答

热心网友 时间:2022-04-08 04:01

Spark的安装分为几种模式,其中一种是本地运行模式,只需要在单节点上解压即可运行,这种模式不需要依赖Hadoop 环境。

运行 spark-shell
本地模式运行spark-shell非常简单,只要运行以下命令即可,假设当前目录是$SPARK_HOME
$ MASTER=local $ bin/spark-shell

MASTER=local就是表明当前运行在单机模式。如果一切顺利,将看到下面的提示信息:
Created spark context..
Spark context available as sc.

这表明spark-shell中已经内置了Spark context的变量,名称为sc,我们可以直接使用该变量进行后续的操作。
spark-shell 后面设置 master 参数,可以支持更多的模式,
我们在sparkshell中运行一下最简单的例子,统计在README.md中含有Spark的行数有多少,在spark-shell中输入如下代码:
scala>sc.textFile("README.md").filter(_.contains("Spark")).count

如果你觉得输出的日志太多,你可以从模板文件创建 conf/log4j.properties :
$ mv conf/log4j.properties.template conf/log4j.properties

然后修改日志输出级别为WARN:
log4j.rootCategory=WARN, console

如果你设置的 log4j 日志等级为 INFO,则你可以看到这样的一行日志 INFO SparkUI: Started SparkUI at http://10.9.4.165:4040,意思是 Spark 启动了一个 web 服务器,你可以通过浏览器访问http://10.9.4.165:4040来查看 Spark 的任务运行状态等信息。
pyspark
运行 bin/pyspark 的输出为:
$ bin/pyspark
Python 2.7.6 (default, Sep 9 2014, 15:04:36)
[GCC 4.2.1 Compatible Apple LLVM 6.0 (clang-600.0.39)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
Spark assembly has been built with Hive, including Datanucleus jars on classpath
Picked up JAVA_TOOL_OPTIONS: -Dfile.encoding=UTF-8
15/03/30 15:19:07 WARN Utils: Your hostname, june-mac resolves to a loopback address: 127.0.0.1; using 10.9.4.165 instead (on interface utun0)
15/03/30 15:19:07 WARN Utils: Set SPARK_LOCAL_IP if you need to bind to another address
15/03/30 15:19:07 WARN NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable
Welcome to
____ __
/ __/__ ___ _____/ /__
_\ \/ _ \/ _ / __/ _/
/__ / .__/\_,_/_/ /_/\_\ version 1.3.0
/_/

Using Python version 2.7.6 (default, Sep 9 2014 15:04:36)
SparkContext available as sc, HiveContext available as sqlCtx.

你也可以使用 IPython 来运行 Spark:
IPYTHON=1 ./bin/pyspark

如果要使用 IPython NoteBook,则运行:
IPYTHON_OPTS="notebook" ./bin/pyspark

从日志可以看到,不管是 bin/pyspark 还是 bin/spark-shell,他们都有两个内置的变量:sc 和 sqlCtx。
SparkContext available as sc, HiveContext available as sqlCtx

sc 代表着 Spark 的上下文,通过该变量可以执行 Spark 的一些操作,而 sqlCtx 代表着 HiveContext 的上下文。
spark-submit
在Spark1.0之后提供了一个统一的脚本spark-submit来提交任务。
对于 python 程序,我们可以直接使用 spark-submit:
$ mkdir -p /usr/lib/spark/examples/python$ tar zxvf /usr/lib/spark/lib/python.tar.gz -C /usr/lib/spark/examples/python$ ./bin/spark-submit examples/python/pi.py 10

对于 Java 程序,我们需要先编译代码然后打包运行:
$ spark-submit --class "SimpleApp" --master local[4] simple-project-1.0.jar

Spark 运行模式
Spark 的运行模式多种多样、灵活多变,部署在单机上时,既可以用本地模式运行,也可以用伪分布式模式运行,而当以分布式集群的方式部署时,也有众多的运行模式可以供选择,这取决于集群的实际情况,底层的资源调度既可以依赖于外部的资源调度框架,也可以使用 Spark 内建的 Standalone 模式。对于外部资源调度框架的支持,目前的实现包括相对稳定的 Mesos 模式,以及还在持续开发更新中的 Hadoop YARN 模式。
在实际应用中,Spark 应用程序的运行模式取决于传递给 SparkContext 的 MASTER 环境变量的值,个别模式还需要依赖辅助的程序接口来配合使用,目前所支持的 MASTER 环境变量由特定的字符串或 URL 所组成。例如:
Local[N]:本地模式,使用 N 个线程。
Local Cluster[Worker,core,Memory]:伪分布式模式,可以配置所需要启动的虚拟工作节点的数量,以及每个工作节点所管理的 CPU 数量和内存尺寸。
Spark://hostname:port:Standalone 模式,需要部署 Spark 到相关节点,URL 为 Spark Master 主机地址和端口。
Mesos://hostname:port:Mesos 模式,需要部署 Spark 和 Mesos 到相关节点,URL 为 Mesos 主机地址和端口。
YARN standalone/Yarn cluster:YARN 模式一,主程序逻辑和任务都运行在 YARN 集群中。
YARN client:YARN 模式二,主程序逻辑运行在本地,具体任务运行在 YARN 集群中。
运行 Spark
通过命令行运行 Spark ,有两种方式:bin/pyspark 和 bin/spark-shell。
运行 bin/spark-shell 输出的日志如下:
$ ./bin/spark-shell --master local

你可以从模板文件创建 conf/log4j.properties ,然后修改日志输出级别:
mv conf/log4j.properties.template conf/log4j.properties

修改 log4j.rootCategory 的等级为输出 WARN 级别的日志:
log4j.rootCategory=WARN, console

如果你设置的 log4j 日志等级为 INFO,则你可以看到这样的一行日志 INFO SparkUI: Started SparkUI at http://10.9.4.165:4040 ,意思是 Spark 启动了一个 web 服务器,你可以通过浏览器访问 http://10.9.4.165:4040 来查看 Spark 的任务运行状态。
从日志可以看到,不管是 bin/pyspark 还是 bin/spark-shell,他们都有两个内置的变量:sc 和 sqlCtx。
SparkContext available as sc, HiveContext available as sqlCtx

sc 代表着 Spark 的上下文,通过该变量可以执行 Spark 的一些操作,而 sqlCtx 代表着 HiveContext 的上下文。

热心网友 时间:2022-04-08 05:19

本质上spark跟maprece一样都是计算框架
apache spark是通过hadoop yarn管理的,需要运行在hadoop集群上
Hadoop与Spark的关系,Spark集群必须依赖Hadoop吗?

必须在hadoop集群上,它的数据来源是HDFS,本质上是yarn上的一个计算框架,像MR一样。Hadoop是基础,其中的HDFS提供文件存储,Yarn进行资源管理。可以运行MapReduce、Spark、Tez等计算框架。与Hadoop相比,Spark真正的优势在于速度,Spark的大部分操作都是在内存中,而Hadoop的MapReduce系统会在每次操作之后将...

搭建spark伪分散式需要先搭建hadoop吗

搭建spark伪分散式需要先搭建hadoop吗 搭建Spark伪分散式不需要Hadoop,因为可以直接从本地读档案。 完全分散式环境需要搭建Hadoop,主要是因为,需要使用HDFS来做分散式储存。Spark和Hadoop是完全两种丛集。Spark是分散式计算框架,Hadoop是分散式计算/储存/排程框架。Spark可以无缝访问存在HDFS上的资料。 ...

Spark可以完全替代Hadoop吗?现在学习Hadoop,会不会几年后就没人用Hadoo...

Hadoop与Spark虽有差异,但功能互补,两者并非替代关系。Hadoop作为分布式系统基础架构,擅长存储和处理大规模数据集,通过分布式文件系统HDFS与MapReduce计算模型实现高效处理与容错。而Spark则是一个基于内存的分布式计算系统,支持批处理、流处理和图处理等,提供更快计算速度与更好交互性。Spark通过RDD(弹性分...

spark必须要hadoop吗

本地模式运行spark-shell非常简单,只要运行以下命令即可,假设当前目录是$SPARK_HOME MASTER=local $ bin/spark-shell MASTER=local就是表明当前运行在单机模式。如果一切顺利,将看到下面的提示信息:Created spark context..Spark context available as sc.这表明spark-shell中已经内置了Spark context的变量...

spark必须要hadoop吗

本质上spark跟mapreduce一样都是计算框架 apache spark是通过hadoop yarn管理的,需要运行在hadoop集群上

从事大数据开发不学hadoop,直接学spark,可以吗

学习是要有系统性的,hadoop不学可以,但需要了解其相关原理,hadoop也是一堆包含了存储、计算、调度等框架,spark只是其中的内存分布式计算框架,一般用来取代hadoop中的mapreduce

Spark为什么要在Hadoop基础之上搭建

1、目的:首先需要明确一点,hadoophe spark 这二者都是大数据框架,即便如此二者各自存在的目的是不同的。Hadoop是一个分布式的数据基础设施,它是将庞大的数据集分派到由若干台计算机组成的集群中的多个节点进行存储。Spark是一个专门用来对那些分布式存储的大数据进行处理的工具,spark本身并不会进行分布式...

spark standalone 需不需要配置hadoop

Spark standalone模式下使用的是Spark自带的资源调度框架,但是一般我们把数据保存在HDFS上,也就是用HDFS做数据的持久化,所以hadoop还是需要配置,但是可以只配置HDFS相关的,而Hadoop YARN不需要配置。

hadoop与spark的区别是什么?

相反,Spark也不是非要依附在Hadoop身上才能生存。但如上所述,毕竟它没有提供文件管理系统,所以,它必须和其他的分布式文件系统进行集成才能运作。这里我们可以选择Hadoop的HDFS,也可以选择其他的基于云的数据系统平台。但Spark默认来说还是被用在Hadoop上面的,毕竟,大家都认为它们的结合是最好的。以下是...

Spark对硬件的要求

大多数Spark作业可能需要从外部存储系统(例如 :Cassandra、Hadoop文件系统或HBase)读取输入数据,所以要让Spark计算引擎尽可能靠近数据持久层。如果使用HDFS作为数据存储集群,可以在相同的集群上部署Spark集群,并配置Spark和Hadoop的内存和CPU使用率以避免干扰。我们的生产存储使用的是Cassandra集群,spark master 服务单独部署,...

声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。
E-MAIL:11247931@qq.com
...小的机器,直接出来就成碎冰了,我想知道机器的名字 一带一路的挑战有哪些 为啥不能退订3G流量包(10元100M)的? 关于九阳料理机JYL-610 如何退订3g流量包? 为什么3G流量套餐不能退订? 淘宝助理老是显示错误,错误号: DBERR_DATASET_EXECUTING 私人七层自建房施工合同违约处理方式是什么? 淘宝助理登陆时会提示本地数据库格式错误,怎么解决? 自建房合同施工方违约怎么办? 在linux上如何配置spark环境,在linux上安装scala和spark老是失败_百度... maven中${spark.version}是什么意思? spark加载hadoop本地库的时候出现不能加载的情况要怎么解决 最新的spark支持python的什么版本 spark打开spark-shell报错 复合函数二阶偏导数问题 多元复合函数的二阶混合偏导求导顺序 复合函数的二阶偏导数怎么求 求助,多元复合函数求二阶偏导数老是计算错误怎么办 高数!!多元复合函数求二阶偏导数 画蓝色处不懂是怎么来的。 多元复合函数求二阶导,这道题里面多出来的f2'是什么情况?求大神解答 多元复合函数具有二阶连续偏导数中的yfv是什么意思 多元函数二阶偏导数存在为何一阶不一定连续 北方蒸月饼的做法大全 求助!多元复合函数求二阶偏导数老是计算错误怎么办。。 徐州蒸月饼的做法大全 复合函数二阶偏导数 (书上例题看不懂啊) 就求2阶那一步看不懂是怎么出来的。希望详细点,文字表述也可以 怎样做好月饼? 怎么蒸月饼 多元复合函数的二节混合偏导数 求助,spark 提交任务到集群报错 spark 4040页面 不能访问。如果使用的是spark-shell启动写程序,4040可 ... spark 怎么启动worker spark独立模式还需要编译吗 如何在Ubuntu下搭建Spark集群 spark集群搭建时报TimeoutException是怎么回事 ubuntu 16.04怎么配置spark环境 安装spark需要安装scala吗 昆山电话的区号? Spark-shell和Spark-submit提交程序的区别 0520 是不是一个区号? spark输出log信息中怎么过滤INFO信息 江苏昆山的电话区号是多少? 如何运行含spark的python脚本 昆山区号是多少 sparksession 作用域 常熟电话区号是0512还是0520? 0520这个区号为什么不是给泰州市而是给了苏州下面的昆山市啊?泰州的邮政编码是225300,像扬州的地级市 江苏省区号 全国各地区号多少?
  • 焦点

最新推荐

猜你喜欢

热门推荐