【发布时间】:2017-06-28 20:57:02
【问题描述】:
当使用 Spark SQL 从 Hive Metastore 查询同一个表时,时间戳字段会丢失精度。
我的表格描述是这样的:
col_name data_type comment
id bigint null
name string null
joined_time timestamp null
使用 Hive QL,我得到了以毫秒为单位的 joined_time 值。
Hive QL 结果:
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:...
【问题讨论】:
-
它并没有失去精度。我刚刚截断了显示。你可以用 result.show(false) 显示它
-
@eliasah 没有带有布尔参数的 show 方法
-
它说错误:type mismatch required int
-
你是哪个版本的spark?我每天都用它:)
-
我在 cloudera-quick-start-vm-5.4.2 中使用 spark 1.3.0
标签: scala apache-spark hive apache-spark-sql