public class InstanceTunnel.DownloadSession extends Object
DownloadSession 表示从 ODPS Instance 中下载数据的会话,一般通过InstanceTunnel来创建。
Session ID 是 Session 的唯一标识符,可通过 getId() 获取。
Instance 中Record总数可通过 getRecordCount() 得到,用户可根据 Record 总数来启动并发下载。
DownloadSession 通过创建 RecordReader 来完成数据的读取,需指定读取记录的起始位置和数量
RecordReader 对应HTTP请求的超时时间为 300S,超时后 service 端会主动关闭。
| Constructor and Description |
|---|
DownloadSession(String projectName,
String instanceID,
String downloadId)
根据已有downloadId构造一个
InstanceTunnel.DownloadSession对象。 |
| Modifier and Type | Method and Description |
|---|---|
String |
getId()
获取会话ID
|
String |
getInstanceID()
获取 instanceID
|
String |
getProjectName()
获取 project name
|
long |
getRecordCount()
获取可下载的记录总数
|
TableSchema |
getSchema()
获取数据对应的表结构
|
InstanceTunnel.DownloadStatus |
getStatus()
获取会话状态
|
TunnelRecordReader |
openRecordReader(long start,
long count)
打开
RecordReader用来读取记录 |
TunnelRecordReader |
openRecordReader(long start,
long count,
boolean compress)
打开
RecordReader用来读取记录 |
TunnelRecordReader |
openRecordReader(long start,
long count,
boolean compress,
List<Column> columns)
打开
RecordReader用来读取记录 |
TunnelRecordReader |
openRecordReader(long start,
long count,
CompressOption compress)
打开
RecordReader用来读取记录 |
TunnelRecordReader |
openRecordReader(long start,
long count,
CompressOption compress,
List<Column> columns)
打开
RecordReader用来读取记录 |
public DownloadSession(String projectName, String instanceID, String downloadId) throws TunnelException
InstanceTunnel.DownloadSession对象。projectName - 下载数据表所在project名称instanceID - 下载数据 instanceIDdownloadId - Download的唯一标识符TunnelExceptionpublic TunnelRecordReader openRecordReader(long start, long count) throws TunnelException, IOException
RecordReader用来读取记录start - 本次要读取记录的起始位置count - 本次要读取记录的数量TunnelExceptionIOExceptionpublic TunnelRecordReader openRecordReader(long start, long count, boolean compress) throws TunnelException, IOException
RecordReader用来读取记录start - 本次要读取记录的起始位置count - 本次要读取记录的数量compress - 数据传输是否进行压缩;即使设置了压缩选项,如果server 不支持压缩,传输数据也不会被压缩TunnelExceptionIOExceptionpublic TunnelRecordReader openRecordReader(long start, long count, CompressOption compress) throws TunnelException, IOException
RecordReader用来读取记录start - 本次要读取记录的起始位置count - 本次要读取记录的数量compress - 数据传输是否进行压缩;即使设置了压缩选项,如果server 不支持压缩,传输数据也不会被压缩TunnelExceptionIOExceptionpublic TunnelRecordReader openRecordReader(long start, long count, boolean compress, List<Column> columns) throws TunnelException, IOException
RecordReader用来读取记录start - 本次要读取记录的起始位置count - 本次要读取记录的数量compress - 数据传输是否进行压缩;即使设置了压缩选项,如果server 不支持压缩,传输数据也不会被压缩columns - 本次需要下载的列TunnelExceptionIOExceptionpublic TunnelRecordReader openRecordReader(long start, long count, CompressOption compress, List<Column> columns) throws TunnelException, IOException
RecordReader用来读取记录start - 本次要读取记录的起始位置count - 本次要读取记录的数量compress - 数据传输是否进行压缩;即使设置了压缩选项,如果server 不支持压缩,传输数据也不会被压缩columns - 本次需要下载的列TunnelExceptionIOExceptionpublic TableSchema getSchema()
TableSchemapublic long getRecordCount()
public String getProjectName()
public String getInstanceID()
public String getId()
public InstanceTunnel.DownloadStatus getStatus() throws TunnelException, IOException
TunnelExceptionIOExceptionCopyright © 2019 Alibaba Cloud Computing. All rights reserved.