我们有一个将数据映射到数据帧的脚本(我们使用的是 pyspark)。数据以字符串形式出现,并且对其进行了一些其他有时昂贵的操作,但作为操作的一部分(调用 withColumn),我们对其最终数据类型进行了强制转换。
我需要判断是否发生了截断,但如果发生了截断,我们不想失败。我们只想要一个数字来知道每个翻译列(大约有 300 列)中有多少行失败。
我的第一个想法是让每一列通过一个 UDF 来进行测试,输出将是一个包含值的数组,以及一个关于它是否通过数据类型检查的值。然后我会做2个选择。一个从数组中选择原始值,另一个聚合未命中。但这似乎是一个草率的解决方案。我对 pyspark/hadoop 世界还很陌生……很想知道是否有更好的(也许是标准的?)方法来做到这一点。