gpt4 book ai didi

python-3.x - Spark DataFrame 限制功能需要太多时间才能显示

转载 作者:行者123 更新时间:2023-12-03 21:20:23 25 4
gpt4 key购买 nike

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 内存
  • 最佳答案

    你的配置没问题。这种巨大的持续时间差异是由底层实现造成的。不同之处在于 limit() 在创建具有 30 行的数据帧之前读取所有 7000 万行。相比之下,Show() 仅获取现有数据帧的前 20 行,因此只需读取这 20 行。
    如果您只想显示 30 而不是 20 行,您可以使用 30 作为参数调用 show() 方法:

    df.show(30, truncate=False)

    关于python-3.x - Spark DataFrame 限制功能需要太多时间才能显示,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54615195/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com