Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
OpenDocCN
spark-doc-zh
提交
5c8e6e45
S
spark-doc-zh
项目概览
OpenDocCN
/
spark-doc-zh
10 个月 前同步成功
通知
35
Star
1189
Fork
345
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
S
spark-doc-zh
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
前往新版Gitcode,体验更适合开发者的 AI 搜索 >>
提交
5c8e6e45
编写于
4月 07, 2019
作者:
取昵称好难啊
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
".。" to "。"
上级
9fd817c4
变更
4
显示空白变更内容
内联
并排
Showing
4 changed file
with
4 addition
and
4 deletion
+4
-4
docs/13.md
docs/13.md
+1
-1
docs/17.md
docs/17.md
+1
-1
docs/23.md
docs/23.md
+1
-1
docs/4.md
docs/4.md
+1
-1
未找到文件。
docs/13.md
浏览文件 @
5c8e6e45
...
...
@@ -118,7 +118,7 @@ export HADOOP_CONF_DIR=XXX
|
`local[*,F]`
| 使用更多的 worker 线程作为逻辑的 core 在您的机器上来本地的运行 Spark并允许最多失败 F次。 |
|
`spark://HOST:PORT`
| 连接至给定的
[
Spark standalone cluster
](
spark-standalone.html
)
master. master。该 port(端口)必须有一个作为您的 master 配置来使用,默认是 7077。 |
|
`spark://HOST1:PORT1,HOST2:PORT2`
| 连接至给定的
[
Spark standalone cluster with standby masters with Zookeeper
](
spark-standalone.html#standby-masters-with-zookeeper
)
. 该列表必须包含由zookeeper设置的高可用集群中的所有master主机。该 port(端口)必须有一个作为您的 master 配置来使用,默认是 7077。 |
|
`mesos://HOST:PORT`
| 连接至给定的
[
Mesos
](
running-on-mesos.html
)
集群. 该 port(端口)必须有一个作为您的配置来使用,默认是 5050。或者,对于使用了 ZooKeeper 的 Mesos cluster 来说,使用
`mesos://zk://...`
.
。使用
`--deploy-mode cluster`
, 来提交,该 HOST:PORT 应该被配置以连接到
[
MesosClusterDispatcher
](
running-on-mesos.html#cluster-mode
)
. |
|
`mesos://HOST:PORT`
| 连接至给定的
[
Mesos
](
running-on-mesos.html
)
集群. 该 port(端口)必须有一个作为您的配置来使用,默认是 5050。或者,对于使用了 ZooKeeper 的 Mesos cluster 来说,使用
`mesos://zk://...`
。使用
`--deploy-mode cluster`
, 来提交,该 HOST:PORT 应该被配置以连接到
[
MesosClusterDispatcher
](
running-on-mesos.html#cluster-mode
)
. |
|
`yarn`
| 连接至一个
[
YARN
](
running-on-yarn.html
)
cluster in
`client`
or
`cluster`
mode 取决于
`--deploy-mode`
. 的值在 client 或者 cluster 模式中。该 cluster 的位置将根据
`HADOOP_CONF_DIR`
或者
`YARN_CONF_DIR`
变量来找到。 |
# 从文件中加载配置
...
...
docs/17.md
浏览文件 @
5c8e6e45
...
...
@@ -53,7 +53,7 @@ $ ./bin/spark-submit --class my.main.Class \
# 准备
在 YARN 上运行 Spark 需要使用 YARN 支持构建的二进制分布式的 Spark (a binary distribution of Spark)。二进制文件(binary distributions)可以从项目网站的
[
下载页面
](
http://spark.apache.org/downloads.html
)
下载。要自己构建 Spark ,请参考
[
构建 Spark
](
building-spark.html
)
.
。
在 YARN 上运行 Spark 需要使用 YARN 支持构建的二进制分布式的 Spark (a binary distribution of Spark)。二进制文件(binary distributions)可以从项目网站的
[
下载页面
](
http://spark.apache.org/downloads.html
)
下载。要自己构建 Spark ,请参考
[
构建 Spark
](
building-spark.html
)
。
要使 Spark 运行时 jars 可以从 YARN 端访问,您可以指定
`spark.yarn.archive`
或者
`spark.yarn.jars`
。更多详细的信息,请参阅
[
Spark 属性
](
running-on-yarn.html#spark-properties
)
。如果既没有指定
`spark.yarn.archive`
也没有指定
`spark.yarn.jars`
,Spark 将在
`$SPARK_HOME/jars`
目录下创建一个包含所有 jar 的 zip 文件,并将其上传到 distributed cache(分布式缓存)中。
...
...
docs/23.md
浏览文件 @
5c8e6e45
...
...
@@ -55,7 +55,7 @@ Spark 提供了一种基于负载来动态调节Spark应用资源占用的机制
一个启用了动态分配的Spark应用会有等待任务需要调度的时候,申请额外的执行器。在这种情况下,必定意味着已有的执行器已经不足以同时执行所有未完成的任务。
Spark会分轮次来申请执行器。实际的资源申请,会在任务挂起spark.dynamicAllocation.schedulerBacklogTimeout秒后首次触发,其后如果等待队列中仍有挂起的任务,则每过spark.dynamicAllocation.sustainedSchedulerBacklogTimeout秒后触发一次资源申请。另外,每一轮申请的执行器个数以指数形式增长。例如:一个Spark应用可能在首轮申请1个执行器,后续的轮次申请个数可能是2个、4个、8个…
.
。
Spark会分轮次来申请执行器。实际的资源申请,会在任务挂起spark.dynamicAllocation.schedulerBacklogTimeout秒后首次触发,其后如果等待队列中仍有挂起的任务,则每过spark.dynamicAllocation.sustainedSchedulerBacklogTimeout秒后触发一次资源申请。另外,每一轮申请的执行器个数以指数形式增长。例如:一个Spark应用可能在首轮申请1个执行器,后续的轮次申请个数可能是2个、4个、8个…。
采用指数级增长策略的原因有两个:第一,对于任何一个Spark应用如果只需要多申请少数几个执行器的话,那么必须非常谨慎的启动资源申请,这和TCP慢启动有些类似;第二,如果一旦Spark应用确实需要申请多个执行器的话,那么可以确保其所需的计算资源及时增长。
...
...
docs/4.md
浏览文件 @
5c8e6e45
...
...
@@ -906,7 +906,7 @@ Spark 里的某些操作会触发 shuffle。shuffle 是spark 重新分配数据
为了明白
[
`reduceByKey`
](
#ReduceByLink
)
操作的过程,我们以
`reduceByKey`
为例。reduceBykey 操作产生一个新的 RDD,其中 key 所有相同的的值组合成为一个 tuple - key 以及与 key 相关联的所有值在 reduce 函数上的执行结果。面临的挑战是,一个 key 的所有值不一定都在一个同一个 paritition 分区里,甚至是不一定在同一台机器里,但是它们必须共同被计算。
在 spark 里,特定的操作需要数据不跨分区分布。在计算期间,一个任务在一个分区上执行,为了所有数据都在单个
`reduceByKey`
的 reduce 任务上运行,我们需要执行一个 all-to-all 操作。它必须从所有分区读取所有的 key 和 key对应的所有的值,并且跨分区聚集去计算每个 key 的结果 - 这个过程就叫做
**shuffle**
.
。
在 spark 里,特定的操作需要数据不跨分区分布。在计算期间,一个任务在一个分区上执行,为了所有数据都在单个
`reduceByKey`
的 reduce 任务上运行,我们需要执行一个 all-to-all 操作。它必须从所有分区读取所有的 key 和 key对应的所有的值,并且跨分区聚集去计算每个 key 的结果 - 这个过程就叫做
**shuffle**
。
尽管每个分区新 shuffle 的数据集将是确定的,分区本身的顺序也是这样,但是这些数据的顺序是不确定的。如果希望 shuffle 后的数据是有序的,可以使用:
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录