相关疑难解决方法(0)

如何充分利用集群中的所有Spark节点?

我已经在Spark的独立模式下启动了一个带有ec2脚本的10节点集群.我正在从PySpark shell中访问s3存储桶中的数据,但是当我在RDD上执行transormations时,只使用了一个节点.例如,下面将读取CommonCorpus的数据:

bucket = ("s3n://@aws-publicdatasets/common-crawl/crawl-data/CC-MAIN-2014-23/"
          "/segments/1404776400583.60/warc/CC-MAIN-20140707234000-00000-ip-10"
          "-180-212-248.ec2.internal.warc.gz")

data = sc.textFile(bucket)
data.count()
Run Code Online (Sandbox Code Playgroud)

当我运行它时,我的10个从属中只有一个处理数据.我知道这一点,因为从Spark Web控制台查看时,只有一个从站(213)具有该活动的任何日志.当我在Ganglia中查看活动时,同一节点(213)是唯一一个在运行活动时内存使用量增加的奴隶.在此输入图像描述

此外,当我使用仅有一个slave的ec2集群运行相同的脚本时,我具有完全相同的性能.我正在使用Spark 1.1.0,非常感谢任何帮助或建议.

amazon-ec2 apache-spark pyspark

14
推荐指数
1
解决办法
2564
查看次数

RDD的切片和分区之间有什么区别?

我正在使用Spark的Python API并运行Spark 0.8.

我正在存储一个大的RDD浮点向量,我需要对整个集合执行一个向量的计算.

RDD中的切片和分区之间有什么区别吗?

当我创建RDD时,我将其作为参数传递100,这使得它将RDD存储为100个切片并在执行计算时创建100个任务.我想知道,通过使系统更有效地处理数据,分区数据是否会提高切片之外的性能(即,在分区上执行操作与在切片RDD中的每个元素上操作之间是否存在差异).

例如,这两段代码之间是否有任何显着差异?

rdd = sc.textFile(demo.txt, 100)
Run Code Online (Sandbox Code Playgroud)

VS

rdd = sc.textFile(demo.txt)
rdd.partitionBy(100)
Run Code Online (Sandbox Code Playgroud)

python apache-spark

12
推荐指数
1
解决办法
5289
查看次数

标签 统计

apache-spark ×2

amazon-ec2 ×1

pyspark ×1

python ×1