1. 概述

FTP(File Transfer Protocol)是一种文件传输协议,由两个部分组成:

  • FTP 服务器:用来存储文件,可以使用 FTP 客户端通过 FTP 协议访问位于 FTP 服务器上的资源。
  • FTP 客户端:可以使用 FTP 客户端通过  FTP  协议访问位于 FTP 服务器上的资源。

配置 FTP 数据源后,您可以通过 数据融合 > 任务管理 功能将其数据导入至神策数据表或实体中,便于后续在报表、分析模型、智能运营等模块使用。

在配置数据源之前,请参考以下内容确认您的 FTP 数据源是否符合要求:

数据源类型数据源名称版本/协议要求用户权限要求其他要求
对象存储FTPFTP/SFTP至少包含文件夹路径的读取权限数据文件仅支持 txt、csv 格式

2. 添加 FTP 数据源

  1. 选择 数据融合 > 通用数据接入 > 数据源管理。
  2. 点击 全部数据源 Tab 页。
  3. 点击 FTP 数据源。
  4. 点击右上角的 创建 按钮。
  5. 填写FTP 连接信息。
    1. 数据源连接名称:由您自定义填写,是该数据源连接在平台内的唯一标识。
    2. 协议类型:支持 FTP 和 SFTP。
    3. 服务器:数据源连接的 IP 地址,集群场景下,支持输入多个。
    4. 端口号:数据源连接的端口号。
    5. 基础路径该路径是根目录的绝对路径,例如:/home/sa_cluster。
    6. 文件类型:读取 数据文件 的类型范围,当前支持 txt、csv,后续同步数据时,仅读取指定类型的数据文件。
    7. 用户名:数据源连接的有效用户名。
    8. 密码:对应用户名的有效密码。
  6. 点击 测试连接 按钮。
  7. 点击 提交 按钮。

2.1. FTP 数据集配置方法

通过 FTP 数据源接入数据,必须先按以下方法对路径、文件夹、文件进行配置。

2.1.1. 路径规则定义

导入数据集时,需按该路径规则进行配置,如:/home/dataGroupFile/dataFile

  • /home:基础路径
  • dataGroupFile:数据集分组文件夹
  • dataFile:数据集文件夹

2.1.2. 单个数据集需包含的内容

序号内容名称和必要性作用约束示例文件
01数据集分组文件夹
必要
类比结构化数据库 DB,起到对数据集分组的作用无具体名称约束,可以自定义-
02数据集文件夹
必要

一个文件夹代表一个数据集;
该文件夹包含三类文件:元数据文件、数据文件、就绪文件

文件夹命名规则:仅支持字母、数字、下划线的组合,且需要以字母开头;最多 100 个字符

-
03元数据文件
必要
描述当前数据集的数据结构,一个数据集文件夹下只能存放一个元数据文件

文件格式:yml 格式
文件命名规则:与数据集文件夹名称一致
字段命名规则:仅支持字母、数字、下划线的组合,且需要以字母开头;最多 100 个字符
字段类型:可设置的字段类型请参见第四章

04数据文件
非必要

存储当前数据集 数据 的文件;

一个数据集文件夹下支持存放多个数据文件。
注:数据文件需要严格遵从命名规则,否则将无法被系统读取

文件格式:txt 或 csv 格式
分隔符:逗号分隔符
字符编码:UTF-8
文件命名规则:{fileName}_{dataTime}

  • fileName:与数据集文件夹名称一致
  • dataTime:必须写在文件名最后一个下划线的后方,代表当前数据的业务时间。

    格式为{yyyymmddHH} 其中{HH} 为 24 小时制,即:00-23

接入 FTP 数据后,仅支持全量覆盖、全量追加、增量追加三种更新方式。
增量追加时将默认使用 {dataTime} 作为增量标识字段递增读取。

05

就绪文件
含数据文件时:必要

代表某个数据文件已生成就绪;文件内容无具体要求
注:一个数据文件对应一个就绪文件,缺少就绪文件的数据将无法被读取

文件格式:verf 格式
文件命名规则:与某个数据文件名称一致

3. 管理 FTP 数据源

  1. 选择 数据融合 > 通用数据接入 > 数据源管理。
  2. 点击 已添加数据源 Tab 页。
  3. 点击 FTP 数据源。
    1. 编辑:支持修改数据连接的所有配置参数。
    2. 删除:删除当前连接。

如果当前数据连接已被任务使用,修改参数或删除连接会导致任务失败。

4. 字段类型的映射规则

从 FTP 数据源将数据导入到神策数据表,字段类型映射错误可能导致内容转换错误或任务执行失败,按以下规则配置字段映射,数据转换是安全的:

原始字段类型数据表字段类型
tinyintNUMBER / INT / BIGINT
smallintNUMBER / INT / BIGINT
mediumintNUMBER / INT / BIGINT
intNUMBER / INT / BIGINT
bigintNUMBER / BIGINT
floatNUMBER
doubleNUMBER
decimalNUMBER
charSTRING
enumSTRING
longtextSTRING
mediumtextSTRING
stringSTRING
textSTRING
tinytextSTRING
varcharSTRING
yearSTRING
dateTIMESTAMP
datetimeTIMESTAMP
timestampTIMESTAMP