gpt4 book ai didi

azure - dfR = Spark.read.format ("csv").option ("mode", "FAILFAST").option ("header","true").schema(sch).load(fileName) ---- 不工作

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

读取 csv 的“FAILFAST”选项对于 csv 文件中间格式错误的记录不起作用。该文件应该有 7 列,以“,”分隔。我模拟了我的 csv 文件,在中间的一个记录中增加了第 8 列,并制作了另一条包含 6 列的记录。代码如下:

架构:

sch = StructType(
[
StructField("SecurityDescription", StringType(), True),
StructField("RIC", StringType(), False),
StructField("UniversalClosePrice", DecimalType(18, 9), False),
StructField("UniversalClosePriceDate", DateType(), False),
StructField("FXIRScalingFactor", StringType(), False),
StructField("FileCode", StringType(), False),
StructField("BaseCurrencyCode", StringType(), True),
]
)


dfR = (
spark.read.format("csv")
.option("mode", "FAILFAST")
.option("header", "true")
.schema(sch)
.load(fileName)
)

在搜索网络后,我什至尝试在末尾添加 .cache() ,但它仍然将格式不正确的记录文件作为有效文件传递。我的期望是该作业应该中止。

尝试过:

dfR = (
spark.read.format("csv")
.option("mode", "FAILFAST")
.option("header", "true")
.schema(sch)
.load(fileName)
)

# -- ALSO --
dfR = (
spark.read.format("csv")
.option("mode", "FAILFAST")
.option("header", "true")
.schema(sch)
.load(fileName)
.cache()
)

期望:当遇到格式错误的记录文件时,作业应异常中止。

最佳答案

@Wasim Syed很高兴知道,您的问题已解决。将此作为答案,将充分用于有类似问题的其他社区成员。

注意:您提供的架构有七个字段,但您的 CSV 文件仅包含八个记录字段,另一个包含六个记录。这就是架构与 CSV 文件中的实际数据不匹配的原因,从而导致 FAILFAST 选项被忽略。

确保FAILFAST选项正常工作,您需要使架构与CSV文件中的实际数据匹配。

我在我的环境中重现了相同的代码。我得到了具有正确架构的输出。

enter image description here

关于azure - dfR = Spark.read.format ("csv").option ("mode", "FAILFAST").option ("header","true").schema(sch).load(fileName) ---- 不工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/75890081/

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