数据导入概览

将数据加载到 Lakehouse 的方法有多种,具体取决于数据源、数据格式、加载方法以及批量、流式传输或数据传输等。Lakehouse 提供了多种方式的导入,按导入方式划分包括:支持用户SDK导入、支持使用SQL命令导入、支持使用客户端上传数据、支持第三方开源工具、支持Lakehouse Studio可视化界面导入。

导入方式概览

按场景划分

数据源具体案例适用场景
本地文件快速上传使用put命令上传到内部Volume,再使用COPY命令导入适用于源文件上传,并且需要使用SQL进行转换。推荐在上传过程中使用SQL来转换或处理异常数据。
使用Lakehouse Studio的可视化上传界面1. 适用于需要上传小数据量文件的用户,尤其是当文件存储在本地时。2. 用户界面友好,简化上传流程。3.支持多种文件格式,包括CSV、PARQUET、AVRO,满足不同数据格式需求。
使用Jdbc客户端 在 JDBC 2.0.0 之后的版本中,本地 COPY 命令已被弃用。我们建议您使用 PUT 方法将数据上传到 volume 中,然后使用服务器端的 COPY 命令进行导入。1.小数据量在没有可视化界面,适合技术用户,尤其是那些熟悉命令行操作且需要批量处理小数据量的用户。2.快速处理CSV文件,适合脚本化和自动化操作。
批量从对象存储导入数据使用Volume批量从对象存储加载数据1.适用于存储在对象存储上的数据,需要利用SQL性能优势快速读取大量数据。2.高效处理大规模数据集。3.支持直接SQL数据转换,简化数据导入流程。4.支持多种文件格式,包括CSV、PARQUET、ORC
使用Copy命令导入1.具备Volume的优势,区别在于,Copy命令提供更多容错参数和数据导出支持。同时也支持导出到对象存储数据
使用JavaSDK读取Kafka实时写入到Lakehouse中使用Java SDK导入数据 1.适合需要实时数据流处理的业务场景,尤其是熟悉Java的开发人员。2.实时数据读取和写入,确保数据的即时可用性。3.适合自定义数据导入,提供高度灵活性。
自定义SDK读取文件写入到Lakhosue中使用Java SDK导入数据 1.适合一次性大量数据导入,且数据频率不高(时间间隔大于五分钟)。2.支持自定义数据源,提供数据导入的灵活性。
使用Python SDK导入数据1.适合熟悉Python的开发人员,需要自定义数据导入,尤其是数据不在对象存储或集成不支持的数据源。
需要全托管服务和可视化操作的用户,尤其是同步第三方数据源使用Lakehouse Studio数据集成1.支持丰富的数据源和多种导入方式。2.提供实时同步、CDC镜像同步和离线周期调度同步。3.可视化监控,提高数据管理的透明度。

按导入方式

导入方式名称使用方式使用注意事项
COPY 命令COPY INTO 命令1.目前支持的对象存储位置为腾讯云COS和阿里云OSS2. 不支持跨云厂商导入(之后会支持)。比如您的Lakehouse开服在阿里云而对象存储是腾讯云
Volume使用ISNERT INTO... SELECT FORM VOLUEM导入 1.目前支持的对象存储位置为腾讯云COS和阿里云OSS2.不支持跨云厂商导入(之后会支持)。比如您的Lakehouse开服在阿里云而对象存储是腾讯云
数据集成使用数据集成导入1.支持丰富的数据源,性能会比COPY命令和Volume略差
SDK实时数据流(RealtimeStream)实时上传数据1.实时写入的数据可以秒级查询。2.进行表结构更改时,需要先停止实时写入任务,然后在表结构变更后一段时间(大约90分钟)后,重新启动任务。2.table stream、materialized view 和 dynamic table 只能显示已经提交的数据。实时任务写入的数据需要等待 1 分钟才能确认,因此 table stream 也需要等待 1 分钟才能看到。
SDK批量上传(BulkloadStream)批量上传数据Java SDK批量上传数据Python SDK
使用开源工具导入数据AIRBYTEDATAX FLINK CONNECTOR

导入说明

Lakehouse从原理上提供了两种主要的数据写入方法,以适应不同的数据处理需求和性能考量。

SQL引擎直接拉取

Lakehouse的SQL引擎能够直接从对象存储中拉取数据,这一方法特别适合于数据源已经位于对象存储的场景。未来,Lakehouse计划扩展支持更多类型的数据源,以进一步提升数据接入的灵活性。

  • 优势:SQL引擎直接拉取数据,利用其性能优势,可以高效地处理存储在对象存储中的数据。使用COPY命令、Volume支持在导入过程中数据转化
  • 计算资源:执行SQL查询时会消耗计算资源(VirtualCluster),但这种消耗是值得的,因为它提供了强大的数据处理能力。
  • 文件格式:目前支持的文件格式包括CSV、PARQUET和ORC,这些格式都是数据分析和处理中常用的格式。
  • 导入方式:支持多种数据导入方式,如COPY命令、Volume、数据集成离线导入以及SDK批量上传(BulkloadStream)。

向Ingestion Service推送数据

Lakehouse的Ingestion Service为需要实时数据写入的场景提供了解决方案。客户端将数据推送到服务端,由Ingestion Service接收并提交到表中,包括SDK实时数据流(RealtimeStream)和CDC实时写入。

  • 优势:这种方法的优势在于提高了数据写入的实效性,实现了实时写入和实时可读。
  • 资源消耗:目前Ingestion Service处于预览版本,使用该服务暂时不会计费。但请注意,未来会开始收费。
  • 适用场景:适用于需要实时数据流处理的业务场景,如实时分析和即时数据更新。

批量加载建议

批量摄取涉及加载不需要实时处理的大型有界数据集。它们通常以特定的规则频率被摄取,并且所有数据并不是立即到达。对于批量加载,建议使用对象存储来存储传入数据。Lakehouse支持多种文件格式,支持CSV、PARQUET 、ORC文件格式。

联系我们
预约咨询
微信咨询
电话咨询