【发布时间】:2021-06-20 06:31:11
【问题描述】:
(
ResponseRgBasketId STRING,
RawStandardisedLoadDateTime TIMESTAMP,
InfoMartLoadDateTime TIMESTAMP,
Operaame STRING,
RequestTimestamp TIMESTAMP,
RequestSiteId STRING,
RequestSalePointId STRING,
RequestdTypeId STRING,
RequeetValue DECIMAL(10,2),
ResponsegTimestamp TIMESTAMP,
RequessageId STRING,
RequestBasketId STRING,
ResponsesageId STRING,
RequestTransmitAttempt INT,
ResponseCode STRING,
RequestasketItems INT,
ResponseFinancialTimestamp TIMESTAMP,
RequeketJsonString STRING,
LoyaltyId STRING
)
USING DELTA
PARTITIONED BY (RequestTimestamp)
TBLPROPERTIES
(
delta.deletedFileRetentionDuration = "interval 1 seconds",
delta.autoOptimize.optimizeWrite = true
)
已被RequestTimestamp(2020-12-12T07:39:35.000+0000 分区
),但它的格式如下。我可以将格式更改为不同的格式,例如分区中的2020-12-34吗?
【问题讨论】:
-
可能不可能。或者,如果您将
substring(RequestTimestamp,1,10)传递到表的最后一列,我认为应该没问题并使用2020-12-34创建分区。 -
@leftjoin 该分区如何是动态的并基于公式?你有什么想法吗?
-
@KoushikRoy 当然。唯一的方法是使用 substring(RequestTimestamp,1,10) 重新创建表并重新加载。顺便说一句,什么是奇怪的日期 2020-12-34?我想这是非常重要的信息。确实是 2020 年 12 月 34 日,但我睡过了,因为 2020 年 12 月 31 日庆祝新年太多了
-
哈哈,嘿,它的
2020,任何事情都有可能发生。笑话不谈,我理解你重新加载的观点。我在想这是否是直接从某些事务源/传感器加载的表。如果我们可以使用一些公式即时创建分区名称。 -
用例子回答。
标签: apache-spark hive hiveql