本文向您介绍DownloadSession接口,此接口用于下载MaxCompute表数据。
DownloadSession接口定义
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 TableTunnel.DownloadStatus getStatus()
public RecordReader openRecordReader(long start, long count)
public RecordReader openRecordReader(long start, long count, boolean compress)
}
DownloadSession接口说明
生命周期:从创建Download实例到下载结束。
创建Download实例:可以通过构造方法和TableTunnel创建。
请求方式:同步。
Server端会为该Download创建一个Session,生成唯一DownloadId标识该Download,客户端可以通过getId获取。
该操作开销较大,Server端会对数据文件创建索引,文件多时耗时较长。
Server端返回总Record数,可启动多个并发下载。
下载数据:
请求方式:异步。
调用openRecordReader方法生成RecordReader实例,参数start标识起始位置,从0开始,取值范围是>= 0, count标识记录数,取值范围是>0。
查看下载:
请求方式:同步。
调用getStatus获取当前Download状态。
四种状态说明如下:
UNKNOWN:Server端刚创建一个Session时设置的初始值。
NORMAL:创建Download对象成功。
CLOSED:下载结束后。
EXPIRED:下载超时。
该文章对您有帮助吗?
- 本页导读 (1)
- DownloadSession接口定义
- DownloadSession接口说明