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 对象。 |
public DownloadSession(String projectName, String instanceID, String downloadId) throws TunnelException
InstanceTunnel.DownloadSession
对象。projectName
- 下载数据表所在project名称instanceID
- 下载数据 instanceIDdownloadId
- Download的唯一标识符TunnelException
public com.aliyun.odps.tunnel.io.TunnelRecordReader openRecordReader(long start, long count) throws TunnelException, IOException
RecordReader
用来读取记录start
- 本次要读取记录的起始位置count
- 本次要读取记录的数量TunnelException
IOException
public com.aliyun.odps.tunnel.io.TunnelRecordReader openRecordReader(long start, long count, boolean compress) throws TunnelException, IOException
RecordReader
用来读取记录start
- 本次要读取记录的起始位置count
- 本次要读取记录的数量compress
- 数据传输是否进行压缩;即使设置了压缩选项,如果server 不支持压缩,传输数据也不会被压缩TunnelException
IOException
public com.aliyun.odps.tunnel.io.TunnelRecordReader openRecordReader(long start, long count, com.aliyun.odps.tunnel.io.CompressOption compress) throws TunnelException, IOException
RecordReader
用来读取记录start
- 本次要读取记录的起始位置count
- 本次要读取记录的数量compress
- 数据传输是否进行压缩;即使设置了压缩选项,如果server 不支持压缩,传输数据也不会被压缩TunnelException
IOException
public com.aliyun.odps.tunnel.io.TunnelRecordReader openRecordReader(long start, long count, boolean compress, List<Column> columns) throws TunnelException, IOException
RecordReader
用来读取记录start
- 本次要读取记录的起始位置count
- 本次要读取记录的数量compress
- 数据传输是否进行压缩;即使设置了压缩选项,如果server 不支持压缩,传输数据也不会被压缩columns
- 本次需要下载的列TunnelException
IOException
public com.aliyun.odps.tunnel.io.TunnelRecordReader openRecordReader(long start, long count, com.aliyun.odps.tunnel.io.CompressOption compress, List<Column> columns) throws TunnelException, IOException
RecordReader
用来读取记录start
- 本次要读取记录的起始位置count
- 本次要读取记录的数量compress
- 数据传输是否进行压缩;即使设置了压缩选项,如果server 不支持压缩,传输数据也不会被压缩columns
- 本次需要下载的列TunnelException
IOException
public TableSchema getSchema()
TableSchema
public long getRecordCount()
public String getProjectName()
public String getInstanceID()
public String getId()
public InstanceTunnel.DownloadStatus getStatus() throws TunnelException, IOException
TunnelException
IOException
Copyright © 2020 Alibaba Cloud Computing. All rights reserved.