Pyspark获取当前时间戳和时区

um6iljoc  于 2023-03-11  发布在  Spark
关注(0)|答案(1)|浏览(190)

我尝试使用pyspark中的current_timestamp方法获取当前时间戳和时区。但是得到“SQLException:不支持的类型TIMESTAMP_WITH_TIMEZONE

val connection_properties = Map(
    "url" -> CONNECTION_URL, 
    "user" -> USER, 
    "password" -> PASSWORD, 
    "driver" -> DRIVER_CLASSNAME
)

val source_df=spark.read.format("jdbc").options(connection_properties)

val test=source_df.option("query","select current_timestamp as create_ts, AB.emp_id, AB.emp_name from EMPLOYEE AB" ).load()

但是我期望create_ts的值类似于2023-03-09 23:09:50.379 +0530。有人能帮我解决这个问题吗?

hs1ihplo

hs1ihplo1#

不要在查询中使用current_timestamp。请尝试使用DataFrame获取它。

val test = source_df.option("query","select AB.emp_id, AB.emp_name from EMPLOYEE AB" ).load()

import org.apache.spark.sql.functions.current_timestamp

test.withColumn("create_ts", current_timestamp).show()

相关问题