SparkSession在本地独立群集上花费的时间太长

时间:2017-09-08 14:32:35

标签: python-3.x apache-spark pyspark bigdata

我对Big Data很陌生,目前我正在学习Apache Spark。我在同一台机器上创建了一个主机和一个从机的独立集群。 SPARK_WORKER_MEMORY设置为“1g”,SPARK_LOCAL_IP指向我的IP地址。所以,我编写了一个python代码来简单地创建一个SparkSession:

from pyspark.sql import SparkSession
from time import time

def main( ):
    start_time = time( )
    sparkSession = ( SparkSession.builder
                                 .master( "spark://nilson:7077" )
                                 .appName( "pyclient" )
                                 .config( "spark.executor.memory", "512m" )
                                 .getOrCreate( ) )

    elapsed_time = time( ) - start_time

    print ("\n\nelapsed time: %.4gs" %elapsed_time)
    return

if __name__ == '__main__':
    main( )

你可以看到,差不多6秒钟 here

所以,我的问题是:

我的环境变量确实需要这个时间吗?

我还尝试读取一个只包含两行数据的简单json文件。整个过程花了将近13秒钟打开并打印其内容。

谢谢。

1 个答案:

答案 0 :(得分:0)

Spark是用于大规模数据处理的引擎,它在启动作业之前会执行许多小型管理工作,因为记录器配置而导致这些工作没有看到。无论数据大小如何,它都会执行初始设置步骤。

您可以通过将记录器级别更改为以下来开始浏览这些内部日志:ALL,DEBUG,ERROR,INFO,OFF,WARN

e.g。 sc.setLogLevel("ERROR") #default