全部产品
弹性计算 会员服务 网络 安全 移动云 数加·大数据分析及展现 数加·大数据应用 管理与监控 云通信 阿里云办公 培训与认证 更多
存储与CDN 数据库 域名与网站(万网) 应用服务 数加·人工智能 数加·大数据基础服务 互联网中间件 视频服务 开发者工具 解决方案 物联网 智能硬件
MaxCompute

导入导出数据

更新时间:2018-04-17 19:51:56

导入导出表数据

Studio 可以将 CSV,TSV 等格式的本地数据文件导入到 MaxCompute 表中,也可将 MaxCompute 中表数据导出数据到本地文件。Studio 是通过 MaxCompute 平台提供的批量数据通道(Tunnel)功能完成的

使用须知

  • 导入导出数据采用 MaxCompute Tunnel 服务,因此要求 Studio 中添加的 MaxCompute Project 必须开通或配置了 Tunnel服务。
  • 导入导出表必须具备相应权限。

导入数据

  1. 打开 项目空间浏览器(Project Explorer) 窗口,在表名上点击右键或在表详细页面的 Data Preview 中字段属性上右键,选择 Import Data Into Table
    import_data_from_table

  2. 在弹出的 Import Data 对话框中,选择导入数据文件的路径,列分隔符(可自定义输入),大小限制,错误容忍行数等参数,点击按钮 OK
    import_table

  3. 提示 Import Data Success,表示数据导入成功,可在表中查看导入的数据。

导出数据

  1. 启动导出表数据有两种方式:
  • 在表名上右键,选择 Export Data From Table
    table_export_menu
  • 在表详细页面的Data Preview 中字段属性上右键,选择 **Export Data From Table
    export_data_from_preview
  1. 弹出Export Data对话框,选择导出数据文件的保存路径,列分隔符(可自定义输入),大小限制,错误容忍行数等,填写完成后点击OK。
    export_table

  2. 提示 Export Data Success,表示数据导出成功,可在目标文件中看到导出的数据。

  3. 用户也可以在 Table 的 Data Preview 窗格中选择右键菜单 Export Grid Data 导出数据。
    table_export_grid_data

    注意:在 Data Preview 窗格的导出数据功能仅导出显示在数据示例(Data Sample),而不一定是表中的全部数据。

新类型导入导出

只需按照约定格式生成文本并存储为csv或tsv格式,就可通过studio导入到table。

下面将详细介绍各个数据类型的转换规则。

基本类型

  1. TINYINT, SMALLINT, INT, BIGINT 直接存储为整型字符串,数值超过类型边界会报错
  2. FLOAT, DOUBLE 存储小数字符串或浮点形式,如:2.342 1E+7
  3. VARCHAR 直接存储为字符串,超过上限会自动截断,不会报错
  4. STRING 直接存储为字符串
  5. DECIMAL 支持整形或浮点型的字符串
  6. BINARY 需要将二进制数据编码为base64 string
  7. DATETIME date time需import dialog中指定的format格式保持一致,格式不匹配将报错
  8. TIMESTAMP timestamp需要按照 yyyy-[m]m-[d]d hh\:mm\:ss[.f...] 格式存储为字符串
  9. BOOLEAN true or false字符串

复合类型

  1. ARRAY 需存储为 JSON 数组,数组元素按照本文约定规则转换成字符串,数组元素支持任意类型
  2. MAP 需存储为 JSON 对象,map key、value按照本文约定规则转换为字符串,value支持任意类型嵌套
  3. STRUCT 需存储为 JSON 对象, struct字段名为string,转换为JSON 对象的key, struct字段值转换为JSON 对象的value,字段值以本文定义规则转换。

示例

array 类型

对于如下所示表结构

列名 列数据类型
c_1 ARRAY<TINYINT>
c_2 ARRAY<INT>
c_3 ARRAY<FLOAT>
c_4 ARRAY<DATETIME>
c_6 ARRAY<TIMESTAMP>
c_7 ARRAY<STRING>

可通过下面所示csv格式导入数据:

  1. c_1,c_2,c_3,c_4,c_6,c_7
  2. "[""1"",""2"",""3""]","[""1"",""2"",""3"",""4""]","[""1.2"",""2.0""]","[""2017-11-11 00:00:00"",""2017-11-11 00:00:00"",""2017-11-11 00:00:00""]","[""2017-11-11 00:00:00.123456789"",""2017-11-11 00:00:00.123456789"",""2017-11-11 00:00:00.123456789""]","[""aaa"",""bbb"",""ccc""]"
  3. "[""1"",""2"",""3""]","[""1"",""2"",""3"",""4""]","[""1.2"",""2.0""]","[""2017-11-11 00:00:00"",""2017-11-11 00:00:00"",""2017-11-11 00:00:00""]","[""2017-11-11 00:00:00.123456789"",""2017-11-11 00:00:00.123456789"",""2017-11-11 00:00:00.123456789""]","[""aaa"",""bbb"",""ccc""]"
  4. "[""1"",""2"",""3""]","[""1"",""2"",""3"",""4""]","[""1.2"",""2.0""]","[""2017-11-11 00:00:00"",""2017-11-11 00:00:00"",""2017-11-11 00:00:00""]","[""2017-11-11 00:00:00.123456789"",""2017-11-11 00:00:00.123456789"",""2017-11-11 00:00:00.123456789""]","[""aaa"",""bbb"",""ccc""]"

注:CSV格式需要对双引号进行转义,通过两个双引号来表示双引号,具体可参考CSV格式规范

map 类型

对于如下所示表结构

列名 列数据类型
c_1 MAP<TINYINT,STRING>
c_2 MAP<STRING,INT>
c_3 MAP<FLOAT,STRING>
c_4 MAP<STRING,DATETIME>
c_5 MAP<STRING,STRING>
c_6 MAP<TIMESTAMP,STRING>

可通过下面所示csv格式导入数据:

  1. c_1,c_2,c_3,c_4,c_5,c_6
  2. "{1:""2345""}","{""123"":""2"",""3"":""4""}","{2.0:""223445"",1.2:""1111""}","{""aaa"":""2017-11-11 00:00:00"",""ccc"":""2017-11-11 00:00:00"",""bbb"":""2017-11-11 00:00:00""}","{""ckey"":""cvalue""}","{""2017-11-11 01:00:00.123456789"":""dddd"",""2017-11-11 00:00:00.123456789"":""aaa"",""2017-11-11 00:01:00.123456789"":""ddd""}"
  3. "{1:""2345""}","{""123"":""2"",""3"":""4""}","{2.0:""223445"",1.2:""1111""}","{""aaa"":""2017-11-11 00:00:00"",""ccc"":""2017-11-11 00:00:00"",""bbb"":""2017-11-11 00:00:00""}","{""ckey"":""cvalue""}","{""2017-11-11 01:00:00.123456789"":""dddd"",""2017-11-11 00:00:00.123456789"":""aaa"",""2017-11-11 00:01:00.123456789"":""ddd""}"
  4. "{1:""2345""}","{""123"":""2"",""3"":""4""}","{2.0:""223445"",1.2:""1111""}","{""aaa"":""2017-11-11 00:00:00"",""ccc"":""2017-11-11 00:00:00"",""bbb"":""2017-11-11 00:00:00""}","{""ckey"":""cvalue""}","{""2017-11-11 01:00:00.123456789"":""dddd"",""2017-11-11 00:00:00.123456789"":""aaa"",""2017-11-11 00:01:00.123456789"":""ddd""}"

struct 类型

对于如下所示表结构

列名 列数据类型
c_struct <RUCT<x:INT,y:VARCHAR(256),z:STRUCT<a:TINYINT,b:STRING>>

可通过下面所示csv格式导入数据:

  1. c_struct
  2. "{""x"":""1000"",""y"":""varchar_test"",""z"":{""a"":""123"",""b"":""stringdemo""}}"
  3. "{""x"":""1000"",""y"":""varchar_test"",""z"":{""a"":""123"",""b"":""stringdemo""}}"
本文导读目录