MaxCompute通過Tunnel實現上傳下載資料功能。本文為您介紹如何通過Tunnel上傳、下載資料。
Tunnel操作詳情請參見Tunnel命令。常用命令如下:
|
類型 |
功能 |
角色 |
操作入口 |
|
將本地檔案的資料上傳至MaxCompute的表中,以追加模式匯入。 |
具備修改表許可權(Alter)的使用者。 |
||
|
將MaxCompute表資料或指定Instance的執行結果下載至本地。 |
具備讀取表資料許可權(Select)的使用者。 |
上傳資料
將本地檔案資料以追加模式匯入至 MaxCompute 表中,資料上傳過程不產生費用。
-
使用限制
-
支援檔案或目錄(指一級目錄)的上傳,每一次僅支援上傳到一張表或表的一個分區。
-
分區表一定要指定上傳的分區,多級分區一定要指定到末級分區。
-
-
命令格式
Tunnel upload <path> [<project_name>.]<table_name>[/<pt_spc>]; -
參數說明
-
path:必填。上傳資料檔案的存放路徑以及檔案名稱。預設上傳的資料檔案為TXT格式。路徑及檔案名稱僅支援英文字元(字母、數字、底線),不支援中文字元和空格。如果路徑包含中文字元,在系統locale為非UTF-8的環境下(如
LANG=C),MaxCompute用戶端(odpscmd)會報"檔案不存在"錯誤。此時請將檔案路徑修改為純英文路徑,或將系統locale設定為UTF-8編碼(如export LANG=en_US.UTF-8)。資料檔案的歸檔路徑有兩種選擇:您可以將檔案直接歸檔至MaxCompute用戶端的
bin目錄中,此時path需要設定為檔案名稱.尾碼名;也可以將檔案歸檔至其他路徑下,例如D盤的test檔案夾,此時path需要設定為D:\test\檔案名稱.尾碼名。Tunnel命令列方式上傳資料檔案時,對檔案大小沒有限制,支援上傳超過10 MB的大檔案。如需上傳大檔案,可通過-bs參數調整每次上傳至Tunnel的資料區塊大小(預設100 MiB)。說明macOS系統中path值只能使用絕對路徑,例如檔案歸檔在MaxCompute用戶端的
bin目錄中,此時path需要設定為/Users/username/MaxCompute/bin/檔案名稱.尾碼名。 -
project_name:可選。目標表所屬專案空間名稱。跨專案空間訪問表時需要指定該參數。
-
table_name:必填。目標表名。
-
pt_spc:可選。需要指定至最末級分區。格式為
partition_col1=col1_value1, partition_col2=col2_value1...。
-
-
使用樣本
-
樣本1:將log.txt中的資料上傳至當前專案空間的表test_table中。log.txt檔案歸檔在MaxCompute用戶端的
bin目錄中。命令如下。Tunnel upload log.txt test_table; -
樣本2:將log.txt中的資料上傳至專案空間test_project的表test_table(二級分區表)中的
p1="b1",p2="b2"分區。log.txt檔案歸檔在D盤的test檔案夾中。命令如下。Tunnel upload D:\test\log.txt test_project.test_table/p1="b1",p2="b2";
-
下載資料
將MaxCompute表資料或指定Instance的執行結果下載至本地。MaxCompute僅對公網的資料下載,按照下載的資料大小進行計費,一次下載費用=下載資料量(GB)×下載價格(0.1166 USD/GB)。
-
使用限制
-
每次操作僅支援將一張表或一個分區的資料下載到單個檔案中。
-
分區表一定要指定下載的分區,多級分區一定要指定到末級分區。
-
-
命令格式
Tunnel download [<project_name>.]<table_name>[/<pt_spc>] <path>; -
參數說明
-
project_name:可選。目標表所屬專案空間名稱。跨專案空間訪問表時需要指定該參數。
-
table_name:必填。目標表表名。
-
pt_spc:可選。需要指定至最末級分區。格式為
partition_col1=col1_value1, partition_col2=col2_value1...。 -
path:必填。下載資料檔案的存放路徑以及檔案名稱。預設下載的資料檔案為TXT格式。
資料檔案的儲存路徑有兩種選擇:您可以將檔案直接下載至MaxCompute用戶端的
bin目錄中,此時path需要設定為檔案名稱.尾碼名;也可以將檔案下載至其他路徑下,例如D盤的test檔案夾,此時path需要設定為D:\test\檔案名稱.尾碼名。
-
-
使用樣本
-
樣本1:將test_project.test_table表(二級分區表)中的資料下載到test_table.txt檔案中。test_table.txt檔案位於MaxCompute用戶端的
bin目錄中。命令如下。Tunnel download test_project.test_table/p1="b1",p2="b2" test_table.txt; -
樣本2:將test_project.test_table表(二級分區表)中的資料下載到test_table.txt檔案中。test_table.txt檔案位於D盤的test檔案夾中。命令如下。
Tunnel download test_project.test_table/p1="b1",p2="b2" D:\test\test_table.txt;
-