将数据保存到文件中
class参数配置为file.FileWriter
init 参数
配置参数 | 默认值 | 说明 |
---|---|---|
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写入 |
csv_dialect | customize | csv格式,支持 'mysql','excel', 'customize', 默认为自定义格式。 |
enclosed_sep | output_form 为csv时, 是否将字段内容用指定的符号包起来,可设为双引号‘"’ | |
escaped_sep | output_form 为csv时, 将字段内容中的分隔符替换为指定的字符,如csv_sep | |
is_none | None | output_form 为csv时,如果is_none is True, 会将None写为\N, 否则将None写为'' |
compress | 不压缩 | 是否压缩文件,,如果需要压缩,可设为'gz','tar' |
设置保存文件的目录
- path
控制单个输出文件的大小
- max_size
- scale
保存为CSV格式
与csv相关的参数
- output_form
- csv_dialect
- csv_sep
- csv_cols
- enclosed_sep
- escaped_sep
- is_none
当csv_dialect设为excel或mysql时,csv_sep、enclosed_sep、escaped_sep、is_none参数设置将被忽略
为mysqlimport准备数据
将csv_dialect设为 mysql 生成的CSV文件可以使用mysqlimport导入到mysql中。
@宋志鹏 在这里贴一个mysqlimport完整命令
为excel准备数据
csv_dialect 设为excel生成的CSV文件,可以直接使用excel打开。
配置样例:
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"
output_form为csv时,插件内部已经将特殊字符、分割符等做了转义处理,所以不用担心错行、导入mysql中字段错乱问题。
自定义csv格式时,分隔符建议设为常用分隔符。字段分隔符推荐使用‘\t’,',',换行符推荐使用‘\n’,字段封闭符推荐使用‘"’,若不是为了将csv文件导入mysql表中,建议is_none使用默认值