检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
Flink作业输出流写入数据到OBS,通过该OBS文件路径创建的DLI表查询无数据 问题现象 使用Flink作业输出流写入数据到了OBS中,通过该OBS文件路径创建的DLI表进行数据查询时,无法查询到数据。 例如,使用如下Flink结果表将数据写入到OBS的“obs://obs-sink/car_infos”路径下。
创建OBS表时正确指定OBS路径 场景概述 创建OBS表时,OBS路径须指定到数据库下的具体表层路径。路径格式为:obs://xxx/数据库名/表名。 创建OBS表更多语法介绍请参考《数据湖探索Spark SQL语法参考》。 正确示例 CREATE TABLE `di_selle
select_statement 否 用于CTAS命令,将源表的select查询结果或某条数据插入到新创建的OBS表中。 示例1:创建OBS非分区表 示例说明:创建名为table1的OBS非分区表,并用STORED AS关键字指定该表的存储格式为orc格式。 在您的实际使用中,可以将OBS表存储为textfile
task的并行度来进行解决。 设置spark.sql.shuffle.partitions参数提高并行度 用户可在JDBC中通过set方式设置dli.sql.shuffle.partitions参数。具体方法如下: Statement st = conn.stamte() st.execute("set
添加分区(只支持OBS表) 功能描述 创建OBS分区表成功后,OBS表实际还没有生成分区信息。生成分区信息主要有以下两种场景: 给OBS分区表插入对应的分区数据,数据插入成功后OBS表才会生成分区元数据信息,后续则可以根据对应分区列进行查询等操作。 手工拷贝分区目录和数据到OBS分区表路
0/{project_id}/dli/obs-authorize 参数说明 表1 URI参数说明 参数名称 是否必选 参数类型 说明 project_id 是 String 项目编号,用于资源隔离。获取方式请参考获取项目ID。 请求消息 表2 请求参数说明 参数名称 是否必选 参数类型 说明 obs_buckets
LOCATION:分区路径。 参数说明 表1 参数描述 参数 描述 table_name 表名称。 partition_specs 分区字段。 obs_path OBS存储路径。 注意事项 所要修改位置的表分区必须是已经存在的,否则将报错。 “partition_specs”中的参数默认带有“( )”,例如:PARTITION
指定筛选条件删除分区(只支持OBS表) 功能描述 指定筛选条件删除分区表的一个或多个分区。 注意事项 该命令仅支持操作OBS表,不支持对DLI表进行操作。 所要删除分区的表必须是已经存在的表,否则会出错。 所要删除的分区必须是已经存在的,否则会出错,可通过语句中添加“IF EXISTS”避免该错误。
步骤1:上传数据至OBS 使用DLI查询数据前,需要将数据文件上传至OBS中。 登录OBS管理控制台,进入OBS管理控制台页面。 创建桶,本例桶名以“obs1”为例。 单击页面右上角“创建桶”。 进入“创建桶”页面,选择“区域”,输入“桶名称”。其他参数保持默认值或根据需要选择。
在作业运行界面确认作业是否勾选“保存作业日志”参数。 图1 保存作业日志 是,则执行3。 否,则运行日志不会转储OBS桶,需要先执行2保存作业运行日志。 在作业运行界面勾选“保存作业日志”,在“OBS桶”参数选择存储运行日志的OBS桶。单击“启动”重新运行作业。作业重新运行完成后再执行3及后续步骤。
用户导表到OBS报“path obs://xxx already exists”错误 用户可新建一个不存在的OBS目录或手动删除已存在的OBS目录,再重新提交作业。删除已存在的OBS目录后,目录下的所有数据将会被删除。请谨慎执行此删除操作。 父主题: 作业运维报错
LOCATION:分区路径。 参数说明 表1 参数描述 参数 描述 table_name 表名称。 partition_specs 分区字段。 obs_path OBS存储路径。 注意事项 所要修改位置的表分区必须是已经存在的,否则将报错。 “partition_specs”中的参数默认带有“( )”,例如:PARTITION
创建OBS表 使用DataSource语法创建OBS表 使用Hive语法创建OBS表 父主题: Spark SQL语法参考(即将下线)
rk.sql.shuffle.partitions参数设置的并行度过大,导致缓存区大小不够而导入数据报错。 解决方案 建议可以尝试调小spark.sql.shuffle.partitions参数值来解决缓冲区不足问题。具体该参数设置步骤如下: 登录DLI管理控制台,单击“作业管理
/owner 参数说明 表1 URI 参数 参数名称 是否必选 参数类型 说明 project_id 是 String 项目编号,用于资源隔离。获取方式请参考获取项目ID。 database_name 是 String 数据库名称。 请求消息 表2 请求参数 参数名称 是否必选 参数类型
创建OBS表 使用DataSource语法创建OBS表 使用Hive语法创建OBS表 父主题: 表相关
arkSQL,详细语法描述请参见《数据湖探索Spark SQL语法参考》。 发布区域:全部 使用DLI提交SQL作业查询OBS数据 导出SQL作业结果 OBS 2.0支持DLI Spark作业 DLI在开源Spark基础上进行了大量的性能优化与服务化改造,兼容Apache Spark生态和接口,执行批处理任务。
指定筛选条件删除分区(只支持OBS表) 功能描述 指定筛选条件删除分区表的一个或多个分区。 注意事项 该命令仅支持操作OBS表,不支持对DLI表进行操作。 所要删除分区的表必须是已经存在的表,否则会出错。 所要删除的分区必须是已经存在的,否则会出错,可通过语句中添加“IF EXISTS”避免该错误。
0/{project_id}/streaming/jobs/metrics 参数说明 表1 URI参数说明 参数名称 是否必选 参数类型 说明 project_id 是 String 项目编号,用于资源隔离。获取方式请参考获取项目ID。 请求消息 表2 请求参数说明 参数名称 是否必选 参数类型 说明 job_ids
URI URI格式 GET /v1.0/{project_id}/streaming/jobs/{job_id}/execute-graph 参数说明 表1 URI参数说明 参数名称 是否必选 参数类型 说明 project_id 是 String 项目编号,用于资源隔离。获取方式请参考获取项目ID。