本文为您介绍如何通过MaxCompute客户端,使用Tunnel Upload将本地数据文件中的数据导入创建好的表中。
前提条件
请确认您已满足如下条件:- 已创建表。
更多创建表操作,请参见创建表。
- 已将CSV或TXT数据文件下载至本地。本文提供的数据文件样例如下:
- 导入非分区表的数据文件:banking.txt。
- 导入分区表的数据文件:banking_nocreditcard.csv、banking_uncreditcard.csv和banking_yescreditcard.csv。
步骤一:导入数据
基于Tunnel Upload将本地数据文件内容导入MaxCompute的表中。更多Tunnel操作,请参见Tunnel命令。导入数据的操作流程如下:
- 确认数据文件的保存路径。
数据文件的保存路径有两种选择:您可以将文件直接归档至MaxCompute客户端的
bin目录中,上传路径为文件名.后缀名;也可以将文件归档至其他路径下,例如D盘的test文件夹,上传路径为D:\test\文件名.后缀名。假设,本文中的示例数据文件
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
步骤二:确认导入结果
导入数据后,您需要查看导入的目标表与数据文件中的数据条数是否一致,确认所有数据均已成功导入。
本文中的示例数据文件banking.txt中有41188条数据,banking_yescreditcard.csv、banking_uncreditcard.csv和banking_nocreditcard.csv分别有3、8597、32588条数据。命令示例如下。
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";
返回结果如下。
--bank_data中的数据条数。
+------------+
| num1 |
+------------+
| 41188 |
+------------+
--bank_data_pt中credit值为yes的数据条数。
+------------+
| num2 |
+------------+
| 3 |
+------------+
--bank_data_pt中credit值为unknown的数据条数。
+------------+
| num3 |
+------------+
| 8597 |
+------------+
--bank_data_pt中credit值为no的数据条数。
+------------+
| num4 |
+------------+
| 32588 |
+------------+
上述命令的返回结果与示例数据文件的数据条数一致,则表明导入成功。
后续步骤
当数据导入到MaxCompute的表中后,您可以在MaxCompute客户端上运行SQL命令处理数据并导出运行结果,请参见运行SQL命令并导出结果数据。
该文章对您有帮助吗?