全部产品
MaxCompute

DownloadSession

更新时间:2017-06-07 13:26:11   分享:   

接口定义:

    public class DownloadSession {
        DownloadSession(Configuration conf, String projectName, String tableName,
            String partitionSpec) throws TunnelException
        DownloadSession(Configuration conf, String projectName, String tableName,
            String partitionSpec, String downloadId) throws TunnelException
        public String getId()
        public long getRecordCount()
        public TableSchema getSchema()
        public DownloadSession.Status getStatus()
        public RecordReader openRecordReader(long start, long count)
        public RecordReader openRecordReader(long start, long count, boolean compress)
    }

Download对象:

  • 生命周期:从创建Download实例到下载结束
  • 创建Download实例,可以通过调用构造方法创建,也可以通过TableTunnel创建;
    • 请求方式:同步
    • Server端会为该Download创建一个session,生成唯一downloadId标识该Download,客户端可以通过getId获取
    • 该操作开销较大,server端会对数据文件创建索引,当文件数很多时,该时间会比较长;
    • 同时server端会返回总Record数,可以根据总Record数启动多个并发同时下载
  • 下载数据:
    • 请求方式:异步
    • 调用openRecordReader方法,生成RecordReader实例,其中参数start标识本次下载的record的起始位置,从0开始,取值范围是 >= 0, count标识本次下载的记录数,取值范围是>0。
  • 查看下载:
    • 请求方式:同步
    • 调用getStatus可以获取当前Download状态
  • 4种状态说明:
    • UNKNOWN, server端刚创建一个session时设置的初始值
    • NORMAL, 创建Download对象成功
    • CLOSED, 下载结束后
    • EXPIRED, 下载超时
本文导读目录
本文导读目录
以上内容是否对您有帮助?