import pyspark
from pyspark.sql import SparkSession
from pyspark.conf import SparkConf
import findspark
from pyspark.sql.functions import countDistinct
spark = SparkSession.builder \
.master("local[*]") \
.appName("usres mobile related information analysis") \
.config("spark.submit.deployMode", "client") \
.config("spark.executor.memory","3g") \
.config("spark.driver.maxResultSize", "1g") \
.config("spark.executor.pyspark.memory","3g") \
.enableHiveSupport() \
.getOrCreate()
handset_info =
ora_tmp.select('some_value','some_value','some_value','some_value','some_value','some_value','some_value')
我用 3gb 执行内存和 3gb 执行 pyspark 内存配置 spark。我的数据库有超过 7000 万行。显示我打电话给
handset_info.show()
方法它在 2-5 秒之间显示前 20 行。但是当我尝试运行以下代码时
mobile_info_df = handset_info.limit(30)
mobile_info_df.show()
显示前 30 行需要太多时间(3-4 小时)。花那么多时间合乎逻辑吗?我的配置有问题吗。我的笔记本电脑的配置是:
- Core i7(4 核)笔记本电脑,8GB 内存