在将数据保存到hdfs之前,我需要验证Dataframe中的某些列。我想知道在pyspark 1.5.2/python2.7中是否有一种优雅而有效的方法来实现这一点
例如,假设我有以下数据
+-----+---+
| a| b|
+-----+---+
|"foo"|123|
+-----+---+
我要确保列的每个值 a
不超过3个字符和列 b
是 <= 500
.
我目前的想法是编写一个udf,它执行一个简单的if/else,并返回某个值,然后根据这些结果决定是否失败。然而,对于很多数据,我担心它的处理速度会很慢,或者至少会非常繁重。在spark中是否已经有了一种行之有效的方法?或者有什么流行的策略吗?我自己也没能找到多少关于这个问题的信息。
我也愿意避免Spark,如果有更好的方法,任何好的建议都会很有帮助。
1条答案
按热度按时间vxqlmq5t1#
您可以使用几个预定义的函数来实现您的目标。