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 |
---|---|
org.apache.arrow.vector.types.pojo.Schema |
getArrowSchema() |
String |
getId()
获取会话ID
|
String |
getPartitionSpec()
获取 partition
|
String |
getProjectName() |
String |
getQuotaName() |
long |
getRecordCount()
获取可下载的记录总数
|
TableSchema |
getSchema()
获取数据对应的表结构
|
String |
getSchemaName() |
TableTunnel.DownloadStatus |
getStatus()
获取会话状态
|
String |
getTableName() |
ArrowRecordReader |
openArrowRecordReader(long start,
long count) |
ArrowRecordReader |
openArrowRecordReader(long start,
long count,
org.apache.arrow.memory.BufferAllocator allocator) |
ArrowRecordReader |
openArrowRecordReader(long start,
long count,
CompressOption compress) |
ArrowRecordReader |
openArrowRecordReader(long start,
long count,
List<Column> columns) |
ArrowRecordReader |
openArrowRecordReader(long start,
long count,
List<Column> columns,
org.apache.arrow.memory.BufferAllocator allocator) |
ArrowRecordReader |
openArrowRecordReader(long start,
long count,
List<Column> columns,
org.apache.arrow.memory.BufferAllocator allocator,
CompressOption compress) |
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
- 本次要读取记录的数量TunnelException
IOException
public TunnelRecordReader openRecordReader(long start, long count, boolean compress) throws TunnelException, IOException
RecordReader
用来读取记录start
- 本次要读取记录的起始位置count
- 本次要读取记录的数量compress
- 数据传输是否进行压缩;即使设置了压缩选项,如果server 不支持压缩,传输数据也不会被压缩TunnelException
IOException
public TunnelRecordReader openRecordReader(long start, long count, CompressOption compress) throws TunnelException, IOException
RecordReader
用来读取记录start
- 本次要读取记录的起始位置count
- 本次要读取记录的数量compress
- 数据传输是否进行压缩;即使设置了压缩选项,如果server 不支持压缩,传输数据也不会被压缩TunnelException
IOException
public TunnelRecordReader openRecordReader(long start, long count, boolean compress, List<Column> columns) throws TunnelException, IOException
RecordReader
用来读取记录start
- 本次要读取记录的起始位置count
- 本次要读取记录的数量compress
- 数据传输是否进行压缩;即使设置了压缩选项,如果server 不支持压缩,传输数据也不会被压缩columns
- 本次需要下载的列TunnelException
IOException
public TunnelRecordReader openRecordReader(long start, long count, CompressOption compress, List<Column> columns) throws TunnelException, IOException
RecordReader
用来读取记录start
- 本次要读取记录的起始位置count
- 本次要读取记录的数量compress
- 数据传输是否进行压缩;即使设置了压缩选项,如果server 不支持压缩,传输数据也不会被压缩columns
- 本次需要下载的列TunnelException
IOException
public org.apache.arrow.vector.types.pojo.Schema getArrowSchema()
public ArrowRecordReader openArrowRecordReader(long start, long count) throws TunnelException, IOException
TunnelException
IOException
public ArrowRecordReader openArrowRecordReader(long start, long count, CompressOption compress) throws TunnelException, IOException
TunnelException
IOException
public ArrowRecordReader openArrowRecordReader(long start, long count, org.apache.arrow.memory.BufferAllocator allocator) throws TunnelException, IOException
TunnelException
IOException
public ArrowRecordReader openArrowRecordReader(long start, long count, List<Column> columns) throws TunnelException, IOException
TunnelException
IOException
public ArrowRecordReader openArrowRecordReader(long start, long count, List<Column> columns, org.apache.arrow.memory.BufferAllocator allocator) throws TunnelException, IOException
TunnelException
IOException
public ArrowRecordReader openArrowRecordReader(long start, long count, List<Column> columns, org.apache.arrow.memory.BufferAllocator allocator, CompressOption compress) throws TunnelException, IOException
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 getSchemaName()
public String getTableName()
public String getQuotaName()
Copyright © 2023 Alibaba Cloud Computing. All rights reserved.