【发布时间】:2021-07-17 02:12:28
【问题描述】:
我需要迁移 Aurora MySQL 表,该表有 30 亿行和 7TB 存储。 我是 Snowflake 的新手,所以需要一些关于文件格式的建议。
数据类型很简单,除了两列longtext并在MySQL表中存储xml数据。
这是我的 MySQL 表结构
CREATE TABLE `app_event` (
`ID` varchar(255) NOT NULL,
`DETAILS` longtext,
`OBJECT` varchar(255) NOT NULL,
`DATE_TIME` datetime(6) DEFAULT NULL,
`SUMMARY` varchar(4000) DEFAULT NULL
);
DETAILS 列和SUMMARY 列存储现在的xml 文件。 一个样本行是
6tgbcr45345o82mcrzz,<?xml version="1.0" encoding="UTF-8" standalone="yes"?><CasePayload><caseId>5f5475-21cf-4c7e-8071-574a1ef78981</caseId><providerTypes>WATCHLIST</providerTypes> ,9/16/2020 9:45,<?xml version="1.0" encoding="UTF-8" standalone="yes"?><CaseEventSummary><providerTypes>WATCHLIST</providerTypes>
这只是一个示例数据,在移动时我们需要将 xml 转换为 json 并存储到 Snowflake 表中。
我们正在考虑为此使用 Kinesis,但当 Kinesis 将数据传递到 s3 时,它会转换为 json。
那么问题是加载到 Snowflake 的最佳数据格式是什么? 我们应该转换为 CSV 并即时将 xml 转换为 json 并存储到 CSV 或 json 中好吗? 像这样
{
"ID":"6tgbcr45345o82mcrzz",
"DETAILS":{
"CasePayload":{
"caseId":"5f5475-21cf-4c7e-8071-574a1ef78981",
"providerTypes":"WATCHLIST"
}
},
"OBJECT":"TEST",
"DATE_TIME":"9/16/2020 9:45",
"SUMMARY":{
"screenCaseEventSummary":{
"providerTypes":"WATCHLIST"
}
}
}
在 Select 方面哪个好? 我需要查询 json 的元素,这是将 xml 转换为 json 的主要原因之一,但要保留我们想要存储列的所有列。
【问题讨论】:
标签: snowflake-cloud-data-platform