导入本地数据
本文档详细介绍了如何将本地数据导入Lakehouse平台。目前,Lakehouse支持三种主要的本地数据导入模式:
- 使用PUT命令上传本地文件,导入到Lakehouse中
- 通过Lakehouse Studio页面可视化上传:适用于小数据量的文件上传,提供用户友好的界面和简化的上传流程。
- 使用Jdbc客户端上传数据:适合技术用户,尤其是需要批量处理小数据量的用户,支持快速处理CSV文件和脚本化、自动化操作。(在jdbc 2.0.0版本该功能已下线,推荐您使用PUT命令上传)
参考文档
应用场景
- Put命令上传文件:适用于源文件上传,并且需要使用SQL进行转换。推荐在上传过程中使用SQL来转换或处理异常数据。 支持CSV、PARQUET、ORC
- Lakehouse Studio页面:适合需要上传小数据量文件的用户,支持CSV、PARQUET、AVRO、ORC、TEXT格式,但不包括压缩文件格式。建议先在本地解压缩再上传。
- Jdbc客户端:仅支持CSV文件格式,不支持压缩文件,适合快速处理和自动化数据导入任务。在 JDBC 2.0.0 之后的版本中,本地 COPY 命令已被弃用。我们建议您使用 PUT 方法将数据上传到 volume 中,然后使用服务器端的 COPY 命令进行导入。
使用案例
使用PUT命令上传数据
Lakehouse目前内置了一些Internal Volume可以存储文件,Internal Volume目前支持USER VOLUME和TABLE VOLUME两种对象类型。我们通过Put命令将文件上传到Internal Volume然后使用COPY命令将Volume数据导入到表中
前置条件
- 已安装命令行工具。或者您也可以使用开源工具如DBeaver、SQL Worksbench/J也可以执行该命令
- 对目标表具有INSERT权限。
- 在命令行中执行PUT命令将文件上传至TABLE VOLUME
- 使用COPY INTO命令导入文件数据至目标表
使用Lakehouse Studio页面上传
使用限制
-
文件格式限制:不支持复杂类型如ARRAY、MAP、STRUCT、JSON、INTERVAL。对于复杂类型数据,建议使用STRING类型映射,并通过Lakehouse SQL函数进行转化。
-
文件大小限制:Lakehouse Studio页面和Jdbc客户端支持的单个文件最大为2GB。
-
COPY命令限制:不支持在Studio页面上使用COPY命令上传本地文件。该命令需要指定本地文件路径,而Studio页面无法访问本地文件系统。 在数据管理中,顶部区域还提供“上传”功能,支持将本地文件通过上传的方式传至云器Lakehouse平台。
点击“上传”按钮,您可以轻松将数据从本地文件加载到云器Lakehouse平台。支持csv和txt两种格式,上传文件的总大小不能超过2GB。
格式说明
-
遇到错误:当数据行中遇到异常数据等错误场景时的处理方式。
-
列分割符:列之间的分割符,只运行使用单个字符。对于csv文件,默认为逗号。
-
换行符:设定换行符的处理方式,Windows系统为\r\n,linux、MAC系统为\n。
-
忽略表头:指上传文件中是否要包含表头。
-
空值表示:指定文件中空值的表达方式。
-
集群:需要选择集群后,才能进行数据上传。
-
数据写入方式:
- 追加写入:不对历史数据做处理,直接追加写入
- 先清空后写入:对表中的历史数据清空,然后写入数据
联系我们