离线同步到ftp数据压缩后无法解压使用

简介: 离线同步到ftp数据压缩后无法解压使用

问题描述

同步到ftp的gzip压缩文件无法解压,也无法cat


排查过程

1、配置ftp服务,详情参见手动搭建FTP站点


2、添加ftp数据源


3、脚本模式创建离线同步任务

{
  "type": "job",
  "version": "2.0",
  "steps": [
    {
      "stepType": "mysql",
      "parameter": {
        "indexes": [],
        "envType": 1,
        "datasource": "***",
        "useSpecialSecret": false,
        "column": [
          "col1",
          "id",
          "url",
          "num"
        ],
        "tableComment": "",
        "connection": [
          {
            "datasource": "***",
            "table": [
              "test005"
            ]
          }
        ],
        "where": "",
        "splitPk": "col1",
        "encoding": "UTF-8"
      },
      "name": "Reader",
      "category": "reader"
    },
    {
      "stepType": "ftp",
      "parameter": {
        "fileName": "test005.csv.gz",
        "singleFileOutput": true,
        "nullFormat": "",
        "dateFormat": "yyyy-MM-dd HH:mm:ss",
        "compress": "gzip",
        "column": [
          "0",
          "1",
          "2",
          "3"
        ],
        "writeMode": "truncate",
        "fieldDelimiter": ",",
        "encoding": "UTF-8",
        "path": "/var/ftp/test",
        "fieldDelimiterOrigin": ",",
        "datasource": "ftp",
        "envType": 1,
        "fileFormat": "csv"
      },
      "name": "Writer",
      "category": "writer"
    },
    {
      "copies": 1,
      "parameter": {
        "nodes": [],
        "edges": [],
        "groups": [],
        "version": "2.0"
      },
      "name": "Processor",
      "category": "processor"
    }
  ],
  "setting": {
    "errorLimit": {
      "record": ""
    },
    "locale": "zh",
    "speed": {
      "throttle": false,
      "concurrent": 2
    }
  },
  "order": {
    "hops": [
      {
        "from": "Reader",
        "to": "Writer"
      }
    ]
  }
}


4、生成的文件cat是乱码,无法解压


5、添加如下参数,生成的文件改名去掉后缀即可解压和cat

"fileType": "binary", "singleFileOutput": false


问题原因

ftp协议的问题导致的。ftp协议默认使用ascii通信,ascii通信是对于UTF-8编码数据可能存在序列化反序列化失真,需要用binary协议


解决方案

添加如下参数,对文件改下名字然后解压

"fileType": "binary", "singleFileOutput": false


适用范围

大数据开发治理平台DataWorks

相关文章
|
网络协议 Linux 网络安全
文件共享同步5种方式:NFS、NAS、rsync、scp、ftp
谈到文件同步,我们最直接的同步方式是采用rsync的同步软件,rsync同步可以保持server和client的强一致(server中的增删改都会同步client),但在实际场景中rsync可能并不能被采纳。
17032 0
|
传感器 数据安全/隐私保护
多通道振弦传感器无线采集仪发送数据到 FTP 服务器
配置工具的参数配置区列出了与设备工作相关的所有参数项,每个参数项有【读取】和【修改】两个按钮,点击【读取】按钮获得设备的当前参数值,点击【设置】按钮将当前界面显示的值写入设备。 注:参数修改后,必须点击【 系统】 面板内的【保存参数】按钮才能在下次启动时生效。
|
SQL 存储 分布式计算
DataX 从HDFS文件系统上读取数据到FTP文件服务器 【举例介绍】
DataX 从HDFS文件系统上读取数据到FTP文件服务器 【举例介绍】
1289 0
DataX 从HDFS文件系统上读取数据到FTP文件服务器 【举例介绍】
|
存储 数据处理 数据安全/隐私保护
葵花8号卫星数据简介与下载(一)——数据介绍与FTP下载
今天来介绍葵花8号卫星数据以及下载流程。
6642 0
|
传感器
MODIS数据的简介和下载(二)——MODIS数据下载方式(FTP)
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/ESA_DSQ/article/details/70171937 前一篇我们已经介绍了MODIS数据的简介、参数以及相关的典型应用。
1809 0
FTP数据上传及WinCE系统FTP根目录设定
   嵌入式系统难免要和上位机PC进行数据交换,小数据用TCP/IP实现就可以了,大文件,动则几百兆的数据,用Tcp/Ip自己实现有点划不来,所以我一般采用了Ftp上传的功能,在嵌入式组态软件的下载功能中就实现了组态的Ftp上传,目前正在升级改造的北京隧道广告系统的通信系统也是采用Ftp上传功能进行节目(大约7百兆的数据)下载的。
825 0
|
2月前
|
网络协议 文件存储 Windows
Windows Server 2019 FTP服务器搭建
Windows Server 2019 FTP服务器搭建