检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
前提条件 已创建OBS的桶。具体OBS操作可以参考《对象存储服务用户指南》。本指导中的OBS桶名都为“dli-test-021”。 已创建DLI的SQL队列。创建队列详细介绍请参考创建队列。 注意:创建队列时,队列类型必须要选择为:SQL队列。
DLI如何访问OBS桶中的数据 创建OBS表。 具体语法请参考《数据湖探索SQL语法参考》。 添加分区。 具体语法请参考《数据湖探索SQL语法参考》。 往分区导入OBS桶中的数据。 具体语法请参考《数据湖探索SQL语法参考》。 查询数据。
使用Flink Jar写入数据到OBS开发指南 概述 DLI提供了使用自定义Jar运行Flink作业并将数据写入到OBS的能力。本章节JAVA样例代码演示将kafka数据处理后写入到OBS,具体参数配置请根据实际环境修改。
Spark作业访问OBS数据时报ResponseCode: 403和ResponseStatus: Forbidden错误 问题现象 Spark程序访问OBS数据时上报如下错误。
重命名分区(只支持OBS表) 功能描述 重命名分区。
spark.hadoop.fs.obs.security.provider 是 无 String OBS AKSK认证机制,使用DEW服务中的CSMS凭证管理,获取OBS的AK、SK。
flink.hadoop.fs.obs.security.provider 是 无 String OBS AKSK认证机制,使用DEW服务中的CSMS凭证管理,获取OBS的AK、SK。
创建OBS外表,由于OBS文件中的某字段存在换行符导致表字段数据错误怎么办? 问题现象 创建OBS外表,因为指定的OBS文件内容中某字段包含回车换行符导致表字段数据错误。
obs_path OBS存储路径。 注意事项 该命令的主要应用场景是针对分区表,如当手动在OBS上面添加分区目录时,再通过上述命令将该新增的分区信息刷新到元数据库中,通过“SHOW PARTITIONS table_name”命令查看新增的分区。
示例 将student表的分区dt='2008-08-08',city='xxx'的OBS路径设置为“obs://bucketName/fileName/student/dt=2008-08-08/city=xxx”。
DLI是否支持导入其他租户共享OBS桶的数据? DLI支持将同一个租户下子账户共享OBS桶中的数据导入,但是租户级别共享OBS桶中的数据无法导入。 DLI不支持导入其他租户共享的OBS桶中的数据,主要是为了确保数据的安全性和数据隔离。
指定筛选条件删除分区(只支持OBS表) 功能描述 指定筛选条件删除分区表的一个或多个分区。 注意事项 该命令仅支持操作OBS表,不支持对DLI表进行操作。 所要删除分区的表必须是已经存在的表,否则会出错。
OBS表压缩率较高怎么办? 当您在提交导入数据到DLI表的作业时,如果遇到Parquet/Orc格式的OBS表对应的文件压缩率较高,超过了5倍的压缩率,您可以通过调整配置来优化作业的性能。
Spark如何将数据写入到DLI表中 使用Spark将数据写入到DLI表中,主要设置如下参数: fs.obs.access.key fs.obs.secret.key fs.obs.impl fs.obs.endpoint 示例如下: import logging from operator
//obs-sink/car-infos'; 从关联OBS路径中恢复分区信息。
关联OBS桶中嵌套的JSON格式数据如何创建表 如果需要关联OBS桶中嵌套的JSON格式数据,可以使用异步模式创建表。
Flink Jar 使用DEW获取访问凭证读写OBS 访问OBS的AKSK为例介绍Flink Jar使用DEW获取访问凭证读写OBS的操作指导。 用户获取Flink作业委托临时凭证 DLI提供了一个通用接口,可用于获取用户在启动Flink作业时设置的委托的临时凭证。
有访问OBS对应的桶的权限,但是Spark作业访问时报错 verifyBucketExists on XXXX: status [403] 该报错信息可能是由于OBS桶被设置为了DLI日志桶,而日志桶不能用于DLI的其他业务功能。
解决措施 请检查OBS桶权限,确保账号有权限访问报错信息中提到的OBS桶。 如果没有,需要联系OBS桶的管理员添加桶的访问权限。 父主题: SQL作业运维类
另外,由于DLI服务端已经内置了Flink的依赖包,并且基于开源社区版本做了安全加固。