这一节来介绍File Ingestion,中文叫数据摄取。
从上图中可以知道,实现数据导入有两种方式,File Ingestion就是其中之一,可以理解File Ingestion是主要是通过API实现数据的导入,注意这里是主要,因为File Ingestion也支持UI操作的。
File Ingestion还可以进一步分为流式摄取和批量摄取,两者之间的区别在于,流式摄取的实时性比较强的数据,你可以理解为是实时数据,批量摄取是非实时数据,已经存在某个文件类型里的数据。
流式摄取
流式摄取是数据从客户端和服务器端设备实时发送到CDP,重点在于实时,为此,CDP提供了一个Apache Kafka Connect连接器,它需要布署到数据传出的位置,可以将JSON事件从数据中心的Kafka主题直接实时流化到CDP。
但还是有一定延迟的,流式导入的延迟如下:
- Real-time Customer Profile 实时客户资料的延迟是1分钟以内
- Data Lake数据湖的延迟是60分钟以内
批量摄取
批量摄取就是上传的各种类型的数据文件,然后批量倒入或插入到CDP中。
批量摄取有如下限制:
- 建议的批处理大小介于256 MB和100 GB之间。
- 每个批应最多包含1500个文件。
批量摄取分为两种方式,普通批量处理和批量处理API。
部分批量处理
部分批量处理只指可以导入包含错误的数据,就是对导入数据的错误是有一定容忍度,阈值的,超过阈值,才处理失败,部分批量处理有两种实现方式:
- 通过UI实现:就是在界面里操作,有两个位置可以实现,一个是WorkFlows,另一个是Dataset,一般主要在WorkFlows操作。
- 通过API实现:其实就是通过批量处理API了。
批量处理API
通过批量处理API的方式,还可以将特定系统的文件倒入到CDP中,如CRM系统中的平面文件Parke。
批处理API存在一些限制:
- 每批文件的最大数量:1500
- 最大批大小:100 GB
- 每行的属性或字段的最大数:10000
- 每位用户每分钟的最大批数:138
批量处理的API流程如下:
- 1、Authenticate:获取认证
- 2、Create Datasets:创建数据集,存储导入的数据,存储数据集之前需要历经处理数据、验证数据,然后在将数据传递到下一步存储数据
- 3、Create Batch:创建批量处理
- 4、Upload File:倒入文件,对字段做验证(流式和批量只支持的验证是有所不同),数据映射
- 5、Batch Complete:批量处理完成
总结
如果需要实时同步导入数据,那么用流式摄取,如果对时间要求不高的,用批量摄取,批量里面,如数据已经在数据湖里面,可以直接设置,如果是在外部的,格式是csv格式,可以用Workflow,其他格式的,那就只能用API。