ODPS TUNNEL 上传大于30M数据到dataworks
首先下载odpscmd客户端https://github.com/aliyun/aliyun-odps-console/releases?spm=a2c4g.11186623.2.3.2f7f1743PoW0fF
配置odpscmd_public\conf\odps_config.ini配置文件,修改project_name、access_id、access_key以及end_point
双击bin\odpscmd.bat启动客户端,即可执行上传命令
示例:
tunnel upload D:\Docments\重庆\重庆交通\OSS数据\重庆OD数据\重庆蔡家地区通勤表.txt cq_sjzypt_stg.stg_net_amap_commute_delta/dt="20210423",dq="caijia",adcode="500000" -h true -acp true;
Upload
- 命令功能
将本地文件的数据上传至MaxCompute的表中,以追加模式导入。
- 命令格式
odps@ project_name>tunnel help upload; usage: tunnel upload [options] <path> <[project.]table[/partition]> upload data from local file -acp,-auto-create-partition <ARG> auto create target partition if not exists, default false -bs,-block-size <ARG> block size in MiB, default 100 -c,-charset <ARG> specify file charset, default ignore. set ignore to download raw data -cf,-csv-format <ARG> use csv format (true|false), default false. When uploading in csv format, file splitting not supported. -cp,-compress <ARG> compress, default true -dbr,-discard-bad-records <ARG> specify discard bad records action(true|false), default false -dfp,-date-format-pattern <ARG> specify date format pattern, default yyyy-MM-dd HH:mm:ss -fd,-field-delimiter <ARG> specify field delimiter, support unicode, eg \u0001. default "," -h,-header <ARG> if local file should have table header, default false -mbr,-max-bad-records <ARG> max bad records, default 1000 -ni,-null-indicator <ARG> specify null indicator string, default ""(empty string) -ow,-overwrite <true | false> overwrite specified table or partition, default: false -rd,-record-delimiter <ARG> specify record delimiter, support unicode, eg \u0001. default "\r\n" -s,-scan <ARG> specify scan file action(true|false|only), default true -sd,-session-dir <ARG> set session dir, default D:\software\odpscmd_public\plugins\dship -ss,-strict-schema <ARG> specify strict schema mode. If false, extra data will be abandoned and insufficient field will be filled with null. Default true -t,-threads <ARG> number of threads, default 1 -te,-tunnel_endpoint <ARG> tunnel endpoint -time,-time <ARG> keep track of upload/download elapsed time or not. Default false -tz,-time-zone <ARG> time zone, default local timezone: Asia/Shanghai Example: tunnel upload log.txt test_project.test_table/p1="b1",p2="b2"
- 参数说明
- 必选参数
- path
上传数据文件的路径以及名称。
- [project.]table[/partition]
目标表表名。如果是分区表,需要指定至最末级分区。如果不是当前空间的表,需要指定表所在的空间名。
- path
- 可选参数
- -acp
如果指定分区不存在,自动创建目标分区。默认值为False。
- -bs
指定每次上传至Tunnel的数据块大小。默认值为100 MiB(1 MiB=1024×1024 Byte)。
说明 并发写入场景,MaxCompute会根据ACID进行并发写入保障。关于ACID的具体语义,请参见ACID语义。
- -c
指定本地数据文件编码。默认不设定,下载源数据。
- -cf
指定是否为CSV文件,默认值为False。
说明 Upload仅支持TXT、CSV格式文件,默认上传TXT文件。如果上传CSV文件,需要指定
-cf
参数,同时请下载最新版本的MaxCompute客户端。 - -cp
指定是否在本地压缩数据后再上传,减少网络流量。默认值为True。
- -dbr
指定是否忽略脏数据(多列、少列、列数据类型不匹配等情况)。默认值为False。
- True:忽略全部不符合表定义的数据。
- False:如果遇到脏数据,则给出错误提示信息,目标表内的原始数据不会被污染。
- -dfp
指定DATETIME类型数据格式,默认为
yyyy-MM-dd HH:mm:ss
。如果您想指定时间格式到毫秒级别,可以使用tunnel upload -dfp 'yyyy-MM-dd HH:mm:ss.SSS'。DATETIME数据类型详情请参见数据类型版本说明。 - -fd
指定本地数据文件的列分割符。默认值为英文逗号(,)。
- -h
指定数据文件是否包括表头。默认值为False。如果为True,则dship会跳过表头从第二行开始上传数据。
- -mbr
指定可容忍的脏数据量。超过此数据量时,终止上传。默认值为1000条。
- -ni
指定NULL数据标识符。默认值为空字符串。
- -ow指定上传数据是否覆盖表或分区。默认值为False,上传数据为累加方式。示例如下。
tunnel upload -overwrite true log.txt test_project.test_table/p1="b1",p2="b2";
- -rd
指定本地数据文件的行分割符。默认值为
\r\n
。 - -s指定是否扫描本地数据文件。默认值为True。
- True:先扫描数据,若数据格式正确,再导入数据。
- False:不扫描数据,直接导入数据。
- Only:仅扫描本地数据,扫描结束后不继续导入数据。
- -sd
指定Session目录。
- -ss
指定严格架构模式。默认值为True。如果为False,多余的数据将被丢弃,不足的字段将填充NULL。
- -t
指定Threads的数量。默认值为1。
- -te
指定Tunnel的Endpoint。
- -time
指定是否跟踪上传所用时间。默认值为False。
- -tz
指定时区。默认值为本地时区,例如Asia/Shanghai。
- -acp
- 必选参数