您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

Spark SQL-如何从时代开始选择以UTC毫秒存储的日期?

Spark SQL-如何从时代开始选择以UTC毫秒存储的日期?

您的JSON不平坦,因此需要使用限定名称(例如)来对顶级以下的字段进行寻址dateCreated.$date。您的特定日期字段都是long类型,因此您需要对它们进行数值比较,看起来您在正确的位置上。

一个问题是您的字段名称包含“ $”字符,并且Spark sql不允许您对其进行查询。一种解决方案是,SchemaRDD首先将它读为,而不是直接将JSON读为,而是RDD[String]使用map方法执行您选择的Scala字符串操作,然后使用sqlContextjsonRDD方法创建SchemaRDD

val lines = sc.textFile(...)
// you may want something less naive than global replacement of all "$" chars
val linesFixed = lines.map(s => s.replaceAllLiterally("$", ""))
val accEvt = sqlContext.jsonRDD(linesFixed)

我已经使用Spark 1.1.0测试了这一点。

作为参考,此错误报告及其他报告中已指出Spark sql中缺乏报价功能,并且似乎该修复程序已在最近签入,但要花一些时间才能发布到版本中

SQLServer 2022/1/1 18:51:42 有587人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶