このトピックでは、MaxCompute クライアントと Tunnel Upload コマンドを使用して、ローカルデータファイルから既存のテーブルにデータをインポートする方法について説明します。
前提条件
次の前提条件が満たされていることを確認します。- テーブルが作成されていること。
詳細については、「テーブルの作成」をご参照ください。
- CSV または TXT データファイルがローカルコンピューターにダウンロードされていること。このトピックでは、次のサンプルデータファイルを使用します。
- 非パーティション化テーブルのデータファイル:banking.txt。
- パーティションテーブルのデータファイル:banking_nocreditcard.csv、banking_uncreditcard.csv、banking_yescreditcard.csv。
ステップ 1:データのインポート
Tunnel Upload コマンドを使用して、ローカルファイルから MaxCompute テーブルにデータをインポートできます。トンネル操作の詳細については、「トンネルコマンド」をご参照ください。インポートプロセスは次のとおりです:
- データファイルのパスを確認します。
データファイルのパスには 2 つのオプションがあります。ファイルを MaxCompute クライアントの
binフォルダに保存する場合、アップロードパスはfilename.extensionです。ファイルを D ドライブの test フォルダなど、別のパスに保存する場合、アップロードパスはD:\test\filename.extensionです。このトピックでは、サンプルデータファイル
banking.txtは MaxCompute クライアントのbinフォルダに保存されています。banking_yescreditcard.csv、banking_uncreditcard.csv、およびbanking_nocreditcard.csvファイルは D ドライブの test フォルダに保存されています。 - MaxCompute クライアントで Tunnel Upload コマンドを実行してデータをインポートします。
次のコマンドは例です。
OK が表示されると、インポートは完了です。tunnel upload banking.txt bank_data; tunnel upload D:\test\banking_yescreditcard.csv bank_data_pt/credit="yes"; tunnel upload D:\test\banking_uncreditcard.csv bank_data_pt/credit="unknown"; tunnel upload D:\test\banking_nocreditcard.csv bank_data_pt/credit="no";odps@ doc_test_dev>tunnel upload D:\test\banking_yescreditcard.csv bank_data_pt/credit="yes", Upload session: 202105171550120131f60b242a2417 Start upload:D:\test\banking_yescreditcard.csv Using \r\n to split records Upload in strict schema mode: true Total bytes:351 Split input to 1 blocks 2021-05-17 15:47:58 scan block: '1' 2021-05-17 15:47:58 scan block complete, block id: 1 2021-05-17 15:47:58 upload block: '1' 2021-05-17 15:47:59 upload block complete, block id: 1 upload complete, average speed is 351 bytes/s OK
ステップ 2:インポート結果の確認
データがインポートされた後、宛先テーブルのレコード数がデータファイルのレコード数と一致することを確認します。これにより、すべてのデータが正常にインポートされたことを確認できます。
このトピックでは、サンプルデータファイル banking.txt には 41,188 件のレコードが含まれています。banking_yescreditcard.csv、banking_uncreditcard.csv、および banking_nocreditcard.csv ファイルには、それぞれ 3 件、8,597 件、32,588 件のレコードが含まれています。次のコマンドは例です。
select count(*) as num1 from bank_data;
select count(*) as num2 from bank_data_pt where credit="yes";
select count(*) as num3 from bank_data_pt where credit="unknown";
select count(*) as num4 from bank_data_pt where credit="no";
次の結果が返されます。
--The number of records in bank_data.
+------------+
| num1 |
+------------+
| 41188 |
+------------+
--The number of records in bank_data_pt where credit is "yes".
+------------+
| num2 |
+------------+
| 3 |
+------------+
--The number of records in bank_data_pt where credit is "unknown".
+------------+
| num3 |
+------------+
| 8597 |
+------------+
--The number of records in bank_data_pt where credit is "no".
+------------+
| num4 |
+------------+
| 32588 |
+------------+
上記のコマンドで返された結果がサンプルデータファイルのレコード数と一致する場合、インポートは成功です。
次のステップ
データが MaxCompute テーブルにインポートされた後、MaxCompute クライアントで SQL コマンドを実行してデータを処理し、結果をエクスポートできます。詳細については、「SQL コマンドの実行と結果データのエクスポート」をご参照ください。