MAPREDUCE服务 MRS-建表语句分区列为timestamp时,使用非标准格式的时间指定分区查询表统计失败:回答

时间:2024-08-01 19:24:44

回答

spark.sql.hive.convertInsertingPartitionedTable开关控制了Hive和Datasource表的插入写操作逻辑,使用Hive表时逻辑不会自动格式化时间戳,使用Datasource表时会自动格式化时间戳。

如果写入的分区字段是a='2016-8-1 11:45:5'会自动格式化成a='2016-08-01 11:45:05',此时查询使用a='2016-8-1 11:45:5'会报错。

正确查询方式如下:

spark.sql.hive.convertInsertingPartitionedTable=true时使用datasource表逻辑,使用如下方式即可以正常查询:

desc formatted test_hive_orc_snappy_internal_table partition(a='2016-08-01 11:45:05');

support.huaweicloud.com/cmpntguide-lts-mrs/mrs_01_249238.html