详情页标题前

阿里云云原生大数据计算服务 MaxComputeUploadSession-云淘科技

详情页1

本文为您介绍UploadSession接口,此接口用于上传数据到表中。

UploadSession接口定义

UploadSession接口定义如下。

public class UploadSession {
    UploadSession(Configuration conf, String projectName, String tableName,
                  String partitionSpec) throws TunnelException;
    UploadSession(Configuration conf, String projectName, String tableName, 
                  String partitionSpec, String uploadId) throws TunnelException;
    public void commit(Long[] blocks);
    public Long[] getBlockList();
    public String getId();
    public TableSchema getSchema();
    public UploadSession.Status getStatus();
    public Record newRecord();
    public RecordWriter openRecordWriter(long blockId);
    public RecordWriter openRecordWriter(long blockId, boolean compress);
    public RecordWriter openBufferedWriter();
    public RecordWriter openBufferedWriter(boolean compress);
}

UploadSession接口说明

  • 生命周期:从创建Upload实例到结束上传。
  • 创建Upload实例:您可以通过调用构造方法和TableTunnel两种方式进行创建。
    • 请求方式:同步。
    • Server端会为该Upload创建一个Session, 生成唯一UploadId标识该Upload,客户端可以通过getId获取。
  • 上传数据:
    • 请求方式:同步。
    • 调用openRecordWriter方法,生成RecordWriter实例,其中参数blockId用于标识此次上传的数据,也描述了数据在整个表中的位置,取值范围为[0,20000],当数据上传失败,可以根据blockId重新上传。
  • 查看上传:
    • 请求方式:同步。
    • 调用getStatus可以获取当前Upload状态。
    • 调用getBlockList可以获取成功上传的blockid list,可以和上传的blockid list对比,对失败的blockId重新上传。
  • 结束上传:
    • 请求方式:同步。
    • 调用commit(Long[] blocks)方法,参数blocks列表表示已经成功上传的block列表,Server端会对该列表进行验证。
    • 该功能是加强对数据正确性的校验,如果提供的block列表与Server端存在的block列表不一致抛出异常。
    • Commit失败可以进行重试。
  • 六种状态说明:
    1. UNKNOWN:Server端刚创建一个Session时设置的初始值。
    2. NORMAL:创建Upload对象成功。
    3. CLOSING:当调用complete方法(结束上传)时,服务端会先把状态置为CLOSING。
    4. CLOSED:完成结束上传(即把数据移动到结果表所在目录)后。
    5. EXPIRED:上传超时。
    6. CRITICAL:服务出错。


说明

  • 同一个Upload中Session的blockId不能重复。对于同一个UploadSession,用一个blockId打开RecordWriter,写入一批数据后,调用close、Commit完成后,不可以再用该blockId打开另一个RecordWriter写入数据。
  • 一个Block大小上限100GB,建议大于64M的数据。
  • 每个Session在服务端的生命周期为24小时。
  • 上传数据时,Writer每写入8KB数据,便会触发一次网络动作,如果120秒内没有网络动作,服务端将主动关闭连接,此时Writer将不可用,请重新打开一个新的Writer写入。
  • 建议使用openBufferedWriter接口上传数据,该接口对您屏蔽了blockId的细节,并且内部带有数据缓存区,会自动进行失败重试,详情请参见BufferedWriter上传示例。

内容没看懂? 不太想学习?想快速解决? 有偿解决: 联系专家

阿里云企业补贴进行中: 马上申请

腾讯云限时活动1折起,即将结束: 马上收藏

同尘科技为腾讯云授权服务中心。

购买腾讯云产品享受折上折,更有现金返利:同意关联,立享优惠

转转请注明出处:https://www.yunxiaoer.com/158809.html

(0)
上一篇 2023年12月10日
下一篇 2023年12月10日
详情页2

相关推荐

  • 阿里云日志服务SLSParquet格式-云淘科技

    日志服务将日志投递到OSS后,支持存储为不同的文件格式,本文介绍Parquet格式。 参数配置 在配置投递规则时,如果选择存储格式为Parquet,对应的参数配置如下所示。 相关参数说明如下表所示。 参数 说明 Key名称 您可以在日志服务的原始日志页签中查看日志字段的Key,将您需要投递到OSS的字段名(Key)有序填入,在投递时将按照此顺序组织Parqu…

    阿里云日志服务SLS 2023年12月10日
  • 阿里云RDS数据库通过DMS登录RDS MySQL-云淘科技

    DMS(数据管理服务)支持数据管理、用户授权、安全审计、无锁变更、数据追踪、数据可视化等功能。本文介绍如何通过DMS登录RDS MySQL实例。 前提条件 已完成以下操作: 快速创建RDS MySQL实例 创建数据库和账号 操作步骤 访问RDS实例列表,在上方选择地域,然后单击目标实例ID。 在上方,单击登录数据库。 在弹出的DMS页面中,填写数据库账号名和…

    2023年12月9日
  • 阿里云RDS数据库DescribeDBInstanceDetail – 获取数据库实例详细信息-云淘科技

    调用DescribeDBInstanceDetail接口查询实例详情。 接口说明 该接口已下线,请勿使用。 调试 您可以在OpenAPI Explorer中直接运行该接口,免去您计算签名的困扰。运行成功后,OpenAPI Explorer可以自动生成SDK代码示例。 调试调试授权信息下表是API对应的授权信息,可以在RAM权限策略语句的Action元素中使用…

    阿里云数据库 2023年12月9日
  • 信息流广告,信息流部分建议宽度830px,只针对默认列表样式,顺序随机
  • 阿里云日志服务SLSRetryShipperTask-云淘科技

    调用RetryShipperTask接口重新执行失败的日志投递任务。 接口说明 请求语法中Host由Project名称和日志服务Endpoint构成,您需要在Host中指定Project。 已创建并获取AccessKey。更多信息,请参见访问密钥。 阿里云账号AccessKey拥有所有API的访问权限,风险很高。强烈建议您创建并使用RAM用户进行API访问或…

    阿里云日志服务SLS 2023年12月10日
  • 阿里云RDS数据库使用DTS迁移实例-云淘科技

    本文介绍如何使用数据传输服务DTS(Data Transmission Service),实现RDS PostgreSQL间的结构迁移、全量数据迁移以及增量数据迁移。同时使用这三种迁移类型可以实现在业务不停服的情况下,平滑地完成数据库的迁移。 前提条件 已创建源和目标RDS PostgreSQL实例,详情请参见创建RDS PostgreSQL实例。 说明 建…

    2023年12月9日

联系我们

400-800-8888

在线咨询: QQ交谈

邮件:admin@example.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信
本站为广大会员提供阿里云、腾讯云、华为云、百度云等一线大厂的购买,续费优惠,保证底价,买贵退差。