Sparkで20180918を2018-09-18に変換しますか?

リシャブ・オジャ

与えられたデータフレーム:

+-----------------+---------+-----------------+
|   user_id|       id|     date|discount|year|
+-----------------+---------+-----------------+
|  44143827|118775509| 20180103|     0.0|2018|                  
|  16445775|118841685| 20180105|     0.0|2018|                  
|  25230573|119388676| 20180111|     0.0|2018|                  
|  44634333|119537508| 20180112|     0.0|2018| 

この日付をyyyyMMddからyyyy-MM-ddに変換したいと思います。私は単一の値に対してこれを実行することができますが、

scala> val x = "20180918"
x: String = 20180918

scala> x.patch(4,"-",0)
res76: String = 2018-0918

scala> x.patch(4,"-",0).patch(7,"-",0)
res77: String = 2018-09-18

しかし、完全なデータセットを把握することはできませんでした。誰か助けてください。

stack0114106

date_format()およびto_timestamp()関数を使用します。これをチェックしてください:

scala> val df = Seq((20180103),(20180105)).toDF("dt")
df: org.apache.spark.sql.DataFrame = [dt: int]

scala> df.withColumn("dt",'dt.cast("string")).withColumn("dt",date_format(to_timestamp('dt,"yyyyMMdd"),"yyyy-MM-dd")).show(false)
+----------+
|dt        |
+----------+
|2018-01-03|
|2018-01-05|
+----------+

scala>

date_formatは文字列を返すことに注意してください。日付データ型で必要な場合は、

scala> val df2 = df.withColumn("dt",'dt.cast("string")).withColumn("dt",date_format(to_timestamp('dt,"yyyyMMdd"),"yyyy-MM-dd"))
df2: org.apache.spark.sql.DataFrame = [dt: string]

scala> df2.printSchema
root
 |-- dt: string (nullable = true)


scala> val df3 = df2.withColumn("dt",'dt.cast("date"))
df3: org.apache.spark.sql.DataFrame = [dt: date]

scala> df3.printSchema
root
 |-- dt: date (nullable = true)


scala> df3.show(false)
+----------+
|dt        |
+----------+
|2018-01-03|
|2018-01-05|
+----------+


scala>

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

T-SQLで「01-Sep-2017」を「01/09/2017」に変換しますか?

分類Dev

日付形式を変換する方法:2020-09-28T11:47:37.217を11:47に変換しますか?

分類Dev

datetime.datetime形式の列見出しを2016-09-0100:00:00からdatetime.datetime形式に「2016-09-01」に変換しようとしています

分類Dev

Pythonでyyyy-mm-dd(2018-08-09)をAug09に変換するにはどうすればよいですか?

分類Dev

varchar値「29/09/2016」をデータ型intに変換するときに変換に失敗しました

分類Dev

この日付の形式が見つかりませんでした: "2018-09-09T09:04:47 + 00:00"

分類Dev

PHP-9を09に変換(9月)

分類Dev

数値タイプ2000.50をpowerbiの2000/09/30データ形式に変換します

分類Dev

2014-06-19T01:11:09-07:00をDD-MM-YYYYに変換します

分類Dev

PHPで日付(09-09-2013)を(2013-09-09)に再配置するにはどうすればよいですか?

分類Dev

PDT時間形式をこの形式に変換する方法 `2016-09-13 08:56:55 + 0000`-PHPを使用しますか?

分類Dev

SSMSで、DATEADD関数を使用して「2018-09-0100:00:00.000」から「2018-09-01023:59:00.000」までのすべての値を取得するにはどうすればよいですか。

分類Dev

phpを使用して時間を「08:60:02」から「09:00:02」に変換するにはどうすればよいですか?

分類Dev

JavaScriptで10:09:00GMT + 0000をISTに変換する方法は?

分類Dev

HIVEで日付2017-sep-12を2017-09-12に変換する方法

分類Dev

日付はどこですか01/09 /?

分類Dev

値「09:00」をタイプxamarin.formsに変換中にエラーが発生しました

分類Dev

「12#abcd#09bla」を「abcd」に変換する関数を書く

分類Dev

日時( "2020-09-27 07:14:01.114051200")を週番号に変換する方法は?

分類Dev

Python strptimeとstrftimeを使用して、2017-02-09T09:43:04.216 + 1000のような日時形式を2017年2月9日に変換するにはどうすればよいですか?

分類Dev

SQL Serverのvarcharに「19-09-2020」として日付を保存していて、「2020-09-19」に変換したい

分類Dev

このエラーを修正するにはどうすればよいですか:「ValueError:文字列をfloatに変換できませんでした: '-1,89E-09'」?

分類Dev

2020-09-01T00:00:00-05:00タイムスタンプをdd-mm-yyyyに変換します

分類Dev

Goでxxxxxxxe + 09の形式の浮動小数点をintに変換するにはどうすればよいですか?

分類Dev

Swift 3で「2017-01-09T11:00:00.000Z」を日付に変換するにはどうすればよいですか?

分類Dev

Python3で `2020-04-06T09:04:52.610 + 02:00`を` datetime.datetime`に変換するにはどうすればよいですか?

分類Dev

データスタジオで「2020-09-23T15:08:03.259Z」を時間形式に変換するにはどうすればよいですか?

分類Dev

「2019-11-30T07:00:00 + 09:00」の日付を整数に変換するにはどうすればよいですか?

分類Dev

「0days00:09:06.633000000」オブジェクトを分/時間/秒に変換するにはどうすればよいですか?

Related 関連記事

  1. 1

    T-SQLで「01-Sep-2017」を「01/09/2017」に変換しますか?

  2. 2

    日付形式を変換する方法:2020-09-28T11:47:37.217を11:47に変換しますか?

  3. 3

    datetime.datetime形式の列見出しを2016-09-0100:00:00からdatetime.datetime形式に「2016-09-01」に変換しようとしています

  4. 4

    Pythonでyyyy-mm-dd(2018-08-09)をAug09に変換するにはどうすればよいですか?

  5. 5

    varchar値「29/09/2016」をデータ型intに変換するときに変換に失敗しました

  6. 6

    この日付の形式が見つかりませんでした: "2018-09-09T09:04:47 + 00:00"

  7. 7

    PHP-9を09に変換(9月)

  8. 8

    数値タイプ2000.50をpowerbiの2000/09/30データ形式に変換します

  9. 9

    2014-06-19T01:11:09-07:00をDD-MM-YYYYに変換します

  10. 10

    PHPで日付(09-09-2013)を(2013-09-09)に再配置するにはどうすればよいですか?

  11. 11

    PDT時間形式をこの形式に変換する方法 `2016-09-13 08:56:55 + 0000`-PHPを使用しますか?

  12. 12

    SSMSで、DATEADD関数を使用して「2018-09-0100:00:00.000」から「2018-09-01023:59:00.000」までのすべての値を取得するにはどうすればよいですか。

  13. 13

    phpを使用して時間を「08:60:02」から「09:00:02」に変換するにはどうすればよいですか?

  14. 14

    JavaScriptで10:09:00GMT + 0000をISTに変換する方法は?

  15. 15

    HIVEで日付2017-sep-12を2017-09-12に変換する方法

  16. 16

    日付はどこですか01/09 /?

  17. 17

    値「09:00」をタイプxamarin.formsに変換中にエラーが発生しました

  18. 18

    「12#abcd#09bla」を「abcd」に変換する関数を書く

  19. 19

    日時( "2020-09-27 07:14:01.114051200")を週番号に変換する方法は?

  20. 20

    Python strptimeとstrftimeを使用して、2017-02-09T09:43:04.216 + 1000のような日時形式を2017年2月9日に変換するにはどうすればよいですか?

  21. 21

    SQL Serverのvarcharに「19-09-2020」として日付を保存していて、「2020-09-19」に変換したい

  22. 22

    このエラーを修正するにはどうすればよいですか:「ValueError:文字列をfloatに変換できませんでした: '-1,89E-09'」?

  23. 23

    2020-09-01T00:00:00-05:00タイムスタンプをdd-mm-yyyyに変換します

  24. 24

    Goでxxxxxxxe + 09の形式の浮動小数点をintに変換するにはどうすればよいですか?

  25. 25

    Swift 3で「2017-01-09T11:00:00.000Z」を日付に変換するにはどうすればよいですか?

  26. 26

    Python3で `2020-04-06T09:04:52.610 + 02:00`を` datetime.datetime`に変換するにはどうすればよいですか?

  27. 27

    データスタジオで「2020-09-23T15:08:03.259Z」を時間形式に変換するにはどうすればよいですか?

  28. 28

    「2019-11-30T07:00:00 + 09:00」の日付を整数に変換するにはどうすればよいですか?

  29. 29

    「0days00:09:06.633000000」オブジェクトを分/時間/秒に変換するにはどうすればよいですか?

ホットタグ

アーカイブ