pyspark - 我在 pyspark 中与 df.withcolumn 相关的代码有错误
问题描述
我可以使用以下代码:
df.withColumn("id", df["id"].cast("integer")).na.drop(subset=["id"])
如果id
不是一个有效的整数,它将为 NULL 并在后续步骤中删除。
不改变类型
df = sqlContext.read.text("sample.txt")
df.select(
df.value.substr(1.2).alias('id'),
df.value.substr(3.13).alias('name'),
df.value.substr(16,8).alias('date'),
df.value.substr(24,3).alias('Yes/No')
).show()
valid = df.where(df["id"].cast("integer").isNotNull())
invalid = df.where(df["id"].cast("integer").isNull())
这里是我的df.printschema
版画
root |-- value: string (nullable = true)
+---+-------------+--------+------+
| id| name | date |Yes/No|
+---+-------------+--------+------+
| 01|abcdefghijklkm |010V2201| 9Ye|
+---+-------------+--------+------+
| ab| abcdefghijklmm|010V2201| 9Ye|
+---+-------------+--------+------+
这是一个示例输出
带有整数列的预期结果行将被删除为空值或无效值,我可以在其中使用 df.withcolumn 吗?如果我可以,那怎么办?
解决方案
推荐阅读
- php - 我希望你帮助我,以便我可以将 md5 函数与 php 中的字符串变量连接起来
- bash - 如何通过匹配数据来组合两个文件的内容
- jasmine - 如何在并行执行量角器测试脚本时生成合并报告?
- xml - 如何在 XSLT 中进行复杂的条件处理
- ios - SwiftUI @Binding 初始化
- python - 用于计算文件哈希的异步编程
- python - ValueError:尝试相对导入超出顶级包(Scrapy)
- python - 为什么我会收到错误消息“Break outside Loop”?
- javascript - 16 位有符号整数的正则表达式
- javascript - 如何像另一个对象一样构建一个对象?