我使用Java或编码并不是很好,但是我需要在Intelij idea IDE中使用Apache Spark(Java API)运行大型数据集。
我不太了解如何设置它以拥有一个主机和一些从机。这就是我的环境:
SparkSession spark = SparkSession.builder()
.appName("LOG-16k 32 cores-persist")
//.config("spark.executor.heartbeatInterval", "10000s")
.config("spark.sql.warehouse.dir", "file:///c:/tmp/")
.config("spark.eventLog.enabled", "true")
.config("spark.eventLog.dir", "file:/home/XXX/temp/spark-events")
.config("spark.history.fs.logDirectory", "file:/home/XXX/temp/spark-events")
//.config("spark.debug.maxToStringFields", 100000)
.master("local[32]").getOrCreate();
显然,您需要一台以上的机器才能进行分散的处理
您应该阅读Spark文档中有关设置以下内容之一的信息
或者您可以找到由社区提供的调度程序,例如Hashicorp Nomad-https://learn.hashicorp.com/nomad/spark/pre
您还希望使用诸如HDFS或Ceph之类的分布式文件系统,因为如果您确实有一个大型数据集,那么从一个磁盘读取它就是您的瓶颈