875
微信
UploadSession__SDK介紹_批量數據通道_大數據計算服務-阿裏雲
接口定義:
public class UploadSession {
UploadSession(Configuration conf, String projectName, String tableName,
String partitionSpec) throws TunnelException;
UploadSession(Configuration conf, String projectName, String tableName,
String partitionSpec, String uploadId) throws TunnelException;
public void commit(Long[] blocks);
public Long[] getBlockList();
public String getId();
public TableSchema getSchema();
public UploadSession.Status getStatus();
public Record newRecord();
public RecordWriter openRecordWriter(long blockId);
public RecordWriter openRecordWriter(long blockId, boolean compress);
}
Upload對象:
生命周期:從創建Upload實例到結束上傳
創建Upload實例,可以通過調用構造方法創建,也可以通過TableTunnel創建;
請求方式:同步
Server端會為該Upload創建一個session, 生成唯一uploadId標識該Upload,客戶端可以通過getId獲取
上傳數據:
請求方式:同步
調用openRecordWriter方法,生成RecordWriter實例,其中參數blockId用於標識此次上傳的數據,也描述了數據在整個表中的位置,取值範圍:[0,20000],當數據上傳失敗,可以根據blockId重新上傳。
查看上傳:
請求方式:同步
調用getStatus可以獲取當前Upload狀態
調用getBlockList可以獲取成功上傳的blockid list,可以和上傳的blockid list對比,對失敗的blockId重新上傳
結束上傳:
請求方式:同步
調用commit(Long[] blocks)方法,參數blocks列表表示已經成功上傳的block列表,server端會對該列表進行驗證
該功能是加強對數據正確性的校驗,如果提供的block列表與server端存在的block列表不一致拋出異常
Commit失敗可以進行重試
7種狀態說明:
UNKNOWN, server端剛創建一個session時設置的初始值
NORMAL, 創建upload對象成功
CLOSING, 當調用complete方法(結束上傳)時,服務端會先把狀態置為CLOSING。
CLOSED, 完成結束上傳(即把數據移動到結果表所在目錄)後
EXPIRED, 上傳超時
CRITICAL, 服務出錯
注意:
同一個UploadSession裏的blockId不能重複。也就是說,對於同一個UploadSession,用一個blockId打開RecordWriter,寫入一批數據後,調用close,然後再commit完成後,不可以重新再用該blockId打開另一個RecordWriter寫入數據。
一個block大小上限 100GB,建議 大於 64M的數據。
每個Session在服務端的生命周期為24小時。
上傳數據時,建議準備好數據後再調用openRecordWriter開始寫入,Writer每寫入8KB數據會觸發一次網絡動作,如果120秒內沒有網絡動作,服務端將主動關閉連接,屆時Writer將不可用,請重新打開一個新的Writer寫入。
最後更新:2016-11-24 15:40:12
上一篇:
TableTunnel__SDK介紹_批量數據通道_大數據計算服務-阿裏雲
下一篇:
DownloadSession__SDK介紹_批量數據通道_大數據計算服務-阿裏雲
網站日誌分析__場景化分析_Quick BI-阿裏雲
插件管理__快速入門_雲數據庫 HybridDB-阿裏雲
排查DRDS慢SQL__開發手冊_分布式關係型數據庫 DRDS-阿裏雲
路由器接口__用戶指南_高速通道-阿裏雲
查詢實例資源規格列表__其他接口_API 參考_雲服務器 ECS-阿裏雲
高防IP SLA___相關協議_DDoS 高防IP-阿裏雲
大數據開發套件__數加產品概覽_數加平台介紹-阿裏雲
高防IP與WAF/CDN一起接入__接入指導_產品常見問題_DDoS 高防IP-阿裏雲
DeployedInfo__數據類型_API_API 網關-阿裏雲
編輯鍵__數據管理_DMS for Redis_用戶指南(NoSQL)_數據管理-阿裏雲
相關內容
常見錯誤說明__附錄_大數據計算服務-阿裏雲
發送短信接口__API使用手冊_短信服務-阿裏雲
接口文檔__Android_安全組件教程_移動安全-阿裏雲
運營商錯誤碼(聯通)__常見問題_短信服務-阿裏雲
設置短信模板__使用手冊_短信服務-阿裏雲
OSS 權限問題及排查__常見錯誤及排除_最佳實踐_對象存儲 OSS-阿裏雲
消息通知__操作指南_批量計算-阿裏雲
設備端快速接入(MQTT)__快速開始_阿裏雲物聯網套件-阿裏雲
查詢API調用流量數據__API管理相關接口_API_API 網關-阿裏雲
使用STS訪問__JavaScript-SDK_SDK 參考_對象存儲 OSS-阿裏雲