apache-spark - 检查spark sql中的日期有效性

是否可以检查日期(yyymmdd)在 spark SQL 中是否有效? 我尝试了以下方法:

TO_DATE(CAST(UNIX_TIMESTAMP(CAST(UNIX_TIMESTAMP(colname, 'yyyymmdd') AS  TIMESTAMP))) IS NOT NULL

谢谢, 巴拉特

最佳答案

您将需要使用类似于 Natty 的数据解析器(取决于您使用的语言)natty.joestelmach.com

您可以创建一个使用 Natty(或其他解析器)解析和验证日期的函数。然后注册您可以在 Spark SQL 中使用的 udf。

val isValidDate: String => Boolean =//your validation logic here
sqlContext.registerFunction("dateValidate", isValidDate)
sqlContext.sql("SELECT * FROM DF WHERE dateValidate(colname)")

https://stackoverflow.com/questions/43239420/

相关文章:

javascript - 如何在 Chart.js 的条形图列中添加背景图片?

django - 是否有可能让预定的 celery 任务剩余几秒

sql - 为什么非聚集索引列仍然进行索引扫描而不是索引查找

wordpress - WP_Query - 按文件名订购附件?

python - 如何访问FormView中的request对象

caching - 通过自定义响应 header 绕过 Nginx 缓存

java - 在 Java 中实现 Soundex

php - SwiftMailer 在电子邮件正文中附加图像

tensorflow - TensorFlow 中的生存分析

angularjs - 如何将 gmail api 正确加载到 angular 2 应用程序