Spark DataFrame TimestampType - how, um Jahr, Monat, Tag, Werte aus Feld?
Habe ich Spark DataFrame mit nehmen(5) die obersten Zeilen wie folgt:
[Row(date=datetime.datetime(1984, 1, 1, 0, 0), hour=1, value=638.55),
Row(date=datetime.datetime(1984, 1, 1, 0, 0), hour=2, value=638.55),
Row(date=datetime.datetime(1984, 1, 1, 0, 0), hour=3, value=638.55),
Row(date=datetime.datetime(1984, 1, 1, 0, 0), hour=4, value=638.55),
Row(date=datetime.datetime(1984, 1, 1, 0, 0), hour=5, value=638.55)]
Er-schema ist definiert als:
elevDF.printSchema()
root
|-- date: timestamp (nullable = true)
|-- hour: long (nullable = true)
|-- value: double (nullable = true)
Wie bekomme ich die Tag, Monat, Jahr-Werte aus der 'date' - Feld?
InformationsquelleAutor curtisp | 2015-06-20
Schreibe einen Kommentar Antworten abbrechen
Du musst angemeldet sein, um einen Kommentar abzugeben.
Seit Spark 1.5 Sie können eine Reihe von datenverarbeitungen Funktionen:
pyspark.sql.Funktionen.Jahr
pyspark.sql.Funktionen.Monat
pyspark.sql.Funktionen.dayofmonth
pyspark.sql.Funktionen.dayofweek()
pyspark.sql.Funktionen.dayofyear
pyspark.sql.Funktionen.weekofyear()
Können Sie einfach
map
wie bei jeder anderen RDD:und das Ergebnis ist:
Btw:
datetime.datetime
speichert eine Stunde eh so halten Sie getrennt, scheint es eine Verschwendung von Speicher.elevDF.map(lambda (date, value): (date.year, value))
Funktionen können Sie bei
pyspark.sql.functions
: Funktionen wieyear
,month
,etc
finden Sie hier: https://spark.apache.org/docs/latest/api/python/pyspark.sql.html#pyspark.sql.DataFrame