当前位置: 首页 > 知识库问答 >
问题:

使用spark-sql查询时,时间戳字段丢失精度[重复]

督德泽
2023-03-14
col_name  data_type  comment
id          bigint    null
name        string    null
joined_time timestamp null
select * from employees;

1   foo 2016-07-04 02:12:10.0
2   bar 2016-07-04 02:12:10.0

在使用spark-sql时,精度会下降,高达几分钟。例如:

val result = sqlContext.sql("select * from employees")
result.show()

1  foo 2016-07-04 02:12:...
2  bar 2016-07-04 02:12:...

共有1个答案

归俊
2023-03-14

它没有失去精度。它刚刚截断了显示器。

从Spark1.6开始,您可以使用result.show(false)来显示它

http://spark.apache.org/docs/latest/api/scala/#org.apache.spark.sql.dataset

val df = Seq((1,2),(2,4)).toDF("x","y")
df.show(false)
// +---+---+
// |x  |y  |
// +---+---+
// |1  |2  |
// |2  |4  |
// +---+---+
sqlContext.sql("select current_timestamp()").show
// +--------------------+
// |                 _c0|
// +--------------------+
// |2017-02-10 14:40:...|
// +--------------------+

sqlContext.sql("select current_timestamp()").show(false)
// +-----------------------+
// |_c0                    |
// +-----------------------+
// |2017-02-10 14:40:14.038|
// +-----------------------+
 类似资料:
  • 问题内容: 我有带有Timestmap类型的版本控制字段的表。现在,我试图通过该字段进行搜索查询,但是当我以另一种方式传递参数时: 它将它作为DateTime传递给sql查询。还尝试了NHibernateUtil.Binary,但是nhibernate将其作为varbinary传递。 问题答案: NHibernate TimestampType指定: 该类型与DateTime几乎完全相同,但可以在

  • 我对firestore(和编程)比较陌生,无法在网上找到解决问题的方法。 如果还有什么可能有帮助的,请告诉我。谢谢! 编辑以显示下一次尝试:

  • 我尝试使用外部Web服务对pdf进行数字签名。此Web服务包含用户证书,用户可以使用他们的凭据和一次性密码生成的代码访问该证书。 旁注:web服务应该期望pdf摘要(哈希),但奇怪的是,它却接受整个文件。 无论如何,实现如下: pdf已成功签名,但使用Adobe Reader并检查签名字段时,似乎缺少可信时间戳,如图所示: 看起来,来自远程服务的响应是一个签名对象,我只需要将其嵌入到PDF文件中。

  • 我想查询cassandra timestamp列,例如this hour、last hour、beather。 我在mysql中执行了与昨天数据相同的查询

  • 使用Cassandra 2.28,Drive 3,Sparks2。我在Cassandra中有一个timestamp列,我只需要按日期部分查询它。如果我按日期查询:<代码>。其中(“交易日期=?”,“2012-01-21”:它不会带来任何结果。如果我包括时间部分,它会显示无效日期。我的数据(如我在cqlsh中所读)是:2012-01-21 08:01:00 0000 参数:“2012-01-21”

  • 从mytable中选择*,其中id='5'和postingdate>='2018-11-06 00:00:00'和postingdate<='2018-11-06 23:59:59'; 在开发中心控制台(或CQLSH)上运行这个查询,会给我相同的结果,而不考虑时区。我在PST和IST中都尝试过,得到了同样的结果。在执行查询之前,Cassandra是在执行PST->UTC还是IST->UTC转换?如