检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
直接输入路径或单击选择OBS的路径,如果没有合适的桶可直接跳转OBS创建。 创建OBS表时指定的路径必须是文件夹,如果建表路径是文件将导致导入数据失败。 当OBS的目录下有同名文件夹和文件时,数据导入指向该路径会优先指向文件而非文件夹。 说明: 路径同时支持文件和文件夹。 obs://DLI/sampledata
SQL作业分析OBS数据 DLI支持将数据存储到OBS上,后续再通过创建OBS表即可对OBS上的数据进行分析和处理。 本指导中的操作内容包括:创建OBS表、导入OBS表数据、插入和查询OBS表数据等内容来帮助您更好的在DLI上对OBS表数据进行处理。 前提条件 已创建OBS的桶。具体
上传数据到OBS桶 OBS控制台 将测试数据上传到OBS桶下。 3 新建Maven工程,配置pom文件 IntelliJ IDEA 参考样例代码说明,编写程序代码读取OBS数据。 4 编写程序代码 5 调试,编译代码并导出Jar包 6 上传Jar包到OBS和DLI OBS控制台 DLI控制台
Flink镜像的版本。 image 否 String 自定义镜像。格式为:组织名/镜像名:镜像版本。 当用户设置“feature”为“custom”时,该参数生效。用户可通过与“feature”参数配合使用,指定作业运行使用自定义的Flink镜像。关于如何使用自定义镜像,请参考《数据湖探索用户指南》。
DLI如何访问OBS桶中的数据 创建OBS表。 具体语法请参考《数据湖探索SQL语法参考》。 添加分区。 具体语法请参考《数据湖探索SQL语法参考》。 往分区导入OBS桶中的数据。 具体语法请参考《数据湖探索SQL语法参考》。 查询数据。 具体语法请参考《数据湖探索SQL语法参考》。
重命名分区(只支持OBS表) 功能描述 重命名分区。 语法格式 1 2 3 ALTER TABLE table_name PARTITION partition_specs RENAME TO PARTITION partition_specs; 关键字 PARTITION:分区。
参数描述 参数 描述 table_name 表名称。 partition_specs 分区字段。 obs_path OBS存储路径。 注意事项 该命令的主要应用场景是针对分区表,如当手动在OBS上面添加分区目录时,再通过上述命令将该新增的分区信息刷新到元数据库中,通过“SHOW PARTITIONS
Key),需要具备访问OBS对应桶的权限。 spark.hadoop.fs.obs.security.provider 是 无 String OBS AKSK认证机制,使用DEW服务中的CSMS凭证管理,获取OBS的AK、SK。 默认取值为com.dli.provider.UserObsBasicCredentialProvider
创建OBS外表,由于OBS文件中的某字段存在换行符导致表字段数据错误怎么办? 问题现象 创建OBS外表,因为指定的OBS文件内容中某字段包含回车换行符导致表字段数据错误。 例如,当前创建的OBS外表语句为: CREATE TABLE test06 (name string, id
修改表分区位置(只支持OBS表) 功能描述 修改表分区的位置。 语法格式 1 2 3 ALTER TABLE table_name PARTITION partition_specs SET LOCATION obs_path; 关键字 PARTITION:分区。 LOCATION:分区路径。
Spark作业访问OBS数据时报ResponseCode: 403和ResponseStatus: Forbidden错误 问题现象 Spark程序访问OBS数据时上报如下错误。 Caused by: com.obs.services.exception.ObsException:
Key),需要具备访问OBS对应桶的权限。 flink.hadoop.fs.obs.security.provider 是 无 String OBS AKSK认证机制,使用DEW服务中的CSMS凭证管理,获取OBS的AK、SK。 默认取值为com.dli.provider.UserObsBasicCredentialProvider
指定筛选条件删除分区(只支持OBS表) 功能描述 指定筛选条件删除分区表的一个或多个分区。 注意事项 该命令仅支持操作OBS表,不支持对DLI表进行操作。 所要删除分区的表必须是已经存在的表,否则会出错。 所要删除的分区必须是已经存在的,否则会出错,可通过语句中添加“IF EXISTS”避免该错误。
DLI是否支持导入其他租户共享OBS桶的数据? DLI支持将同一个租户下子账户共享OBS桶中的数据导入,但是租户级别共享OBS桶中的数据无法导入。 DLI不支持导入其他租户共享的OBS桶中的数据,主要是为了确保数据的安全性和数据隔离。 对于需要跨租户共享和分析数据的场景,建议先将
OBS表压缩率较高怎么办? 当您在提交导入数据到DLI表的作业时,如果遇到Parquet/Orc格式的OBS表对应的文件压缩率较高,超过了5倍的压缩率,您可以通过调整配置来优化作业的性能。 具体方法:在submit-job请求体conf字段中配置“dli.sql.files.ma
Flink镜像的版本。 image 否 String 自定义镜像。格式为:组织名/镜像名:镜像版本。 当用户设置“feature”为“custom”时,该参数生效。用户可通过与“feature”参数配合使用,指定作业运行使用自定义的Flink镜像。关于如何使用自定义镜像,请参考《数据湖探索用户指南》。
} 表1 参数说明 参数名 具体含义 举例 output.path 数据写入的OBS路径 obs://bucket/output checkpoint.path checkpoint的OBS路径 obs://bucket/checkpoint JAVA样例代码(Flink 1.12)
关联OBS桶中嵌套的JSON格式数据如何创建表 如果需要关联OBS桶中嵌套的JSON格式数据,可以使用异步模式创建表。 以下是一个示例的建表语句,展示了如何使用 JSON 格式选项来指定 OBS 中的路径: create table tb1 using json options(path
Spark如何将数据写入到DLI表中 使用Spark将数据写入到DLI表中,主要设置如下参数: fs.obs.access.key fs.obs.secret.key fs.obs.impl fs.obs.endpoint 示例如下: import logging from operator import
path = "obs://obs-sink/car_infos", encode = "parquet", ak = "{{myAk}}", sk = "{{mySk}}" ); 数据最终在OBS中的存储目录结构为:obs://obs-sink/car