使用日期格式从 s3 读取数据
Posted
技术标签:
【中文标题】使用日期格式从 s3 读取数据【英文标题】:Read data from s3 using date format 【发布时间】:2022-01-17 07:13:50 【问题描述】:我的数据是 s3 位置,正在尝试从 s3 读取数据
val repdate=spark.sql("select date_sub(current_timestamp(),1)")
println("repdate"+repdate)
输出或更新是 2021-12-11
但在 s3 位置它的 s3://qa/test1/12-11-2021/,尝试使用 date_format
import org.apache.spark.sql.functions._
val dfdate=date_format(repdate),"MM-DD-YYYY").as(format)
遇到错误
“类型不匹配”
val df=spark.read.format(""com.databricks.csv").option("header","true").
load(s"s3://bnsdfasdf/coa/dfdate/evvventz")
是否有使用 cast(unix_timestamp) 的简单解决方法?
试过了:
val repdate=spark.sql("select date_sub(current_timestamp(),1)")
import org.apache.spark.sql.functions._
val dfdate=(""" select date_format(repdate),"MM-DD-YYYY").as(format) """)
但是得到的路径不存在
【问题讨论】:
【参考方案1】:你没有提到错误,所以很难给出准确的答案, 试试这个
import org.apache.spark.sql.functions._
spark.sql("set spark.sql.legacy.timeParserPolicy=LEGACY")
val dfdate=date_format(repdate),"MM-DD-YYYY").as(format)
【讨论】:
谢谢,但在尝试您的命令后出现类似错误 检查 'replaydate' 的类型,错误是类型转换问题。首先,确保您的replaydate
是一个字符串。如果是,那么试试这个`to_date(col("replaydate"),"MM-DD-YYYY")`以上是关于使用日期格式从 s3 读取数据的主要内容,如果未能解决你的问题,请参考以下文章
Redshift Spectrum 读取文件的数据格式是啥?