【问题标题】:SparkR: Turn Off Scientific Notation when write.jsonSparkR:write.json 时关闭科学记数法
【发布时间】:2018-05-17 17:44:13
【问题描述】:

我不得不在项目的某些部分使用 SparkR,我通常使用 scala。我正在使用以下代码写出一个文件

# Let's set the scipen
options(scipen=999)  
# create a spark dataframe and write out
sdf <- SparkR::as.DataFrame(df)   
SparkR::head(sdf) # all looks good
SparkR::write.json(sdf, path=somePath, mode="append") # does not look good

但是,当我去查看我的一个变量的写出输出时,在这种情况下,时间戳是使用科学记数法写出的,例如1.4262E12。当我宁愿长时间使用时,例如1426256000000。由于某种原因,我无法弄清楚为什么 write.json 会以这种方式写入文件。在写出文件之前,我查看了我的 spark 数据框并看到写出很长的时间戳。任何人都可以帮助/建议解决这个问题吗?

这是一个模式示例,必须保持这种方式:

root
 |-- price: integer (nullable = true)
 |-- timestamp: double (nullable = true)

【问题讨论】:

标签: r apache-spark sparkr


【解决方案1】:

感谢@nate,这解决了我的问题,并且它适用于我必须使用的架构:

sdf$timestamp <- SparkR::cast(sdf$timestamp, "long")

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-08-01
    • 2020-12-26
    • 2015-08-29
    • 1970-01-01
    • 1970-01-01
    • 2019-01-24
    • 2021-01-15
    相关资源
    最近更新 更多