这取决于您需要如何呈现数据分析的最后阶段,以及数据分析的目的是什么。正如 NickW 所说,假设您需要将数据集成到 BI 工具中,则应根据工具的数据格式要求调整架构。
mongodb ETL/ELT process 可能如下所示:
选择连接:选择设置的连接
集合名称:使用 [database].[collection] 格式选择集合。
如果从身份验证数据库中提取数据,则只能确定 [collection] 名称。示例:ea sample.products 东。
提取方法:
全部:拉取表格中的全部数据。
增量:按增量值拉取数据。
增量属性: 设置要运行的增量属性的名称。即:更新时间。
增量类型: 时间戳 |时代。选择增量属性的类型。
选择范围:
在时间戳中,选择要运行的日期增量范围。
在 Epoch 中,选择要运行的值增量范围。
如果没有输入结束日期/值,则默认为表中的最后一个日期/值。
增量将自动管理
包括结束值:增量过程是否应该取结束值
Interval Chunks: 数据将被拉到哪些块上。按分钟、小时、天、月或年拆分数据。
过滤器:过滤要拉取的数据。过滤器格式将是 MongoDB 扩展 JSON。
限制:限制要拉取的行数。
自动映射:您可以选择要引入的列集、添加新列或保持原样。
将整个关键数据转换为字符串
如果数据不符合目标的预期,例如以数字开头的键名,或者灵活且不一致的对象数据,您可以通过将映射部分中的数据类型设置为 STRING 来将属性转换为 STRING 格式
该键下的任何值都存在转换。
数组和对象将被转换为 JSON 字符串。
用例:
以下是几个过滤示例:
{"account":{"$oid":"1234567890abcde"}, "datasource": "google", "is_deleted": {"$ne": true}}
date(MODIFY_DATE_START_COLUMN) >=date("2020-08-01")