Python 在一台大型计算机上单独使用spark有意义吗?
我正在处理大约120Gb的csv文件(从1Gb到20Gb)。我使用的是一台220Gb的Ram电脑,有36个硬盘 我想知道在独立模式下使用spark进行此分析是否有意义?我真的很喜欢spark plus(与pyspark)的自然并发性,我有一个很好的笔记本环境可以使用Python 在一台大型计算机上单独使用spark有意义吗?,python,concurrency,apache-spark,ipython-notebook,Python,Concurrency,Apache Spark,Ipython Notebook,我正在处理大约120Gb的csv文件(从1Gb到20Gb)。我使用的是一台220Gb的Ram电脑,有36个硬盘 我想知道在独立模式下使用spark进行此分析是否有意义?我真的很喜欢spark plus(与pyspark)的自然并发性,我有一个很好的笔记本环境可以使用 我想做连接/聚合类型的工作,并在转换后的数据集上运行机器学习。像pandas这样的Python工具只想使用一个线程,这似乎是一种巨大的浪费,因为使用所有36个线程必须要快得多。要回答您的问题,是的,如果您只有一个节点可用,特别是一个
我想做连接/聚合类型的工作,并在转换后的数据集上运行机器学习。像pandas这样的Python工具只想使用一个线程,这似乎是一种巨大的浪费,因为使用所有36个线程必须要快得多。要回答您的问题,是的,如果您只有一个节点可用,特别是一个像您描述的那样强大的节点(只要它能够处理数据的大小),这是有意义的 我建议您在“本地”模式下运行应用程序,因为您只使用1个节点。运行./spark submit时,请指定:
--master local[*]
例如:
./spark-submit --master local[*] <your-app-name> <your-apps-args>
/spark提交--主本地[*]
这将使用所有可用的内核在本地节点上运行应用程序
请记住,在应用程序中,必须指定希望应用程序使用的执行器内存量;默认情况下,这是512m。如果您想利用所有内存,可以将其作为参数更改为spark submit,也可以在创建SparkConf对象时在应用程序代码中更改。成功了吗?-只是友好的跟进