阿里云ACP大数据高级工程师知识点,超详细,看完就够了!

本文以Tunnel 命令章节知识点为例,不说废话直接上干货!

一、 Tunnel概述

  • Tunnel是MaxCompute提供的数据通道服务,各种异构数据源都可以通过Tunnel服务导入MaxCompute或从MaxCompute导出。
  • Tunnel提供了RestfulAPI接口,提供了Java SDK,方便用户编程

二、命令行客户端odpscmd

  • 基本语法

• Usage: tunnel <subcommand> [options] [args]

• subcommand

• upload (u) download (d) resume (r) show (s) purge (p) help (h)

  • subcommand

• upload

• 上传数据到MaxCompute的表中。支持文件或目录(指一级目录)的上传,每一次上传只支持数据上传到一张表或表的一个分区。分区表一定要指定上传的分区,多级分区一定要指定到末级分区。

• download

• 从MaxCompute的表中下载数据。只支持下载到单个文件,每一次下载只支持下载一张表或一个分区到一个文件。分区表一定要指定下载的分区,多级分区一定要指定到末级分区。

• 其他命令

• resume

• 因为网络或Tunnel服务的原因出错,支持续传文件或目录。如果上传数据失败,通过resume命令进行断点续传,仅支持上传数据的续传。每次上传、下载数据被称为一个Session。在resume后指定session id完成续传。

• show

• 查看历史运行信息

• purge

• 清理Session目录,默认清理3天内的日志

• help

• 输出Tunnel帮助信息

  • 常用参数

• -c,-charset <ARG> :数据文件字符编码,默认为UTF-8

  • -ni,-null-indicator <ARG> :指定NULL数据标识符。默认值为""(空字符串)

• -fd,-field-delimiter <ARG>:分隔符

• -dfp,-date-format-pattern <ARG>:日期格式,指定DATETIME类型数据格式,默认为yyyy-MM-dd HH:mm:ss

• -sd,-session-dir <ARG> :指定Session目录。•

• 其他上传参数

• -acp,-auto-create-partition <ARG>

• 如果指定分区不存在,自动创建目标分区。默认值为False。

• -cp,-compress <ARG>

• 指定是否在本地压缩数据后再上传,减少网络流量。默认值为True

• -dbr,-discard-bad-records <ARG>

• 指定是否忽略脏数据(多列、少列、列数据类型不匹配等情况)。默认值为False。True:忽略全部不符合表定义的数据。False:如果遇到脏数据,则给出错误提示信息,目标表内的原始数据不会被污染

• -s,-scan <ARG>

• 指定是否扫描本地数据文件。默认值为True。True:先扫描数据,若数据格式正确,再导入数据。False:不扫描数据,直接导入数据。Only:仅扫描本地数据,扫描结束后不继续导入数据

三、Tunnle特点

  • 支持对表的读写,不支持视图。
  • 写表是追加模式。
  • 采用并发以提高整体吞吐量。
  • 避免频繁提交。
  • 目标分区必须存在。

四、Tunnel上传下载限制

  • Tunnel功能及Tunnel SDK当前不支持外部表操作
  • Tunnel命令不支持上传下载ARRAY、MAP和STRUCT类型的数据
  • 每个Tunnel的Session在服务端的生命周期为24小时,创建后24小时内均可使用,也可以跨进程/线程共享使用,但是必须保证同一个BlockId没有重复使用
  • 如果您根据Session下载,请注意只有主账号创建的Session,可以被主账号及所属子账号下载

文章篇幅有限,更多阿里云ACP大数据高级工程师备考知识点及题库试题,可戳下方明~pian↓↓↓

相关推荐
码农阿豪6 小时前
Nacos 日志与 Raft 数据清理指南:如何安全释放磁盘空间
java·安全·nacos
直有两条腿6 小时前
【大模型】Langchain4j
java·langchain
love530love6 小时前
Scoop 完整迁移指南:从 C 盘到 D 盘的无缝切换
java·服务器·前端·人工智能·windows·scoop
消失的旧时光-19437 小时前
C++ 多线程与并发系统取向(二)—— 资源保护:std::mutex 与 RAII(类比 Java synchronized)
java·开发语言·c++·并发
莫寒清7 小时前
ThreadLocal
java·面试
学习是生活的调味剂8 小时前
spring bean循环依赖问题分析
java·后端·spring
Coder_Boy_8 小时前
Java(Spring AI)传统项目智能化改造——商业化真实案例(含完整核心代码+落地指南)
java·人工智能·spring boot·spring·微服务
五阿哥永琪8 小时前
1. 为什么java不能用is开头来做布尔值的参数名,会出现反序列化异常。
java·开发语言
冯RI375II694879 小时前
CPC认证的流程是怎样的呢
大数据
chilavert31810 小时前
技术演进中的开发沉思-371:final 关键字(中)
java·前端·数据库