使用Tunnel命令或Tunnel SDK
MaxCompute的客戶端(odpscmd)、Studio等數(shù)據(jù)上傳下載工具均通過Tunnel功能實現(xiàn)數(shù)據(jù)的上傳與下載,本文為您介紹如何使用Tunnel命令或Tunnel SDK上傳數(shù)據(jù)至MaxCompute。
前提條件
已經(jīng)創(chuàng)建好MaxCompute項目,并用對應的工具連接MaxCompute。
說明連接MaxCompute的操作詳情請參見連接至MaxCompute。
已在MaxCompute中創(chuàng)建好用于數(shù)據(jù)傳輸?shù)谋怼?/p>
使用Tunnel命令上傳數(shù)據(jù)
Tunnel命令主要有Upload
、Download
、Resume
、Show
、Purge
、help
等,您可以使用Upload
、Resume
命令進行數(shù)據(jù)上傳。
Upload:上傳本地數(shù)據(jù)至MaxCompute表中。支持文件的上傳,每一次上傳只支持數(shù)據(jù)上傳到一張表或表的一個分區(qū)。分區(qū)表一定要指定上傳的分區(qū),多級分區(qū)一定要指定到末級分區(qū)。更多信息請參見Upload 。
Resume:因為網(wǎng)絡或Tunnel服務的原因造成上傳出錯,可以通過
Resume
命令對文件進行續(xù)傳。可以繼續(xù)上一次的數(shù)據(jù)上傳操作,但Resume命令暫時不支持下載操作。更多信息請參見Resume。
使用Tunnel命令上傳數(shù)據(jù)的具體操作請參考Tunnel命令。
使用Tunnel SDK上傳數(shù)據(jù)
Tunnel SDK的主要接口有TableTunnel、TableTunnel.UploadSession、TableTunnel.DownloadSession、InstanceTunnel、InstanceTunnel.DownloadSession等。
不同版本的SDK在使用上有所差別,具體以SDK Java Doc為準。
TableTunnel與InstanceTunnel是訪問MaxCompute Tunnel服務的入口類:
TableTunnel:對某個表數(shù)據(jù)進行操作,例如下載某個表的表數(shù)據(jù)。
InstanceTunnel:對某個SQL執(zhí)行結(jié)果數(shù)據(jù)進行操作,例如下載某個Select查詢命令的結(jié)果數(shù)據(jù)。
使用Tunnel SDK上傳數(shù)據(jù)的使用案例請參見:
使用Tunnel SDK上傳數(shù)據(jù)的具體操作請參考Tunnel SDK。
使用Streaming Tunnel SDK上傳數(shù)據(jù)
MaxCompute流式數(shù)據(jù)通道服務提供了以流式的方式把數(shù)據(jù)寫入MaxCompute的能力,使用與原批量數(shù)據(jù)通道服務不同的一套全新的API及后端服務。
MaxCompute流式數(shù)據(jù)通道服務應用場景如下。
場景 | 說明 | 特點 |
大量事件日志實時寫入MaxCompute | 日志采集數(shù)據(jù)直接寫入MaxCompute進行批量處理。 | 無需通過中間存儲服務做中轉(zhuǎn),節(jié)約成本。 |
流式計算結(jié)果實時寫入MaxCompute | 流式服務寫入MaxCompute解除并發(fā)數(shù)及 | 解決高并發(fā)搶鎖導致流式服務不可用,避免 |
流式存儲服務(DataHub、Kafka)實時同步MaxCompute | 輕量消息隊列實時同步MaxCompute解除并發(fā)數(shù)及 | 解決輕量消息隊列實時同步到MaxCompute的問題,支持高并發(fā)、大批量同步。 |
流式數(shù)據(jù)通道SDK主要接口有以下幾種。
接口 | 描述 |
TableTunnel | 訪問MaxCompute Tunnel服務的入口類。您可以通過外網(wǎng)或阿里云內(nèi)網(wǎng)環(huán)境對MaxCompute及其Tunnel進行訪問。 |
TableTunnel.StreamUploadSession | 上傳數(shù)據(jù)會話。 |
TableTunnel.StreamRecordPack | 數(shù)據(jù)緩存會話 |
不同版本的SDK在使用上有差別,詳情請參見SDK Java Doc。
使用流式數(shù)據(jù)通道SDK上傳數(shù)據(jù)的使用案例請參見:
使用Streaming Tunnel SDK上傳數(shù)據(jù)的具體操作請參考Streaming Tunnel SDK。