我正在使用spark读取一些csv数据(通过指定schema并设置为failfast模式)。数据包含不同的列类型,包括整数。问题是一些整数有尾随破折号而不是前导破折号(324-而不是-324,spark将它们作为字符串)。目前,它无法将这些值解析为整数(如果我从代码中删除failfast模式,它会将所有非整数替换为null):
df = spark.read.format("com.databricks.spark.csv")
.option("sep","\t")
.option("header", header)
.option("mode", "FAILFAST")
.schema(schema)
.load(path)
有没有一种简单快捷的方法来指示spark将这些整数作为负数加载并保持failfast模式?
1条答案
按热度按时间ygya80vv1#
可以将这些列作为字符串加载,然后转换为整数。