Spark SQL 时间格式处理

这篇具有很好参考价值的文章主要介绍了Spark SQL 时间格式处理。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

初始化Spark Sql

package pbcp_2023.clear_data

import org.apache.spark.SparkConf
import org.apache.spark.sql.SparkSession
import org.apache.spark.sql.functions.{current_date, current_timestamp}

object twe_2 {
  def main(args: Array[String]): Unit = {
//新建SparkConf
    val con = new SparkConf().setMaster("local[*]").setAppName("one")
  //设置权限
    System.setProperty("HADOOP_USER_NAME", "root")
//新建Spark Sql
    val sc = new SparkSession.Builder()
      .config(con)
      .enableHiveSupport()
      .getOrCreate()
   import sc.implicits._
    val list = List("date").toDF()


  }
  }

1.current_date和current_timestamp 

current_date:取得当前日期

current_timestamp: 取得当期时间日期

   import sc.implicits._
    val list = List("date").toDF()
//    current_date 当前日期
//    current_timestamp 当前时间日期
    list.withColumn("current_date(日期)",current_date())
    .withColumn("current_timestamp",current_timestamp())

sparksql时间格式化,Spark SQL,spark,sql,大数据

2.获取各种时间格式 

  1. current_timestamp(): 这个函数用于获取当前的日期和时间戳。
  2. year(col("local_date")): 这个函数会提取出"local_date"列中的年份。
  3. month(col("local_date")): 这个函数会提取出"local_date"列中的月份。
  4. quarter(col("local_date")): 这个函数会根据"local_date"列中的日期信息,将日期划分为哪个季度。
  5. weekofyear(col("local_date")): 这个函数会提取出"local_date"列中该年度的第几周。
  6. dayofmonth(col("local_date")): 这个函数会提取出"local_date"列中该月的第几天。
  7. dayofyear(col("local_date")): 这个函数会提取出"local_date"列中该年的第几天。
  8. hour(col("local_date")): 这个函数会提取出"local_date"列中的小时数。
  9. minute(col("local_date")): 这个函数会提取出"local_date"列中的分钟数。
  10. second(col("local_date")): 这个函数会提取出"local_date"列中的秒数。

sparksql时间格式化,Spark SQL,spark,sql,大数据

sparksql时间格式化,Spark SQL,spark,sql,大数据

 3.时间格式之间的转换--from_unixtime 和 unix_timestamp

 函数:

list2.withColumn("new_date",from_unixtime(unix_timestamp("[要转换的列名]","[要转换的列的格式]"),"[要转换为的格式]").as("date") ).show()

1.from_unixtime 函数通常用于将Unix时间戳转换为日期和时间格式。它接受一个Unix时间戳作为输入,并返回一个表示特定日期和时间的字符串。


2.unix_timestamp函数通常用于将日期和时间转换为Unix时间戳。它接受一个日期和时间作为输入,并返回一个表示该日期和时间的Unix时间戳。

理解是先用unix_timestamp将指点格式转换为时间戳,再用from_unixtime将时间戳转换为你想要的时间格式!所以这两个一般是配合使用的

实例:

    //加入题目要求将 yyyyMMdd 格式数据转换成 yyyy-MM-dd HH:mm:dd
    val list2 = List("20231125").toDF("date")  //初始化列
      list2.withColumn("new_date",from_unixtime(unix_timestamp(col("date"),"yyyyMMdd"),"yyyy-MM-dd HH:mm:ss").as("date") )
        .show()

 sparksql时间格式化,Spark SQL,spark,sql,大数据

 文章来源地址https://www.toymoban.com/news/detail-769767.html

到了这里,关于Spark SQL 时间格式处理的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【js】时间和时间戳转换、日期格式化

    1、时间戳转换日期方法 (格式:2023-08-17) 2、日期字符串转时间戳 3、时间戳转换日期+时间方法 date:时间戳数字(格式:2023-08-17 14:11:01) 4、 获取日期中文格式

    2024年02月12日
    浏览(51)
  • Python time时间格式化

    Python提供了多个内置模块用于操作日期时间,像calendar,time,datetime。time模块我在之前的文章已经有所介绍,它提供 的接口与C标准库time.h基本一致。相比于time模块,datetime模块的接口则更直观、更容易调用。今天就来讲讲datetime模块。 datetime模块定义了两个常量:datetime.MI

    2024年02月12日
    浏览(39)
  • unity获取和格式化时间

    在Unity中,可以使用DateTime结构来获取和格式化时间。例如获取2023 年 5 月 16 日 13:43:15 000 格式,精确到毫秒。 在上述示例中,DateTime.Now获取当前的日期和时间。然后,使用ToString方法将其格式化为指定的格式。格式字符串\\\"yyyy 年 M 月 d 日 HH:mm:ss.fff\\\"将日期和时间以所需的格式

    2024年02月14日
    浏览(41)
  • 在线时间戳格式化转换工具

    在线时间戳格式化转换工具 本工具支持在时间和时间戳之间相互转换,默认时间参考的是服务器时间 Unix时间戳(Unix timestamp),或称Unix时间(Unix time)、POSIX时间(POSIXtime),是一种时间表示方式,定义为从格林威治时间1970年01月01日00时00分00秒(北京时间1970年01月01日08时00分00秒)起

    2024年02月15日
    浏览(45)
  • java实现当前系统时间格式化

    运行结果:

    2024年02月13日
    浏览(41)
  • c# 时间获取以及格式化方式

    在C#中,你可以使用DateTime结构来获取并格式化时间。以下是一些示例和技巧: 获取当前日期和时间: 获取特定日期和时间: 格式化日期和时间为字符串: 使用自定义格式化字符串获取特定的日期和时间部分: 使用预定义格式字符串获取常见的日期和时间格式: 还可以使用

    2024年02月13日
    浏览(38)
  • day.js库格式化当前时间

    Day.js 是一个轻量的处理时间和日期的 JavaScript 库:Day.js中文网 (fenxianglu.cn) 只要导入了 dayjs的库文件,在window全局就可以使用dayjs()的方法了 先new出来一个 date()的对象,再进行打印 得到一个不适合阅读的字符串 这个时候可以使用 Day.js对Date()进行处理 我们通常需要对时间进行

    2024年02月06日
    浏览(50)
  • js时间格式化和转换的方法

    近期在练习或写项目时经常会遇到时间格式的转换问题,今天我就来总结一下。 1、将日期转换为指定格式( yyyy-MM-dd hh:mm:ss 等格式) 封装方法format 也可以为Date原型直接添加format方法 2.将时间戳转换为年月日的格式 或者获取到date之后结合format使用 3.将时间转换为时间戳 注

    2024年02月11日
    浏览(38)
  • Java格式化日期,时间(三种方法)

    在java中String类格式化的方法,是静态format()用于创建格式化的字符串。 format(String format, Object... args) 新字符串使用本地语言环境,制定字符串格式和参数生成格式化的新字符串。 format(Locale locale, String format, Object... args) 使用指定的语言环境,制定字符串格式和参数生成格式化

    2024年02月13日
    浏览(52)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包