检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
SQL作业执行完成后,修改表名导致datasize不正确怎么办? 在执行SQL作业后立即修改表名,可能会导致表的数据大小结果不正确。 这是因为DLI在执行SQL作业时,会对表进行元数据更新,如果在作业执行完成前修改了表名,会和作业的元数据更新过程冲突,从而影响对数据大小的判断。
参数说明 表1 参数说明 参数 是否必选 说明 connector.type 是 数据源类型,‘jdbc’表示使用JDBC connector,必须为jdbc connector.url 是 数据库的URL connector.table 是 读取数据库中的数据所在的表名 connector
创建DLI表相关语法 使用DataSource语法创建DLI表 使用Hive语法创建DLI表 删除表相关语法 删除表 查看表相关语法 查看所有表 查看建表语句 查看表属性 查看指定表所有列 查看指定表所有分区 查看表统计信息 修改表相关语法 添加列 分区表相关语法 添加分区(只支持OBS表)
SCHEMA 语法 DROP (DATABASE|SCHEMA) [IF EXISTS] databasename [RESTRICT|CASCADE] 描述 从Catalog中删除指定的数据库,如果数据库中包含表,则必须在执行DROP DATABASE之前删除这些表,或者使用CASCADE模式。
设置MySQL和Kafka的安全组,添加入向规则使其对Flink的队列网段放通。参考测试地址连通性分别根据MySQL和Kafka的地址测试队列连通性。若能连通,则表示跨源已经绑定成功,否则表示未成功。 连接MySQL数据库实例,在flink数据库中创建相应的表,作为维表,表名为area_info,SQL语句如下:
在DBeaver客户端单击“数据库 > 新建数据库连接”,选择步骤1:在DBeaver新建DLI JDBC驱动中创建的数据驱动。 图4 新建数据库连接 单击“完成”,即可连接到DLI。在“数据库导航”栏可查看到连接的数据库信息。 通过新建的连接即可对DLI执行后续的数据查询相关工作。 步骤3:在DBeaver编写SQL查询
跨源连接RDS表中create_date字段类型是datetime,为什么DLI中查出来的是时间戳呢? Spark中没有datetime数据类型,其使用的是TIMESTAMP类型。 您可以通过函数进行转换。 例如: select cast(create_date as string)
DWS结果表 功能描述 DLI将Flink作业的输出数据输出到数据仓库服务(DWS)中。DWS数据库内核兼容PostgreSQL,PostgreSQL数据库可存储更加复杂类型的数据,支持空间信息服务、多版本并发控制(MVCC)、高并发,适用场景包括位置应用、金融保险、互联网电商等。
步骤3:创建RDS数据库和表 登录RDS管理控制台,在“实例管理”界面,选择已创建的RDS MySQL实例,选择操作列的“更多 > 登录”,进入数据管理服务实例登录界面。 输入实例登录的用户名和密码。单击“登录”,即可进入RDS MySQL数据库并进行管理。 在数据库实例界面,单
db_name 数据库名称,由字母、数字和下划线(_)组成。不能是纯数字,且不能以数字和下划线开头。 table_name 表名称。 注意事项 所要删除的表必须是当前数据库下存在的,否则会出错,可以通过添加IF EXISTS来避免出错。 示例 参考创建OBS表或者创建DLI表中的示例描述创建对应的表。
DWS源表(不推荐使用) 功能描述 DLI将Flink作业从数据仓库服务(DWS)中读取数据。DWS数据库内核兼容PostgreSQL,PostgreSQL数据库可存储更加复杂类型的数据,支持空间信息服务、多版本并发控制(MVCC)、高并发,适用场景包括位置应用、金融保险、互联网电商等。
DWS结果表 功能描述 DLI将Flink作业的输出数据输出到数据仓库服务(DWS)中。DWS数据库内核兼容PostgreSQL,PostgreSQL数据库可存储更加复杂类型的数据,支持空间信息服务、多版本并发控制(MVCC)、高并发,适用场景包括位置应用、金融保险、互联网电商等。
参数说明 表1 参数说明 参数 描述 table_name 表名称。 db_name 数据库名称。 注意事项 所指定的表必须是数据库中存在的表,否则会出错。 示例 查看student表中的所有列。 1 SHOW COLUMNS IN student; 父主题: 查看表
SS_META) 解决方案 需要给执行作业的用户赋数据库的操作权限,具体操作参考如下: 在DLI管理控制台左侧,单击“数据管理”>“库表管理”。 单击所选数据库“操作”栏中的“权限管理”,将显示该数据库对应的权限信息。 在数据库权限管理页面右上角单击“授权”。 在“授权”弹出框中
资源,涉及VPC、DMS、DLI、RDS。 步骤2:获取DMS连接地址并创建Topic。获取DMS Kafka实例连接地址并创建DMS Topic。 步骤3:创建RDS数据库表。获取RDS实例内网地址,登录RDS实例创建RDS数据库及MySQL表。 步骤4:创建DLI增强型跨源。
设置DWS和Kafka的安全组,添加入向规则使其对Flink的队列网段放通。参考测试地址连通性分别根据DWS和Kafka的地址测试队列连通性。若能连通,则表示跨源已经绑定成功,否则表示未成功。 连接DWS数据库实例,在DWS中创建相应的表,作为维表,表名为area_info,SQL语句如下:
参数说明 表1 参数说明 参数 是否必选 说明 connector.type 是 数据源类型,‘jdbc’表示使用JDBC connector,必须为jdbc connector.url 是 数据库的URL connector.table 是 读取数据库中的数据所在的表名 connector
因此,该问题为验证方式不正确造成。 参考信息 插入数据的SQL语法,请参考《数据湖探索Spark SQL语法参考》。 父主题: DLI数据库和表类
操作查看创建的数据库和表。 可以在DLI控制台,左侧导航栏,单击“SQL编辑器”。在“数据库”中已显示创建的数据库“test_sparkapp”。 图14 查看创建的数据库 双击数据库名,可以在数据库下查看已创建成功的DLI和OBS表。 图15 查看表 双击DLI表名dli_te
DLI分区内表导入的文件不包含分区列的数据,导致数据导入完成后查询表数据失败怎么办? 问题现象 DLI分区内表导入了CSV文件数据,导入的文件数据没有包含对应分区列的字段数据。分区表查询时需要指定分区字段,导致查询不到表数据。 问题根因 DLI分区内表在导入数据时,如果文件数据没