Как преобразовать столбец меток времени Spark Dataframe в строковый столбец - PullRequest
0 голосов
/ 08 ноября 2019

Я хочу преобразовать Spark dataframe всех столбцов TIMESTAMP в столбцы String. Кто-нибудь может сказать, как сделать это автоматически для каждого фрейма данных?

Положение столбца метки времени может измениться, а также имя столбца может быть разным для каждого фрейма данных.

Например, в одном из фреймов данных этоможет быть DataFrame1 columnA, но в Dataframe2 это может быть columnX.

Поэтому мне нужно каким-то образом использовать информацию о типе столбца в любой таблице и преобразовать ее в строковый столбец.

У вас есть какие-либоидеи?

Ответы [ 2 ]

0 голосов
/ 08 ноября 2019

Посмотрите на библиотеку функций. date_format выглядит так, как вы хотите.

Преобразует метку времени в строку в указанном формате.

Я использую ее следующим образом:

    Dataset<Target> newData = spark.createDataset(targets, Encoders.bean(Target.class));

        newData.printSchema();

        newData.withColumn("date-time", functions.date_format(new Column("timestamp"), "yyyy-MM-dd_HH")).write()
                .mode(SaveMode.Append).option("basePath", basePath).partitionBy("date-time")

метка времени - это поле в Target типа java.sql.Timestamp

0 голосов
/ 08 ноября 2019

Вы можете написать метод для преобразования временной метки в строку и использовать ее там, где это когда-либо потребуется.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...