检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
2024年1月后新注册使用DLI服务的用户,且使用Spark3.3及以上版本的引擎,在使用DataSource语法创建表时支持使用CTAS创建分区表。
添加分区(只支持OBS表) 功能描述 创建OBS分区表成功后,OBS表实际还没有生成分区信息。生成分区信息主要有以下两种场景: 给OBS分区表插入对应的分区数据,数据插入成功后OBS表才会生成分区元数据信息,后续则可以根据对应分区列进行查询等操作。
对象存储OBS结果表 功能描述 FileSystem sink用于将数据输出到分布式文件系统HDFS或者对象存储服务OBS等文件系统。适用于数据转储、大数据分析、备份或活跃归档、深度或冷归档等场景。 考虑到输入流可以是无界的,每个桶中的数据被组织成有限大小的Part文件。
前提条件 已创建OBS的桶。具体OBS操作可以参考《对象存储服务用户指南》。本指导中的OBS桶名都为“dli-test-021”。 已创建DLI的SQL队列。创建队列详细介绍请参考创建队列。 注意:创建队列时,队列类型必须要选择为:SQL队列。
CSV 数据源路径 直接输入路径或单击选择OBS的路径,如果没有合适的桶可直接跳转OBS创建。 创建OBS表时指定的路径必须是文件夹,如果建表路径是文件将导致导入数据失败。 当OBS的目录下有同名文件夹和文件时,数据导入指向该路径会优先指向文件而非文件夹。
本例在华东-上海二区域购买按需计费的弹性资源池。相关参数说明如表3所示。 表3 参数说明 参数名称 参数说明 配置样例 计费模式 选择弹性资源池计费模式。 按需计费 区域 选择弹性资源池所在区域。 华东-上海二 项目 每个区域默认对应一个项目,由系统预置。
Spark Jar 使用DEW获取访问凭证读写OBS 操作场景 DLI将Spark Jar作业并的输出数据写入到OBS时,需要配置AKSK访问OBS,为了确保AKSK数据安全,您可以通过数据加密服务(Data Encryption Workshop,DEW)、云凭据管理服务(Cloud
Flink Jar 使用DEW获取访问凭证读写OBS 操作场景 DLI将Flink Jar作业的输出数据写入到OBS时,需要配置AKSK访问OBS,为了确保AKSK数据安全,您可以通过数据加密服务(Data Encryption Workshop,DEW)、云凭据管理服务(Cloud
约束与限制 需要在DLI控制台下“全局配置 > 服务授权”开启Tenant Adminstrator(全局服务)。 写入数据到OBS的桶必须为主账号下所创建的OBS桶。 使用Flink1.15版本的计算引擎时,需要用户自行配置委托,否则可能影响作业运行。
重命名分区(只支持OBS表) 功能描述 重命名分区。
DLI如何访问OBS桶中的数据 创建OBS表。 具体语法请参考《数据湖探索SQL语法参考》。 添加分区。 具体语法请参考《数据湖探索SQL语法参考》。 往分区导入OBS桶中的数据。 具体语法请参考《数据湖探索SQL语法参考》。 查询数据。
创建OBS外表,由于OBS文件中的某字段存在换行符导致表字段数据错误怎么办? 问题现象 创建OBS外表,因为指定的OBS文件内容中某字段包含回车换行符导致表字段数据错误。
obs_path OBS存储路径。 注意事项 该命令的主要应用场景是针对分区表,如当手动在OBS上面添加分区目录时,再通过上述命令将该新增的分区信息刷新到元数据库中,通过“SHOW PARTITIONS table_name”命令查看新增的分区。
Spark作业访问OBS数据时报ResponseCode: 403和ResponseStatus: Forbidden错误 问题现象 Spark程序访问OBS数据时上报如下错误。
示例 将student表的分区dt='2008-08-08',city='xxx'的OBS路径设置为“obs://bucketName/fileName/student/dt=2008-08-08/city=xxx”。
OBS表压缩率较高怎么办? 当您在提交导入数据到DLI表的作业时,如果遇到Parquet/Orc格式的OBS表对应的文件压缩率较高,超过了5倍的压缩率,您可以通过调整配置来优化作业的性能。
通用队列操作OBS表如何设置AK/SK (推荐)方案1:使用临时AK/SK 建议使用临时AK/SK,获取方式可参见统一身份认证服务_获取临时AK/SK。 认证用的ak和sk硬编码到代码中或者明文存储都有很大的安全风险,建议在配置文件或者环境变量中密文存放,使用时解密,确保安全。
obsEndPoint 是 obs.cn-north-1.myhuaweicloud.com OBS服务的域名。 在地区和终端节点获取OBS对应区域的域名。 bucketName 是 - OBS上的桶名称。
DLI是否支持导入其他租户共享OBS桶的数据? DLI支持将同一个租户下子账户共享OBS桶中的数据导入,但是租户级别共享OBS桶中的数据无法导入。 DLI不支持导入其他租户共享的OBS桶中的数据,主要是为了确保数据的安全性和数据隔离。
指定筛选条件删除分区(只支持OBS表) 功能描述 指定筛选条件删除分区表的一个或多个分区。 注意事项 该命令仅支持操作OBS表,不支持对DLI表进行操作。 所要删除分区的表必须是已经存在的表,否则会出错。