详情页标题前

阿里云大数据开发治理平台 DataWorksFTP数据源-云淘科技

详情页1

FTP数据源为您提供读取写入FTP双向通道的功能,本文为您介绍DataWorks的FTP数据同步的能力支持情况。

使用限制

FTP Reader实现了从远程FTP文件读取数据并转为数据同步协议的功能,远程FTP文件本身是无结构化数据存储。对于数据同步而言,目前FTP Reader支持的功能如下所示:

支持

不支持

  • 支持且仅支持读取TXT的文件,并要求TXT中的schema为一张二维表。

  • 支持类CSV格式文件,自定义分隔符。

  • 支持多种类型数据读取(使用STRING表示)、支持列裁剪和列常量。

  • 支持递归读取、支持文件名过滤。

  • 支持文本压缩,现有压缩格式为gzip、bzip2、zip、lzo和lzo_deflate。

  • 多个File可以支持并发读取。

  • 单个File支持多线程并发读取,此处涉及到单个File内部切分算法。

  • 单个File在压缩情况下,从技术上无法支持多线程并发读取。

FTP Writer实现了从数据集成协议转为FTP文件功能,FTP文件本身是无结构化数据存储。目前FTP Writer支持的功能如下:

支持

不支持

  • 支持且仅支持写入文本类型(不支持BLOB,如视频数据)的文件,且要求文本中schema为一张二维表。

  • 支持类CSV和TEXT格式的文件,自定义分隔符。

  • 写出时不支持文本压缩。

  • 支持多线程写入,每个线程写入不同子文件。

  • 单个文件不能支持并发写入。

  • FTP本身不提供数据类型,FTP Writer均将数据以STRING类型写入FTP文件。

支持的字段类型

远程FTP文件本身不提供数据类型,该类型是DataX FtpReader定义。

DataX内部类型

远程FTP文件数据类型

LONG

LONG

DOUBLE

DOUBLE

STRING

STRING

BOOLEAN

BOOLEAN

DATE

DATE

数据同步任务开发

FTP数据同步任务的配置入口和通用配置流程指导可参见下文的配置指导,详细的配置参数解释可在配置界面查看对应参数的文案提示。

创建数据源

在进行数据同步任务开发时,您需要在DataWorks上创建一个对应的数据源,操作流程请参见创建与管理数据源。

单表离线同步任务配置指导

  • 操作流程请参见通过向导模式配置离线同步任务、通过脚本模式配置离线同步任务。

  • 脚本模式配置的全量参数和脚本Demo请参见下文的附录:脚本Demo与参数说明。

附录:脚本Demo与参数说明

附录:离线任务脚本配置方式

如果您配置离线任务时使用脚本模式的方式进行配置,您需要在任务脚本中按照脚本的统一格式要求编写脚本中的reader参数和writer参数,脚本模式的统一要求请参见通过脚本模式配置离线同步任务,以下为您介绍脚本模式下的数据源的Reader参数和Writer参数的指导详情。

Reader脚本Demo

{
    "type":"job",
    "version":"2.0",//版本号。
    "steps":[
        {
            "stepType":"ftp",//插件名。
            "parameter":{
                "path":[],//文件路径。
                "nullFormat":"",//null值。
                "compress":"",//压缩格式。
                "datasource":"",//数据源。
                "column":[//字段。
                    {
                        "index":0,//序列号。
                        "type":""//字段类型。
                    }
                ],
                "skipHeader":"",//是否包含表头。
                "fieldDelimiter":",",//列分隔符。
                "encoding":"UTF-8",//编码格式。
                "fileFormat":"csv"//文本类型。
            },
            "name":"Reader",
            "category":"reader"
        },
        {
            "stepType":"stream",
            "parameter":{},
            "name":"Writer",
            "category":"writer"
        }
    ],
    "setting":{
        "errorLimit":{
            "record":"0"//错误记录数。
        },
        "speed":{
        "throttle":true,//当throttle值为false时,mbps参数不生效,表示不限流;当throttle值为true时,表示限流。
            "concurrent":1 //作业并发数。
            "mbps":"12",//限流,此处1mbps = 1MB/s。
        }
    },
    "order":{
        "hops":[
            {
                "from":"Reader",
                "to":"Writer"
            }
        ]
    }
}

Reader脚本参数

参数

描述

是否必选

默认值

datasource

数据源名称,脚本模式支持添加数据源,此配置项填写的内容必须要与添加的数据源名称保持一致。

path

远程FTP文件系统的路径和文件名信息,需要填写包含路径和文件后缀的完整文件路径和文件名。这里可以支持填写多个路径。

  • 当指定单个远程FTP文件,FTP Reader暂时只能使用单线程进行数据抽取。后期会在非压缩文件情况下针对单个File进行多线程并发读取。

  • 当指定多个远程FTP文件,FTP Reader支持使用多线程进行数据抽取。线程并发数通过通道数指定。

  • 当指定通配符,FTP Reader尝试遍历出多个文件信息。例如,指定/代表读取/目录下所有的文件,指定/bazhen/代表读取bazhen目录下游所有的文件。FTP Reader目前仅支持星号(*)作为文件通配符,并支持使用调度参数配合调度,灵活配置文件名与文件路径。

说明

  • 通常不建议您使用星号(*),易导致任务运行报JVM内存溢出的错误。

  • 数据同步会将一个作业下同步的所有Text File视作同一张数据表。您必须自己保证所有的File能够适配同一套Schema信息。

  • 您必须保证读取文件为类CSV格式,并且提供给数据同步系统权限可读。

  • 如果Path指定的路径下没有符合匹配的文件抽取,同步任务将报错。

column

读取字段列表,type指定源数据的类型,index指定当前列来自于文本第几列(以0开始),value指定当前类型为常量,不从源头文件读取数据,而是根据value值自动生成对应的列。

默认情况下,您可以全部按照STRING类型读取数据,配置为"column":["*"]。您可以指定column字段信息,配置如下。

{
    "type": "long",
    "index": 0    //从远程FTP文件文本第一列获取INT字段。
  },
  {
    "type": "string",
    "value": "alibaba"  //从FTP Reader内部生成alibaba的字符串字段作为当前字段。
  }

对于您指定的column信息,type必须填写,index和value必须选择其一。

fieldDelimiter

读取的字段分隔符。

说明

FTP Reader在读取数据时,需要指定字段分割符,如果不指定会默认为(,),界面配置也会默认填写(,)。

,

skipHeader

类CSV格式文件可能存在表头为标题情况,需要跳过。默认不跳过,压缩文件模式下不支持skipHeader。

false

encoding

读取文件的编码配置。

utf-8

nullFormat

文本文件中无法使用标准字符串定义null(空指针),数据同步提供nullFormat定义哪些字符串可以表示为null。 例如:

  • 配置nullFormat:"null",等同于“可见字符”,如果源头数据是null,则数据同步视作null字段。

  • 配置nullFormat:"",等同于“不可见字符”,如果源头数据是字符串””,则数据同步视作null字段。

  • 不写"nullFormat"这个参数,等同于“未配置”,代表来源是什么数据就直接按照什么数据写入目标端,不做任何转换。

markDoneFileName

标档文件名,数据同步前检查标档文件。如果标档文件不存在,等待一段时间重新检查标档文件,如果检查到标档文件开始执行同步任务。

maxRetryTime

表示检查标档文件重试次数,默认重试60次,每一次重试间隔为1分钟,共60分钟。

60

csvReaderConfig

读取CSV类型文件参数配置,Map类型。读取CSV类型文件使用的CsvReader进行读取,会有很多配置,不配置则使用默认值。

fileFormat

读取的文件类型,默认情况下文件作为csv格式文件进行读取,内容被解析为逻辑上的二维表结构处理。如果您配置为binary,则表示按照纯粹二进制格式进行复制传输。

通常在FTP、OSS等存储之间进行目录结构对等复制时使用,通常无需配置该项。

Writer脚本Demo

{
    "type":"job",
    "version":"2.0",//版本号。
    "steps":[
        { 
            "stepType":"stream",
            "parameter":{},
            "name":"Reader",
            "category":"reader"
        },
        {
            "stepType":"ftp",//插件名。
            "parameter":{
                "path":"",//文件路径。
                "fileName":"",//文件名称。
                "nullFormat":"null",//null值。
                "dateFormat":"yyyy-MM-dd HH:mm:ss",//时间格式。
                "datasource":"",//数据源。
                "writeMode":"",//写入模式。
                "fieldDelimiter":",",//列分隔符。
                "encoding":"",//编码格式。
                "fileFormat":""//文本类型。
            },
            "name":"Writer",
            "category":"writer"
        }
    ],
    "setting":{
        "errorLimit":{
            "record":"0"//错误记录数。
        },
        "speed":{
            "throttle":true,//当throttle值为false时,mbps参数不生效,表示不限流;当throttle值为true时,表示限流。
            "concurrent":1, //作业并发数。
            "mbps":"12"//限流,此处1mbps = 1MB/s。
        }
    },
    "order":{
        "hops":[
            {
                "from":"Reader",
                "to":"Writer"
            }
        ]
    }
}

Writer脚本参数

参数

描述

是否必选

默认值

datasource

数据源名称,脚本模式支持添加数据源,此配置项填写的内容必须要与添加的数据源名称保持一致。

timeout

连接FTP服务器连接超时时间,单位毫秒。

60,000(1分钟)

path

FTP文件系统的路径信息,FTP Writer会写入Path目录下多个文件。

fileName

FTP Writer写入的文件名,该文件名会添加随机的后缀作为每个线程写入实际文件名。

singleFileOutput

FtpWriter写入的文件名受fileName控制,默认行会添加随机的后缀作为每个线程写入实际文件名。如果您不需要默认添加的随机后缀,您可以将singleFileOutput配置为true,写出文件名将会是您指定的完整文件名。

false

writeMode

FTP Writer写入前数据清理处理模式:

  • truncate:写入前清理目录下,fileName前缀的所有文件。

  • append:写入前不做任何处理,数据集成FTP Writer直接使用filename写入,并保证文件名不冲突。

  • nonConflict:如果目录下有fileName前缀的文件,直接报错。

fieldDelimiter

写入的字段分隔符。

是,单字符

skipHeader

类CSV格式文件可能存在表头为标题情况,需要跳过。默认不跳过,压缩文件模式下不支持skipHeader。

false

compress

支持gzip和bzip2两种压缩形式。

无压缩

encoding

读取文件的编码配置。

utf-8

nullFormat

文本文件中无法使用标准字符串定义null(空指针),数据集成提供nullFormat定义哪些字符串可以表示为null。

例如您配置nullFormat="null",如果源头数据是空指针null,数据集成序列化为null字面值字符串(4个字符)。

dateFormat

日期类型的数据序列化到文件中时的格式,例如”dateFormat”:”yyyy-MM-dd”。

fileFormat

文件写出的格式,包括CSV和TEXT两种,CSV是严格的CSV格式,如果待写数据包括列分隔符,则会按照CSV的转义语法转义,转义符号为双引号。TEXT格式是用列分隔符简单分割待写数据,对于待写数据包括列分隔符情况下不做转义。

TEXT

header

header:txt文本(包括csv、text等)写出时的表头,脚本模式支持配置表头信息,例如”header”:[“id”,”name”,”age”],表示将id、name、age作为表头写入ftp文件的第一行。

markDoneFileName

标档文件名,同步任务结束后生成标档文件,根据此标档文件可以判断同步任务是否成功。此处应配置为绝对路径。

内容没看懂? 不太想学习?想快速解决? 有偿解决: 联系专家

阿里云企业补贴进行中: 马上申请

腾讯云限时活动1折起,即将结束: 马上收藏

同尘科技为腾讯云授权服务中心。

购买腾讯云产品享受折上折,更有现金返利:同意关联,立享优惠

转转请注明出处:https://www.yunxiaoer.com/171458.html

(0)
上一篇 2023年12月10日
下一篇 2023年12月10日
详情页2

相关推荐

  • 阿里云对象存储OSSAndroid断点续传上传-云淘科技

    在无线网络下,上传比较大的文件持续时间长,可能会遇到因为网络条件差、用户切换网络等原因导致上传中途失败,整个文件需要重新上传。为此,Android SDK提供了断点续传上传功能。 使用说明 Android SDK提供了resumableUpload以及sequenceUpload两种方法用于断点续传上传。 (推荐)resumableUpload表示并发上传分…

    阿里云对象存储 2023年12月10日
  • 阿里云日志服务SLS配置权限助手-云淘科技

    日志服务提供权限助手功能,简化日志服务相关的RAM权限策略配置。本文介绍如何在日志服务控制台上配置权限助手。 操作步骤 登录日志服务控制台。 在Project列表区域,单击目标Project。 在左侧导航栏中,选择其他 > 权限助手。 在权限助手页面,完成如下配置,并单击下一步。模式包括普通项目和APP,具体配置如下表所示。 普通项目 普通项目模式包括…

    阿里云日志服务SLS 2023年12月10日
  • 阿里云日志服务SLS创建Trace实例-云淘科技

    日志服务Trace实例用于管理各类已采集到的Trace数据,包括查询和分析Trace数据、查看Trace数据详情、查看服务指标等。本文介绍创建Trace实例的操作步骤。 操作步骤 登录日志服务控制台。 在日志应用区域的智能运维页签下,单击Trace服务。 单击创建实例。 在创建实例页面,配置如下参数,然后单击确定。 参数 描述 Trace实例名称 Trace…

    阿里云日志服务SLS 2023年12月10日
  • 信息流广告,信息流部分建议宽度830px,只针对默认列表样式,顺序随机
  • 阿里云对象存储OSSPython查询文件-云淘科技

    本文主要介绍如何使用Python SDK的SelectObject查询CSV和JSON文件。 注意事项 本文以华东1(杭州)外网Endpoint为例。如果您希望通过与OSS同地域的其他阿里云产品访问OSS,请使用内网Endpoint。关于OSS支持的Region与Endpoint的对应关系,请参见访问域名和数据中心。 本文以OSS域名新建OSSClient为…

    阿里云对象存储 2023年12月10日
  • 阿里云日志服务SLS指标说明-云淘科技

    本文介绍基于负载均衡7层访问日志提取的指标详情,包括全局指标、app_lb_id维度指标、status维度指标和upstream_status维度指标。 本文涉及的指标遵循时序数据格式,支持使用PromQL或SQL进行查询分析。更多信息,请参见时序数据查询和分析简介。 全局指标 全局指标信息如下表所示。 指标 说明 pv 总访问次数 body_bytes_s…

    阿里云日志服务SLS 2023年12月10日

联系我们

400-800-8888

在线咨询: QQ交谈

邮件:admin@example.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信
本站为广大会员提供阿里云、腾讯云、华为云、百度云等一线大厂的购买,续费优惠,保证底价,买贵退差。