datax Ftp数据源 压缩包

@高效码农  December 6, 2023

DataX介绍

DataX 是一个异构数据源离线同步工具,致力于实现包括关系型数据库(MySQL、Oracle等)、HDFS、Hive、ODPS、HBase、FTP等各种异构数据源之间稳定高效的数据同步功能。

简单说:就是可以将任意数据同步到你想要的数据结构中去

DataX下载地址:点击下载

FtpReader

FtpReader提供了读取远程FTP文件系统数据存储的能力。在底层实现上,FtpReader获取远程FTP文件数据,并转换为DataX传输协议传递给Writer。ftp服务器协议,目前支持传输协议有ftp和sftp

配置样例

{
    "setting": {},
    "job": {
        "setting": {
            "speed": {
                "channel": 2
            }
        },
        "content": [
            {
                "reader": {
                    "name": "ftpreader",
                    "parameter": {
                        "protocol": "sftp",
                        "host": "127.0.0.1",
                        "port": 22,
                        "username": "xx",
                        "password": "xxx",
                        "path": [
                            "/home/hanfa.shf/ftpReaderTest/data"
                        ],
                        "column": [
                            {
                                "index": 0,
                                "type": "long"
                            },
                            {
                                "index": 1,
                                "type": "boolean"
                            },
                            {
                                "index": 2,
                                "type": "double"
                            },
                            {
                                "index": 3,
                                "type": "string"
                            },
                            {
                                "index": 4,
                                "type": "date",
                                "format": "yyyy.MM.dd"
                            }
                        ],
                        "encoding": "UTF-8",
                        "fieldDelimiter": ","
                    }
                },
                "writer": {
                    "name": "ftpWriter",
                    "parameter": {
                        "path": "/home/hanfa.shf/ftpReaderTest/result",
                        "fileName": "shihf",
                        "writeMode": "truncate",
                        "format": "yyyy-MM-dd"
                    }
                }
            }
        ]
    }
}
注意:每种数据源的配置文件都是不同的。

报错信息:

code:[Framework-12],Description:Datax插件初始化错误,该问题通常是由于Datax安装错误引起请联系您的运维解决at com.a ibaba.dataxcommon exception,dataxException asDataxException(DataXException,java:30)at com.alibaba.dataxcore.util.Configparser,parsepluginConfig(Configparser .java:142)at com.alibaba.datax.core.util.ConfigParser.parse(ConfigParser java:63)at com.alibaba.datax.core.Engine.entry(Engine.java:131)at com.alibaba.datax.core.Engine.main(Engine.java:201)

解决方案:

如果安装正确,并且插件目录能存在插件;错误就是json配置文件有错误,仔细检查最好将上面的json复制修改后执行

FtpReader支持压缩文件的读取和写入

FTP Reader:支持压缩格式为gzip、bzip2、zip、lzo和lzo_deflate
FTP Writer:支持压缩格式为:支持gzip和bzip2两种压缩形式。

乱码:

2023-12-06T05:54:52.png
2023-12-06T05:55:17.png

解决方案:配置参数compress

  • compress

    • 描述:文本压缩类型,默认不填写意味着没有压缩。支持压缩类型为zip、gzip、bzip2。
    • 必选:否
    • 默认值:没有压缩

修改encoding参数值为源文件的编码格式:

  • encoding

    • 描述:读取文件的编码配置。
    • 必选:否
    • 默认值:utf-8

DataX 动态参数

DataX 动态参数是指在执行 DataX 任务时,可以通过外部传入参数来动态修改 DataX 脚本中的数据源、目标、配置等参数。

DataX 动态参数的使用方法如下:

在 DataX 脚本中,使用 {} 来表示动态参数。 2. 在执行 DataX 任务时,通过 -D 参数来传入动态参数。 例如,以下 DataX 脚本使用 {starttime}和${endtime} 来表示动态参数:

在执行 DataX 任务时,可以通过以下命令来传入动态参数:

datax -Dstarttime=2023-12-01 00:00:00 -Dendtime=2023-12-02 00:00:00 job.json
该命令会将 starttime 参数的值设置为 2023-12-01 00:00:00,将 endtime 参数的值设置为 2023-12-02 00:00:00。

DataX 支持传入多个动态参数,动态参数的名称可以任意指定。

DataX 动态参数可以用于以下场景:

指定数据同步的起始时间和结束时间。
指定数据同步的目标表名。
指定数据同步的配置参数。
DataX 动态参数可以使 DataX 任务更加灵活,可以根据实际需求进行配置。

datax文档地址:https://github.com/alibaba/DataX



评论已关闭