MaxCompute では、Tunnel コマンドを使用してデータのアップロードおよびダウンロードを行うことができます。
Tunnel の操作の詳細については、「Tunnel コマンド」をご参照ください。以下の表に、一般的なコマンドを示します。
|
タイプ |
説明 |
ロール |
エントリポイント |
|
ローカルファイルから MaxCompute テーブルに追加モードでデータをアップロードします。 |
テーブルに対する Alter 権限を持つユーザー。 |
||
|
MaxCompute テーブルまたは指定したインスタンスの実行結果から、ローカルファイルにデータをダウンロードします。 |
テーブルに対する Select 権限を持つユーザー。 |
データのアップロード
ローカルファイルから MaxCompute テーブルに追加モードでデータをアップロードできます。データのアップロードは無料です。
-
制限事項
-
ファイルまたは第 1 階層のディレクトリをアップロードできます。1 回のアップロード操作では、1 つのテーブルまたはテーブル内の単一のパーティションのみを対象にできます。
-
パーティションテーブルにデータをアップロードする場合は、パーティションを指定する必要があります。複数のパーティションレベルを持つテーブルの場合は、最下位レベルのパーティションを指定する必要があります。
-
-
構文
Tunnel upload <path> [<project_name>.]<table_name>[/<pt_spc>]; -
パラメーター
-
path :必須。ソースデータファイルのパスとファイル名。デフォルトでは、データファイルは TXT 形式です。パスとファイル名には、英字、数字、アンダースコア (_) のみを使用できます。中国語文字とスペースはサポートされていません。
LANG=Cなどの非 UTF-8 ロケールのシステムでパスに中国語文字が含まれている場合、MaxCompute クライアント (odpscmd) は "File not found" エラーを返します。この問題を解決するには、英字のみを含むパスを使用するか、システムロケールをexport LANG=en_US.UTF-8などの UTF-8 エンコーディングに設定してください。ファイルパスは 2 つの方法で指定できます。ファイルが MaxCompute クライアントの
binディレクトリにある場合は、path パラメーターをfilename.extensionに設定します。ファイルがD:\testなどの別のディレクトリにある場合は、path パラメーターを絶対パス (例:D:\test\filename.extension) に設定します。Tunnel コマンドラインツールにはファイルサイズの制限がなく、大きなファイルのアップロードをサポートしています。大きなファイルのアップロードを最適化するには、-bs パラメーターを使用して各データブロックのサイズを調整できます。デフォルトは 100 MiB です。説明macOS では、path の値は絶対パスである必要があります。たとえば、ファイルが MaxCompute クライアントの
binディレクトリにある場合は、path パラメーターを/Users/username/MaxCompute/bin/filename.extensionなどの絶対パスに設定します。 -
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_table テーブルの
p1="b1",p2="b2"パーティションにデータをアップロードします。このテーブルは test_project プロジェクト内の 2 階層のパーティションテーブルです。log.txt ファイルは D ドライブの test フォルダに保存されています。Tunnel upload D:\test\log.txt test_project.test_table/p1="b1",p2="b2";
-
データのダウンロード
MaxCompute テーブルまたは指定したインスタンスの実行結果から、ローカルファイルにデータをダウンロードします。インターネット経由でデータをダウンロードする場合は、ダウンロードしたデータ量に基づいて料金が発生します。料金は次のように計算されます。ダウンロード料金 = ダウンロードしたデータ (GB) × 料金 (0.1166 USD/GB)。
-
制限事項
-
1 回のダウンロードでは、1 つのテーブルまたは 1 つのパーティションから単一のファイルにのみデータをエクスポートできます。
-
パーティションテーブルからデータをダウンロードする場合は、パーティションを指定する必要があります。複数のパーティションレベルを持つテーブルの場合は、最下位レベルのパーティションを指定する必要があります。
-
-
構文
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 形式です。
データファイルの保存先パスは 2 つの方法で指定できます。ファイルを MaxCompute クライアントの
binディレクトリに直接ダウンロードすることもできます。この場合は、path パラメーターにfilename.extensionを指定します。または、D ドライブの test フォルダーなど別のパスにダウンロードすることもできます。この場合は、path パラメーターにD:\test\filename.extensionを指定します。
-
-
例
-
例 1:
test_project.test_tableテーブル (2 レベルのパーティションテーブル) からデータをダウンロードし、MaxCompute クライアントのbinディレクトリにあるtest_table.txtファイルに保存するコマンドは、次のとおりです。Tunnel download test_project.test_table/p1="b1",p2="b2" test_table.txt; -
例 2:2 階層のパーティションテーブルである
test_project.test_tableテーブルの p1="b1",p2="b2" パーティションから、D ドライブのtestフォルダにあるtest_table.txtファイルにデータをダウンロードします。コマンドは次のとおりです。Tunnel download test_project.test_table/p1="b1",p2="b2" D:\test\test_table.txt;
-