fate_flow_data_access.zh.md 3.1 KB

数据接入

1. 说明

  • fate的存储表是由table name和namespace标识。

  • fate提供upload组件供用户上传数据至fate计算引擎所支持的存储系统内;

  • 若用户的数据已经存在于fate所支持的存储系统,可通过table bind方式将存储信息映射到fate存储表;

  • 若table bind的表存储类型与当前默认引擎不一致,reader组件会自动转化存储类型;

2. 数据上传

{{snippet('cli/data.zh.md', '### upload')}}

3. 表绑定

{{snippet('cli/table.zh.md', '### bind')}}

4. 表信息查询

{{snippet('cli/table.zh.md', '### info')}}

5. 删除表数据

{{snippet('cli/table.zh.md', '### delete')}}

6. 数据下载

{{snippet('cli/data.zh.md', '### download')}}

7. 将数据设置为“不可用”状态

{{snippet('cli/table.zh.md', '### disable')}}

8. 将数据设置为“可用”状态

{{snippet('cli/table.zh.md', '### enable')}}

9. 删除“不可用”数据

{{snippet('cli/table.zh.md', '### disable-delete')}}

10. writer组件

{{snippet('cli/data.zh.md', '### writer')}}

11. reader组件

简要描述:

  • reader组件为fate的数据输入组件;
  • reader组件可将输入数据转化为指定存储类型数据;

参数配置:

submit job时的conf中配置reader的输入表:

{
  "role": {
    "guest": {
      "0": {
        "reader_0": {
          "table": {
            "name": "breast_hetero_guest",
            "namespace": "experiment"
          }
        }
      }
    }
  }
}

组件输出

组件的输出数据存储引擎是由配置决定,配置文件conf/service_conf.yaml,配置项为:

default_engines:
  storage: eggroll
  • 计算引擎和存储引擎之间具有一定的支持依赖关系,依赖列表如下:

| computing_engine | storage_engine | | :--------------- | :---------------------------- | | standalone | standalone | | eggroll | eggroll | | spark | hdfs(分布式), localfs(单机版) |

  • reader组件输入数据的存储类型支持: eggroll、hdfs、localfs、mysql、path等;
  • reader组件的输出数据类型由default_engines.storage配置决定(path除外)

12. api-reader组件

简要描述:

  • api-reader组件的数据输入为id,数据输出为特征;
  • 请求参数可以由用户自定义,如:版本号、回溯月份等;
  • 组件会请求第三方服务,第三方服务需要实现upload、query、download接口并向fate flow注册,可参考api-reader相关服务注册

参数配置:

submit job时的conf中配置api-reader参数:

{
  "role": {
    "guest": {
      "0": {"api_reader_0": {
        "server_name": "xxx",
        "parameters": {"version": "xxx"},
        "id_delimiter": ",",
        "head": true
        }
      }
    }
  }
}

参数含义:

  • server_name: 需要请求的服务名
  • parameters: 需要请求的特征参数
  • id_delimiter:返回的数据分隔符
  • head: 返回的数据是否含有数据头