用户场景:
用户从其他数据库同步数据文件到OSS时,产生的文件名,后缀通常会带上随机的UUID信息(如上图),有些用户不想要有这种后缀名称的情况。
解決方案:
如果您不需要后缀随机的UUID,您可以配置一下writeSingleObject这个参数信息:"writeSingleObject" : "true"。
具体案例odps同步到oss脚本逻辑如下:
{
"type": "job",
"steps": [
{
"stepType": "odps",
"parameter": {
"partition": [
"pt=${bizdate}"
],
"datasource": "odps_first",
"column": [
"item_id",
"shop_id",
"utctimestamp",
"item_title",
"pic_url",
"pic_url_list",
"roperties",
"sale_time",
"cprice"
],
"table": "test_0526"
},
"name": "Reader",
"category": "reader"
},
{
"stepType": "oss",
"parameter": {
"fileName": "",
"datasource": "test_oss",
"writeSingleObject": "true",
"column": [
{
"name": "item_id",
"type": "BIGINT"
},
{
"name": "shop_id",
"type": "BIGINT"
},
{
"name": "sutctimestamp",
"type": "BIGINT"
},
{
"name": "item_title",
"type": "BIGINT"
},
{
"name": "pic_url",
"type": "BIGINT"
},
{
"name": "pic_url_list",
"type": "BIGINT"
},
{
"name": "properties",
"type": "BIGINT"
},
{
"name": "sale_time",
"type": "BIGINT"
},
{
"name": "cprice",
"type": "BIGINT"
}
],
"writeMode": "truncate",
"fieldDelimiter": "\t",
"encoding": "UTF-8",
"fileFormat": "csv",
"object": "test_detail_199"
},
"name": "Writer",
"category": "writer"
}
],
"version": "2.0",
"order": {
"hops": [
{
"from": "Reader",
"to": "Writer"
}
]
},
"setting": {
"errorLimit": {
"record": ""
},
"speed": {
"throttle": false,
"concurrent": 1
}
}
}
OSS结果展现:
配置完 writeSingleObject 这个参数,完成同步后,在OSS管理控制台看到的文件结果如下:(可以看到显示的文件名,是以脚本中参数“object”配置的为准)
注意:
1、“writeSingleObject”参数目前只对 csv、text文件类型生效。
2、“writeSingleObject”参数各个资源组生效情况:
- 独享数据集成资源组所有region都支持;
- 自定义资源组需要看Datax版本情况是否支持;
- 公共(默认)资源组国内region都支持,海外region不支持,因为海外region公共(默认)资源组版本比较低,会有设置了“writeSingleObject”这个参数,但是不生效的情况存在,建议使用独享数据集成资源组跑同步任务。
DataWorks百问百答历史记录 请点击这里查看>>
更多DataWorks技术和产品信息,欢迎加入【DataWorks钉钉交流群】