Skip to content

GitLab

  • Projects
  • Groups
  • Snippets
  • Help
    • Loading...
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Sign in / Register
project-collie
project-collie
  • Project overview
    • Project overview
    • Details
    • Activity
    • Releases
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
  • Issues 5
    • Issues 5
    • List
    • Boards
    • Labels
    • Service Desk
    • Milestones
  • Merge requests 2
    • Merge requests 2
  • Operations
    • Operations
    • Incidents
  • Analytics
    • Analytics
    • Repository
    • Value Stream
  • Wiki
    • Wiki
  • Members
    • Members
  • Activity
  • Graph
  • Create a new issue
  • Commits
  • Issue Boards
Collapse sidebar
  • granite
  • project-collieproject-collie
  • Wiki
    • Data_pump
    • Writers
  • file

Last edited by fanzx Dec 08, 2020
Page history
This is an old version of this page. You can view the most recent version or browse the history.

file

输出文件 file

输出结果写文件

配置样例:

  stock_ic_clear:
    class: file.FileWriter
    init:
      path: "/data/disk3/data_lake/ic/clear"
      output_form: csv
      csv_sep: "\t"
      csv_cols: "company_id,clear_director,clear_members,create_time,update_time"
      is_none: True
      escaped_sep: "\\t"

init参数说明:

name: 插件名字,对应样例中的stock_ic_clear

path: 输出文件的目录路径

overwrite=False: 是否覆盖写

max_size=125: 限制单个文件的大小

scale='m': max_size的单位,支持['b', 'k', 'm', 'g', 't']

prefix="split": 文件前缀

output_form='bson': 文件格式,支持['bson', 'json', 'csv']

csv_sep='|': output_form为csv时的字段分隔符

csv_cols=None: output_form 为csv时, 指定需要写的字段,并按指定的字段顺序写文件, 默认将json中的所有value写入

enclosed_sep=None: output_form 为csv时, 是否将字段内容用指定的符号包起来,可设为双引号‘"’

escaped_sep=None: output_form 为csv时, 将字段内容中的分隔符替换为指定的字符,如csv_sep='\t',escaped_sep='\t'时,将字段内容中的'\t' 替换为'\t'

is_none=None: output_form 为csv时,如果is_none is True, 会将None写为\N, 否则将None写为''

compress=None: 是否压缩文件,默认不压缩,如果需要压缩,可设为'gz','tar'

csv_dialect='customize': csv格式,支持 'mysql','excel', 'customize', 默认为自定义格式。 值为mysql时,可通过mysqlimport工具将csv文件导入mysql表,参数设置:--fields-terminated-by='\t' --lines-terminated-by='\n' --fields-enclosed-by=''。csv_dialect 值为‘mysql’或‘excel’时,csv_sep、enclosed_sep、escaped_sep、is_none参数设置将失效

output_form为csv时,插件内部已经将特殊字符、分割符等做了转义处理,所以不用担心错行、导入mysql中字段错乱问题。
自定义csv格式时,分隔符建议设为常用分隔符。字段分隔符推荐使用‘\t’,',',换行符推荐使用‘\n’,字段封闭符推荐使用‘"’,若不是为了将csv文件导入mysql表中,建议is_none使用默认值
Clone repository
  • README
  • data_pump
    • data_pump
    • filters
    • filters
      • bloom
    • readers
    • readers
      • file
      • kafka
      • mongodb
      • sql
    • writers
    • writers
      • file
  • dev_guide
  • dev_manual
  • Home
  • ops
    • ansible
View All Pages