在1台大型计算机上独立使用spark是否有意义?

ant*_*ell 4 python concurrency ipython-notebook apache-spark

我正在使用~120Gb的csv文件(每个从1Gb到20Gb).我正在使用一台带有36个主板的220Gb Ram计算机.

我想知道在独立模式下使用spark进行此分析是否有意义?我非常喜欢spark plus的自然并发性(使用pyspark)我有一个很好的笔记本环境可供使用.

我想做连接/聚合类型的东西,并在转换的数据集上运行机器学习.像pandas这样的Python工具只想使用1个线程,这似乎是一个巨大的浪费,因为使用所有36个线程必须要快得多..

cnn*_*znn 6

要回答你的问题,是的,如果你只有一个节点可用,特别是你所描述的一个节点(只要它可以处理数据的大小),它确实有意义.

我建议您在"本地"模式下运行应用程序,因为您只使用1个节点.运行./spark-submit时,请指定:

--master local[*]
Run Code Online (Sandbox Code Playgroud)

如:

./spark-submit --master local[*] <your-app-name> <your-apps-args>
Run Code Online (Sandbox Code Playgroud)

这将使用所有可用内核在本地节点上运行应用程序.

请记住,在您的应用程序中,您必须指定希望应用程序使用的执行程序内存量; 默认情况下,这是512米.如果要利用所有内存,可以在创建SparkConf对象时将其更改为spark-submit参数或应用程序代码.

  • 你有成功吗? - 只是友好的跟进 (3认同)