Apache Hudi是一种数据湖存储格式,在Hadoop文件系统之上提供了更新数据、删除数据以及消费变化数据的能力,详情请参见Apache Hudi。本文为您介绍如何在EMR Serverless Spark中实现Hudi表的读取与写入操作。
前提条件
已创建工作空间,详情请参见创建工作空间。
操作流程
步骤一:创建SQL会话
进入会话管理页面。
在左侧导航栏,选择
。在Spark页面,单击目标工作空间名称。
在EMR Serverless Spark页面,单击左侧导航栏中的会话管理。
在SQL会话页面,单击创建SQL会话。
在创建SQL会话页面的Spark配置区域,配置以下信息,单击创建。详情请参见管理SQL会话。
spark.sql.extensions org.apache.spark.sql.hudi.HoodieSparkSessionExtension spark.sql.catalog.spark_catalog org.apache.spark.sql.hudi.catalog.HoodieCatalog spark.serializer org.apache.spark.serializer.KryoSerializer spark.jars /opt/hudi/hudi-spark.jar
步骤二:读写Hudi表
进入SQL开发页面。
在EMR Serverless Spark页面,单击左侧导航栏中的开发。
在开发目录页签下,单击新建。
在新建对话框中,输入名称(例如users_task),类型使用默认的SparkSQL,然后单击确定。
拷贝如下代码到新增的SparkSQL页签(users_task)中。
CREATE DATABASE IF NOT EXISTS ss_hudi_db; CREATE TABLE ss_hudi_db.hudi_tbl (id INT, name STRING) USING hudi TBLPROPERTIES ( type = 'cow', primaryKey = 'id' ); INSERT INTO ss_hudi_db.hudi_tbl VALUES (1, "a"), (2, "b"); SELECT id, name FROM ss_hudi_db.hudi_tbl ORDER BY id; DROP TABLE ss_hudi_db.hudi_tbl; DROP DATABASE ss_hudi_db;
在数据库下拉列表中选择一个数据库,在会话下拉列表中选择刚刚创建的SQL会话。
单击运行,执行任务。返回信息如下所示。
相关文档
文档内容是否对您有帮助?