pyspark rdd isCheckPointed() 为 false

2023-12-12

当我向 pyspark 数据帧迭代添加 500 多列时,遇到了 stackoverflowerrors。所以,我包括了检查点。检查站没有帮助。因此,我创建了以下玩具应用程序来测试我的检查点是否正常工作。我在此示例中所做的就是通过一遍又一遍地复制原始列来迭代创建列。我坚持、检查点并每 10 次迭代进行计数。我注意到我的 dataframe.rdd.isCheckpointed() 总是返回 False。我可以验证检查点文件夹确实正在创建并填充在磁盘上。我正在 glcoud 上的 dataproc 上运行。

这是我的代码:

from pyspark import SparkContext, SparkConf
from pyspark import StorageLevel
from pyspark.sql import SparkSession
import pandas as pd
import numpy as np
import sys

APP_NAME = "isCheckPointWorking"

spark = SparkSession\
    .builder\
    .appName(APP_NAME)\
    .config("spark.sql.crossJoin.enabled","true")\
    .getOrCreate()

sc = SparkContext.getOrCreate()

#set the checkpoint directory
sc.setCheckpointDir('gs://mybucket/checkpointtest/')

#create a spark dataframe with one column containing numbers 1 through 9
df4 = spark.createDataFrame(pd.DataFrame(np.arange(1,10),columns = ["A"]))
df4.show()

#create a list of new columns to be added to the dataframe
numberList = np.arange(0,40) 
colNewList = ['col'+str(x) for x in numberList]

print(colNewList)

iterCount = 0

for colName in colNewList:

    #copy column A in to the new column
    df4 = df4.withColumn(colName,df4.A)

    if (np.mod(iterCount,10) == 0):           
        df4 = df4.persist(StorageLevel.MEMORY_AND_DISK)      

        df4.checkpoint(eager=True)

        df4.count()    
        #checking if underlying RDD is being checkpointed        
        print("is data frame checkpointed "+str(df4.rdd.isCheckpointed()))

    iterCount +=1

当我看到检查点文件夹正在填充时,尚不清楚为什么 df4.rdd.isCheckpointed() 每次都返回 False。有什么想法吗?


checkpoint方法返回一个新的检查点Dataset,它不会修改当前的Dataset。

Change

df4.checkpoint(eager=True)

To

df4 = df4.checkpoint(eager=True)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

pyspark rdd isCheckPointed() 为 false 的相关文章

随机推荐

  • 使用 Python 通过 SSH 从服务器读取文件

    我正在尝试使用 Python 中的 SSH 从服务器读取文件 我正在使用 Paramiko 进行连接 我可以连接到服务器并运行类似的命令cat filename并从服务器取回数据 但我尝试读取的某些文件大小约为 1 GB 或更大 如何使用P
  • 使用 WebApi 和 ODataQueryOptions 实现 $select

    我正在尝试使用 ODataQueryOptions 通过自定义 DAL 实现一些 OData 功能 我的 DAL 使用设计时生成的类型化数据表 通过拦截 ODataQueryOptions 的 SelectExpand 属性 我可以让 DA
  • 具有部分更新的实体框架验证

    我将 Entity Framework 5 0 与 DbContext 和 POCO 实体一起使用 有一个包含 3 个属性的简单实体 public class Record public int Id get set public stri
  • 为什么从 ResourceBundle.getBundle 检索字符串时出现无法理解的字符

    请告诉我如何解决这个问题 Locale locale new Locale language ResourceBundle messages ResourceBundle getBundle i18n messages locale utf
  • C++ 运算符歧义

    请原谅我 因为我对 C 相当陌生 但我在运算符歧义方面遇到了一些麻烦 我认为它是特定于编译器的 适用于在我的桌面上编译的代码 但是 它无法在我的笔记本电脑上编译 我想我知道出了什么问题 但我没有看到一个优雅的解决方法 如果我犯了一个明显的错
  • CMSampleBufferGetImageBuffer 中的内存泄漏

    我得到了一个UIImage from a CMSampleBufferRef每 N 个视频帧进行视频缓冲 例如 void imageFromVideoBuffer void UIImage image completion CMSample
  • 如何在具有 ARM CPU 的 WinRT 设备中部署 SQLite?

    我正在开发一个 C Window8 WinRT 应用程序 并且正在使用 SQLite NET 以及链接在文档底部的 sqlite3 dll https github com praeclarum sqlite net 我的项目在我的计算机上
  • 在 PHP 中以编程方式创建 Excel 图表

    您知道如何通过 PHP 以编程方式在 Excel 工作表中创建图表吗 我知道您可以调用 Excel COM 对象 但服务器正在 Linux 计算机上运行 我已经使用了优秀的 PHPExcel 库 但他们不提供创建图表的选项 Thanks 尝
  • 如何使用新的图形 API 在 FB 中显示扩展权限对话框?

    我之前使用旧的 REST API 在 Facebook 中显示权限对话框 现在 有了新的图形 API 我能做什么 我在 IFrame 应用程序中 我知道我可以作弊并在单独的窗口中弹出权限 FB login function response
  • 运行 php 脚本时 Jquery 函数说未定义

    我基本上是这样做的 所以当你点击一个按钮 投票 时 现在我有 客户 php
  • .net Core Mailkit 从数组发送附件

    我正在测试 Net Core MVC 它不支持 System Net Mail 我发现的唯一替代方案是 Mailkit 效果很好 但无法弄清楚如何发送我以二进制形式存储在数据库中的附件 我在 MVC 5 中使用了以下内容 var mail
  • Eclipse CDT 不会运行已编译的 exe 文件

    所以我决定安装 Eclipse CDT 作为我选择的 IDE 然而 似乎一旦我开始运行需要输入的 C 程序 Eclipse 就决定停止运行控制台窗口中的文件 我尝试在任务管理器中关闭该程序的所有实例 并且我在计算机上找到的 exe 文件运行
  • 在 Postgres 中复制/克隆表的最快方法是什么?

    我知道我能做到CREATE TABLE tbl 2 AS select from tbl 1 但有没有更好 更快 更强的方法来做到这一点 我现在谈论的主要是性能 这些表都是非规范化的 我没有任何外键约束需要担心 EDIT 或许就没有更好的办
  • 使用“graphics.DrawString”后如何提高打印文本质量?

    打印后我的文本质量有问题 它不平滑和抗锯齿 故事是这样的 我从位图创建图形 Graphics FromImage MyBitmap and 我认为这是我的问题的起点 因为我无法使用 PrintPageEvenArg e 但我别无选择 之后我
  • Tensorflow 似乎没有看到我的 GPU

    我已经在cuda 7 5和8 0上尝试过tensorflow 没有cudnn 我的GPU很旧 cudnn不支持它 当我执行时device lib list local devices 输出中没有 GPU Theano 可以看到我的 GPU
  • Android 6.0获取MAC地址

    我正在开发一个获取设备 MAC 地址的应用程序 但从 Android 6 0 开始 我的代码不起作用 给了我一个不正确的值 这是我的代码 public String ObtenMAC WifiManager manager WifiMana
  • Applet 类加载器无法在 applet 的 jar 中找到类

    我开始问这个问题 然后在提交之前找到了答案 无论如何 我决定发布这个问题 以便其他遇到同样问题的人能够从我的错误中吸取教训 我在使用小程序时遇到问题 aJApplet实际上 无法实例化与小程序包含在同一 jar 中的另一个类 我在 Java
  • 键盘没有响应 resignFirstResponder

    我不想显示键盘 而是想在选择文本字段时显示弹出窗口视图 我的代码位于底部 如果键盘未显示 则一切正常 但是 如果显示键盘然后选择文本字段 则键盘不会消失 第一个响应者一定在某个地方迷路了 但我不知道在哪里 有人有解决办法吗 我的文本字段 s
  • Rust 中具有变化行为的有限(游戏)状态机模式?

    我正在尝试用 Rust 编写一个回合制游戏 但我在该语言中遇到了障碍 除非我没有完全理解某些东西 我是该语言的新手 基本上 我想更改游戏中的状态 其中每个状态都有不同的行为 例如我有类似的东西 struct Game state Some
  • pyspark rdd isCheckPointed() 为 false

    当我向 pyspark 数据帧迭代添加 500 多列时 遇到了 stackoverflowerrors 所以 我包括了检查点 检查站没有帮助 因此 我创建了以下玩具应用程序来测试我的检查点是否正常工作 我在此示例中所做的就是通过一遍又一遍地