如何在Spark机器学习示例中更改持久级别。

GSa*_*int 2 apache-spark pyspark

我正在做一些基准测试,以重播一些著名论文的实验。

为此,我使用的是Spark源附带的示例,并使用如下所示的命令来执行逻辑回归。

./bin/spark-submit-驱动程序内存6g --conf“ spark.memory.fraction = 0.6”示例/src/main/python/mllib/logistic_regression.py svm.txt 100

但是,我想更改中间数据的存储级别(例如持久性MEMORY_ONLY或DISK_ONLY),但找不到办法。我检查了logistic_regression.py,classification.py和common.py,但是这些文件不包含任何用于持久化的代码或用于缓存中间数据的代码。

您能告诉我该文件在哪里修复吗?提前致谢。

Dat*_*ran 6

当然可以。如果您查看代码。您可以保留rdd:

if __name__ == "__main__":
    if len(sys.argv) != 3:
        print("Usage: logistic_regression <file> <iterations>", file=sys.stderr)
        exit(-1)
    sc = SparkContext(appName="PythonLR")
    points = sc.textFile(sys.argv[1]).map(parsePoint)
    # persist rdd
    points.persist(pyspark.StorageLevel.MEMORY_ONLY)
Run Code Online (Sandbox Code Playgroud)