本文为您介绍基于DLF通过使用SQL方式将数据从Hologres内部表回写至OSS,并在外部引擎通过SQL直接查询写入的数据。
前提条件
您已完成DLF数据湖的构建和环境配置并通过Hologres外部表能正常读取OSS数据湖,详情请参见OSS数据湖使用说明。
导出数据至数据湖
在数据更新的场景下,需要将数据回写至OSS,之后再由EMR等外部引擎进行处理,此时,您可以直接通过SQL向外部表插入数据。
说明
目前仅支持导出ORC 、Parquet、CSV、SequenceFile、Hudi 、Paimon格式的数据。
回写数据至OSS。
使用如下SQL,将Hologres内部表的数据回写入OSS。
INSERT INTO <foreign_table_name>(<col_name>,......) SELECT <col_name>,...... FROM <holo_table_name>;
参数说明如下:
参数
说明
foreign_table_name
创建的外部表名称。
holo_table_name
导出数据的Hologres内部表名称。
col_name
表中的数据列名称。
查询回写数据。
写入完成后,您可以在EMR(Hive或Spark)中运行如下SQL查询到写入的数据。
SELECT * FROM <foreign_table_name> WHERE <col_name> = value;
返回成功则表示:Hologres已经成功将数据回写到OSS,并且EMR也可以顺利读取。