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