检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
Q:作业运行正常,但是DWS中一直没有数据怎么办? A:请分别排查以下场景: 查看jobmanager和taskmanager的日志是否有错误抛出。日志查看操作步骤如下: 登录DLI管理控制台,选择“作业管理 > Flink作业”。 单击对应的Flink作业名称,选择“运行日志”,单击“OBS桶”,根据作业运行的日期,找到对应日志的文件夹。
方法查询的数据都为DataFrame对象,可以直接进行查询单条记录等操作(在“步骤4”中,提到将DataFrame数据注册为临时表)。 where where 方法中可传入包含and 和 or 的条件筛选表达式,返回过滤后的DataFrame对象,示例如下: 1 jdbcDF.where("id
需要为yyyy-MM-dd HH:mm:ss 注意事项 DLI数据多版本功能当前仅支持通过Hive语法创建的OBS表,具体建表SQL语法可以参考使用Hive语法创建OBS表。 该命令不会删除当前版本数据。 示例 删除dliTable表在2021-09-25 23:59:59之前生
SDK提供的接口函数进行二次开发。 Java、Python SDK功能矩阵请参见表1 表1 SDK功能矩阵 语言 功能 内容 Java OBS授权 介绍将OBS桶的操作权限授权给DLI的Java SDK使用说明。 队列相关 介绍创建队列、获取默认队列、查询所有队列、删除队列的Java SDK使用说明。
--指定分区, 支持多级分区 location 'obs://bucket/path/data_partition' --指定路径,使用DLI提供的元数据服务时只支持创建OBS表 options( type='mor',
------------------------------------------------------------------------- web obs://bucket/user/hive/warehouse/web.db dli USER (1 row) 父主题: 辅助命令语法
snapshot同时也作为默认值,因此可以缺省本配置项 .load("obs://bucket/to_your_table"); // 指定读取的hudi表路径,DLI仅支持使用OBS路径 dataFrame.show(100); // 2. 通过SparkSession
型跨源连接优先于增强型跨源连接。推荐使用增强型跨源连接。 DLI提供的default队列不支持创建跨源连接。 Flink作业访问DIS,OBS和SMN数据源,无需创建跨源连接,可以直接访问。 增强型跨源仅支持包年包月队列、按需计费模式下的专属队列。 权限要求 增强型跨源连接需要使
端口:连接Kyuubi的端口,Hive Thrift协议对接,默认端口10009。 身份验证:本例选择用户名的认证方式。 用户名:Kyuubi用户名。 单击“登录”连接Kyuubi。 常用操作:SQL作业参数设置 在sql语句的末尾添加注解参数。 -- @set 参数 示例: -- @set dli
参数描述 参数 描述 是否必填 path 需要查询的FS路径 是 示例 call show_invalid_parquet(path => 'obs://path/hudi_table/dt=2021-08-28'); 注意事项 使用由DLI提供的元数据服务时,不支持本命令。 权限需求
数据迁移数据类型映射 将其他云服务或业务平台数据迁移到DLI ,或者将DLI数据迁移到其他云服务或业务平台时,涉及到源和目的端数据类型的转换和映射,根据表2可以获取到源和目的端的数据类型映射关系。 表2 数据类型映射表 MySQL Hive DWS Oracle PostgreSQL Hologres
WITH ( 'connector' = 'filesystem', 'format' = 'orc', 'path' = 'obs://xx' ); insert into sink select * from kafkaSource; 向kafka的作为source的topic中插入下列数据:
Hudi支持使用Spark SQL操作Hudi的DDL/DML的语法。但在使用DLI提供的元数据提交SparkSQL作业时,部分直接操作OBS路径的SQL语法暂不支持,详细说明请参考DLI Hudi SQL语法参考。 不支持在HetuEngine中写Hudi表,以及修改Hudi表结构,仅支持读Hudi表。
所在的位置,并指定了数据的结构,例如列名称、数据类型和表名称。数据库是表的逻辑分组。 OBS表、DLI表、CloudTable表 不同表类型表示不同的数据存储位置。 OBS表表示数据存储在OBS服务的桶中。 DLI表表示数据存储在本服务内部的表中。 CloudTable表表示数据储存在CloudTable服务的表中。
sql-dialect 属性指定 1 set table.sql-dialect=hive; 注意事项 Hive方言只能用于操作Hive对象,并要求当前Catalog是一个HiveCatalog 。 Hive方言只支持db.table这种两级的标识符,不支持带有Catalog名字的标识符。更多信息请参考Apache
'properties.connector.kerberos.krb5' = 'obs://xx/krb5.conf', --krb5_conf路径 'properties.connector.kerberos.keytab' = 'obs://xx/user.keytab' --keytab路径
'hudi_table1', op => 'run', timestamp => 'xxx'); call run_compaction(path => 'obs://bucket/path/hudi_table1', op => 'run', timestamp => 'xxx'); 注意事项 compaction操作仅支持MOR表。
提交SQL作业:提交SQL作业,创建数据库db1、表tb1、在表中插入数据,并查询数据 接口相关信息 URI格式:POST /v1.0/{project_id}/jobs/submit-job {project_id}信息请从获取项目ID获取。 请求参数说明详情,请参见提交SQL作业(推荐)。 请求示例 描
否 Boolean 判断是否为管理用户,false表示不是管理用户,true表示是管理用户。 object 否 String 该用户有权限的对象: “databases.数据库名.tables.表名”,用户在当前表上的权限。 “databases.数据库名.tables.表名.columns
first; --修改分区表的存储位置(需要先在obs上创建目录,执行语句后,无法查到之前插入的那条数据) alter table altercolumn4 partition (c=500) set Location 'obs://bucket/user/hive/warehouse/c500';