将OBS数据导入至DLI
本节操作介绍将OBS上的数据导入到DLI控制台的表中。
注意事项
- 导入数据时只能指定一个路径,路径中不能包含逗号。
- 如果将CSV格式数据导入分区表,需在数据源中将分区列放在最后一列。
- 不建议对同一张表并发导入数据,因为有一定概率发生并发冲突,导致导入失败。
- 导入文件支持CSV,Parquet,ORC,JSON和Avro格式,且编码格式仅支持UTF-8。
前提条件
待导入的数据已存储到OBS上。
导入数据步骤
- 导入数据的入口有两个,分别在“数据管理”和“SQL编辑器”页面。
- 在“数据管理”页面导入数据。
- 在管理控制台的左侧,选择“数据管理”>“库表管理”。
- 单击需导入数据的表对应的数据库名称,进入该数据库的“表管理”页面。
- 在目标表“操作”栏中选择“更多”中的“导入”,弹出“导入数据”页面。
图1 导入数据
- 在“SQL编辑器”页面导入数据。
- 在管理控制台的左侧,单击“SQL编辑器”。
- 在“SQL编辑器”页面左侧导航栏选择“数据库”页签,鼠标左键单击需要导入数据的表对应的数据库名,进入“表”区域。
- 鼠标左键单击对应表右侧的,在列表菜单中选择“导入”,弹出“导入数据”页面。
图2 SQL编辑器-导入数据
- 在“数据管理”页面导入数据。
- 在“导入数据”页面,参见表1填写相关信息。
表1 参数说明 参数名称
描述
示例
数据库
当前表所在的数据库。
-
表名称
当前表名称。
-
队列
选择队列。
-
文件格式
导入数据源的文件格式。导入支持CSV,Parquet,ORC,JSON,Avro格式。编码格式仅支持UTF-8。
CSV
数据源路径
直接输入路径或单击选择OBS的路径,如果没有合适的桶可直接跳转OBS创建。
- 创建OBS表时指定的路径必须是文件夹,如果建表路径是文件将导致导入数据失败。
- 当OBS的目录下有同名文件夹和文件时,数据导入指向该路径会优先指向文件而非文件夹。
说明:路径同时支持文件和文件夹。
obs://DLI/sampledata.csv
表头:无/有
当“文件格式”为“CSV”时该参数有效。设置导入数据源是否含表头。
选中“高级选项”,勾选“表头:无”前的方框,“表头:无”显示为“表头:有”,表示有表头;取消勾选即为“表头:无”,表示无表头。
-
自定义分隔符
当“文件格式”为“CSV”,勾选自定义分隔符前的方框时,该参数有效。
支持选择如下分隔符。
- 逗号(,)
- 竖线(|)
- 制表符(\t)
- 其他:输入自定义分隔符
默认值:逗号(,)
自定义引用字符
当“文件格式”为“CSV”,勾选自定义引用字符前的方框时,该参数有效。
支持选择如下引用字符。
- 单引号(')
- 双引号(")
- 其他:输入自定义引用字符
默认值:单引号(')
自定义转义字符
当“文件格式”为“CSV”,并在自定义转义字符前的方框打勾时,该参数有效。
选中高级选项,支持选择如下转义字符。
- 反斜杠(\)
- 其他:输入自定义转义字符
默认值:反斜杠(\)
日期格式
当“文件格式”为“CSV”和“JSON”时此参数有效。
选中“高级选项”,该参数表示表中日期的格式,默认格式为“yyyy-MM-dd”。日期格式字符定义详见加载数据中的“表3 日期及时间模式字符定义”。
2000-01-01
时间戳格式
当“文件格式”为“CSV”和“JSON”时此参数有效。
选中“高级选项”,该参数表示表中时间戳的格式,默认格式为“yyyy-MM-dd HH:mm:ss”。时间戳格式字符定义详见加载数据中的“表3 日期及时间模式字符定义”。
2000-01-01 09:00:00
错误数据存储路径
当“文件格式”为“CSV”和“JSON”时此参数有效。
选中“高级选项”,该参数表示可将错误数据保存到对应的OBS路径中。
obs://DLI/
- 单击“确定”,系统开始导入数据。
- 有两种方式可查看导入的数据。
目前预览只显示导入的前十条数据。
- 在“数据管理”>“库表管理”页面,单击数据库名,在表管理界面对应表的“操作”栏选择“更多”中的“表属性”,在弹框的“预览”页签中,可查看导入的数据
- 在“SQL编辑器”的“数据库”页签中,单击数据库名称,进入对应的表列表,鼠标左键单击对应表右侧的,在列表菜单中选择“表属性”,在弹框的“预览”页签中,可查看导入的数据。
- (可选)可以在“作业管理 > SQL作业”页面,查看该导入作业的状态以及执行结果。