检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
SDK获取与安装 Python SDK安装方式 本节操作介绍安装Python SDK的操作指导。 获取DLI SDK 在“DLI SDK DOWNLOAD”页面,单击选择所需的SDK链接,即可获取对应的SDK安装包。 “dli-sdk-python-x.x.x.zip”压缩包,解压后目录结构如下
Print结果表 功能描述 print connector用于将用户输出的数据打印到error文件或者taskmanager的out文件中,方便用户查看,主要用于代码调试,查看输出结果。
Python SDK概述 操作场景 DLI SDK让您无需关心请求细节即可快速使用数据湖探索服务。本节操作介绍如何在Python环境获取并使用SDK。 使用须知 要使用DLI Python SDK访问指定服务的 API ,您需要确认已在DLI管理控制台开通当前服务并完成服务授权。
Java SDK概述 操作场景 DLI Java SDK 让您无需关心请求细节即可快速使用数据湖探索服务。本节操作介绍如何获取并使用Java SDK 。 使用须知 要使用DLI Java SDK 访问指定服务的 API ,您需要确认已在DLI控制台开通当前服务并完成服务授权。 Java
DLI SDK功能矩阵 SDK开发指南指导您如何安装和配置开发环境、如何通过调用DLI SDK提供的接口函数进行二次开发。 Java、Python SDK功能矩阵请参见表1 表1 SDK功能矩阵 语言 功能 内容 Java OBS授权 介绍将OBS桶的操作权限授权给DLI的Java
Python SDK环境配置 操作场景 在进行二次开发时,要准备的开发环境如表1所示。 表1 开发环境 准备项 说明 操作系统 Windows系统,推荐Windows 7及以上版本。 安装Python Python版本建议使用2.7.10和3.4.0以上版本,需要配置Visual
Java SDK环境配置 Java开发环境配置 SDK的获取与安装 初始化DLI客户端 父主题: Java SDK
对象存储OBS源表 功能描述 文件系统连接器可用于将单个文件或整个目录的数据读取到单个表中。 当使用目录作为source路径时,对目录中的文件进行 无序的读取。
对Hudi表进行的每次操作都会产生元数据文件,而元数据文件过多会导致性能问题,所以元数据文件数量最好控制在1000以内。
DLI SDK与API的对应关系 OBS授权 表1 OBS授权相关API&SDK的对应关系表 Class Method Java Method Python Method API Authorize OBS授权 authorizeBucket - POST /v1.0/{project_id
对于Merge-On-Read表,数据使用列式Parquet文件和行式Avro文件存储,更新被记录到增量文件,然后进行同步/异步compaction生成新版本的列式文件。Merge-On-Read表可减少数据摄入延迟,因而进行不阻塞摄入的异步Compaction很有意义。
Python开发环境配置 操作场景 在安装和使用Python SDK前,确保您已经完成开发环境的基本配置。 Python版本建议使用2.7.10和3.4.0以上版本,需要配置Visual C++编译环境Visual C++ build tools 或者 Visual Studio。
Hudi Clean操作说明 什么是Clean Cleaning用于清理Hudi表不再需要的老版本数据文件 (parquet文件或者log文件),减轻存储压力,提升list操作效率。
Java开发环境配置 操作场景 在安装和使用Java SDK前,确保您已经完成开发环境的基本配置。 Java SDK要求使用JDK1.8或更高版本。考虑到后续版本的兼容性,推荐使用1.8版本。 在Java运行环境配置好的情况下,打开windows的命令行,执行命令Java -version
其中parquet格式文件用于存储基础数据,Avro格式文件(也可叫做log文件)用于存储增量数据。 优点:由于写入数据先写delta log,且delta log较小,所以写入成本较低。 缺点:需要定期合并整理compact,否则碎片文件较多。
VACUUM delta_table0; VACUUM delta_table0 RETAIN 168 HOURS;--单位只支持HOURS 优化Delta表 为了提高查询速度,Delta Lake支持优化数据在存储中的布局,这会将许多较小的文件压缩为较大的文件。
导出DLI表数据至OBS中 支持将数据从DLI表中导出到OBS服务中,导出操作将在OBS服务新建文件夹,或覆盖已有文件夹中的内容。 注意事项 支持导出json格式的文件,且文本格式仅支持UTF-8。
OBS授权 前提条件 已参考Java SDK概述配置Java SDK环境。 已参考初始化DLI客户端完成客户端DLIClient的初始化。 样例代码 用户可以使用OBS授权操作的接口,将OBS桶的操作权限授权给DLI, 用于保存用户作业的数据和作业的运行日志等。 示例代码如下: 1
队列相关 前提条件 已参考Java SDK概述配置Java SDK环境。 已参考初始化DLI客户端完成客户端DLIClient的初始化。 创建队列 DLI提供创建队列的接口,您可以使用该接口创建队列。示例代码如下: 1 2 3 4 5 6 7 8 9 private static
队列相关 约束限制 当前使用SDK创建的作业不支持在default队列上运行。 查询所有队列 DLI提供查询队列列表接口,您可以使用该接口并选择相应的队列来执行作业。示例代码如下: 1 2 3 4 5 6 7 8 9 def list_all_queues(dli_client):