Heim > Backend-Entwicklung > Python-Tutorial > Wie konvertiert man eine Pyspark-String-Spalte effizient in eine Datumsspalte?

Wie konvertiert man eine Pyspark-String-Spalte effizient in eine Datumsspalte?

DDD
Freigeben: 2024-11-30 11:55:11
Original
768 Leute haben es durchsucht

How to Efficiently Convert a Pyspark String Column to a Date Column?

Pyspark-String-Spalte in Datumsformat konvertieren

Bei der Arbeit mit Pyspark kann es erforderlich sein, eine String-Spalte, die Datumsangaben darstellt, in eine DateType-Spalte zu konvertieren. Dies tritt häufig auf, wenn die Daten als Zeichenfolgen erfasst werden.

Um dies zu veranschaulichen, betrachten Sie den folgenden DataFrame mit einer Zeichenfolgenspalte namens STRING_COLUMN im Format MM-TT-JJJJ:

df = spark.createDataFrame([
    ("01-01-2023",),
    ("01-02-2023",),
    ("01-03-2023",),
], ["STRING_COLUMN"])
df.show()
Nach dem Login kopieren

Um STRING_COLUMN in eine DateType-Spalte umzuwandeln, besteht eine Methode darin, die Funktion to_date() zu verwenden, wie im Original vorgeschlagen Versuch:

df.select(to_date(df.STRING_COLUMN).alias("new_date")).show()
Nach dem Login kopieren

Dieser Ansatz kann jedoch dazu führen, dass eine Spalte mit Nullen gefüllt wird. Um dieses Problem zu beheben, sollten Sie eine der folgenden Methoden in Betracht ziehen:

1. to_timestamp-Funktion (Spark 2.2):

Ab Spark 2.2 bietet die to_timestamp()-Funktion eine effizientere und einfachere Möglichkeit, Zeichenfolgen in Zeitstempel zu konvertieren. Es unterstützt die Angabe des Eingabeformats mithilfe des Formatarguments:

df.select(to_timestamp(df.STRING_COLUMN, "MM-dd-yyyy").alias("new_date")).show()
Nach dem Login kopieren

2. unix_timestamp- und from_unixtime-Funktionen (Spark < 2.2):

Für Spark-Versionen vor 2.2 kann eine Kombination aus unix_timestamp- und from_unixtime-Funktionen verwendet werden:

from pyspark.sql.functions import unix_timestamp, from_unixtime

df.select(
    from_unixtime(unix_timestamp(df.STRING_COLUMN, "MM-dd-yyyy")).alias("new_date")
).show()
Nach dem Login kopieren

In beiden Fällen , kann die Methode show() verwendet werden, um die konvertierte DateType-Spalte anzuzeigen.

Das obige ist der detaillierte Inhalt vonWie konvertiert man eine Pyspark-String-Spalte effizient in eine Datumsspalte?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage