Spark Timestamp, та же временная метка, но не соответствует - PullRequest
0 голосов
/ 06 июня 2018

Я перемещаю данные из источника в корзину и мне нужно написать скрипт для проверки данных.Но с типом данных Timestamp я сталкиваюсь со странной проблемой: у меня есть две строки, содержащие две одинаковые метки времени [2017-06-08 17: 50: 02.422437], [2017-06-08 17: 50: 02.422], потому что втораяимеет другой формат из-за различной конфигурации файловой системы, Spark считает их разными.Есть ли способ решить эту проблему?Идеальный способ - игнорировать этот столбец при сравнении фреймов данных.

1 Ответ

0 голосов
/ 06 июня 2018

Вы можете использовать unix_timestamp и использовать это число для сравнения.Для актуальных требований к дате вы можете использовать from_unixtime для конвертации в нужный вам формат.Не уверен, что это эффективный метод для большого объема данных ...

 sqlContext.sql("Select unix_timestamp('2017-06-08 17:50:02.422'), unix_timestamp('2017-06-08 17:50:02.422437') ").show
+----------+----------+
|       _c0|       _c1|
+----------+----------+
|1496958602|1496958602|
+----------+----------+
...