2016-10-14 8 views
2

Фон - это просто программа pyspark, разработанная мной на 1.6 с использованием databricks csv read/writer, и все было счастливо. У моей DataFrame была отметка времени, которая была выписана в стандартном формате YYYY-MM-DD HH24:MI:SS.Укажите формат метки времени, написанный pyspark

foo,bar,2016-10-14 14:30:31.985 

Теперь я бег это на ОМ с искрой 2, а столбец временной метки записывается как эпохи в микросекундах. Это вызывает проблему, потому что цель (Redshift) не может справиться с этим (только секунды или миллисекунды).

foo,bar,1476455559456000 

Глядя на the docs, мне кажется, я должен быть в состоянии определить формат, используемый с timestampFormat, но я получаю сообщение об ошибке:

TypeError: csv() got an unexpected keyword argument 'timestampFormat' 

Am звоню это неправильно, или же вариант не существовать? Любой другой способ чисто получить мои данные метки времени в формате, что это не микросекунд (милли будет хорошо, или любой другой стандартный формат времени действительно)


Простой код для воспроизведения:

df = sqlContext.createDataFrame([('foo','bar')]).withColumn('foo',pyspark.sql.functions.current_timestamp()) 
df.printSchema() 
df.show() 

# Use the new Spark 2 native method 
df.write.csv(path='/tmp/foo',mode='overwrite') 

# Use the databricks CSV method, pre Spark 2 
df.write.save(path='/tmp/foo2',format='com.databricks.spark.csv',mode='overwrite') 

ответ

0

Оказывается, документы, на которые я смотрел, были для 2.0.1, тогда как я работал на 2.0.0 - и timestampFormat является новым в 2.0.1.

+0

Я столкнулся с той же проблемой. Вы выяснили, как писать временную метку в стандартном формате, отличном от формата эпохи, спасибо. – msounthar

+0

@msounthar Я закончил тем, что избегал этой проблемы, просто рассматривая ее как строку на протяжении всей работы, так как мне не нужно было манипулировать ею в процессе обработки. –

+0

Lucky you !, по-видимому, его искра 2.0.0 и его исправление в 2.0.1, но EMR поддерживает 2.0.0. https://github.com/apache/spark/pull/14279 – msounthar

Смежные вопросы