public class TableTunnel.DownloadSession extends Object
DownloadSession 表示从 ODPS 表中下载数据的会话,一般通过TableTunnel
来创建。
Session ID 是 Session 的唯一标识符,可通过 getId()
获取。
表中Record总数可通过 getRecordCount()
得到,用户可根据 Record 总数来启动并发下载。
DownloadSession 通过创建 RecordReader
来完成数据的读取,需指定读取记录的起始位置和数量
RecordReader 对应HTTP请求的超时时间为 300S,超时后 service 端会主动关闭。
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 getId()
public TableTunnel.DownloadStatus getStatus() throws TunnelException, IOException
TunnelException
IOException
public String getPartitionSpec()
public String getProjectName()
public String getTableName()
Copyright © 2020 Alibaba Cloud Computing. All rights reserved.