我已经在Databricks上使用Spark几个月了,并且最近决定在GCP上启动我自己的集群以进行调试。 我希望从PyCharm中运行Spark驱动程序并让它将任务提交给远程集群。
这就是我的所作所为:
SPARK_LOCAL_IP
设置为VPN接口的IP,将SPARK_MASTER_IP
设置为每个节点上主VPN接口的IP。SPARK_LOCAL_IP
- 笔记本电脑上VPN接口的IP SPARK_MASTER
- spark:// {master VPN IP}:7077 PYSPARK_SUBMIT_ARGS
- " - driver-java-options \' -XX:MaxPermSize = 2048m \' --driver-memory 4G --jars" local:/opt/spark/jars/aws-java-sdk-1.7.4.jar,local:/opt/spark/jars/commons-csv-1.1.jar本地:/opt/spark/jars/jackson-databind-2.2.3.jar,local:/opt/spark/jars/jackson-annotations-2.2.3.jar,local中:/ opt /火花/瓶/ hadoop- AWS-2.6.0.jar,地方:/opt/spark/jars/jackson-core-2.2.3.jar,local:/opt/spark/jars/spark-csv_2.10-1.2.0.jar" --py-files my_egg pyspark-shell " SPARK_HOME
- / opt / spark(其中spark位于每个节点以及驱动程序上)看到效果很好后,我尝试从S3加载textFile,这里是一个片段:
sc = SparkContext(os.environ['SPARK_MASTER'], 'RemoteDebugger')
sqlContext = HiveContext(sc)
rdd = sc.textFile('s3a://{some_path}')
rdd.count()
我运行这几秒钟后,我的笔记本电脑就开始使用香蕉,在我的所有内核和100%内存上使用100%CPU。 该文件只有66MB大。 我看到的最后一条日志消息是:
INFO FileInputFormat:要处理的总输入路径:1
有没有人解释为什么会这样?