閱讀366 返回首頁    go 阿裏雲


DownloadSession__SDK介紹_批量數據通道_大數據計算服務-阿裏雲

接口定義:

    public class DownloadSession {
        DownloadSession(Configuration conf, String projectName, String tableName,
            String partitionSpec) throws TunnelException
        DownloadSession(Configuration conf, String projectName, String tableName,
            String partitionSpec, String downloadId) throws TunnelException
        public String getId()
        public long getRecordCount()
        public TableSchema getSchema()
        public DownloadSession.Status getStatus()
        public RecordReader openRecordReader(long start, long count)
        public RecordReader openRecordReader(long start, long count, boolean compress)
    }

Download對象:

  • 生命周期:從創建Download實例到下載結束
  • 創建Download實例,可以通過調用構造方法創建,也可以通過TableTunnel創建;
    • 請求方式:同步
    • Server端會為該Download創建一個session,生成唯一downloadId標識該Download,客戶端可以通過getId獲取
    • 該操作開銷較大,server端會對數據文件創建索引,當文件數很多時,該時間會比較長;
    • 同時server端會返回總Record數,可以根據總Record數啟動多個並發同時下載
  • 下載數據:
    • 請求方式:異步
    • 調用openRecordReader方法,生成RecordReader實例,其中參數start標識本次下載的record的起始位置,從0開始,取值範圍是 >= 0, count標識本次下載的記錄數,取值範圍是>0。
  • 查看下載:
    • 請求方式:同步
    • 調用getStatus可以獲取當前Download狀態
  • 4種狀態說明:
    • UNKNOWN, server端剛創建一個session時設置的初始值
    • NORMAL, 創建Download對象成功
    • CLOSED, 下載結束後
    • EXPIRED, 下載超時

最後更新:2016-05-06 10:43:00

  上一篇:go UploadSession__SDK介紹_批量數據通道_大數據計算服務-阿裏雲
  下一篇:go 示例概要__SDK示例_批量數據通道_大數據計算服務-阿裏雲