更新时间:2024-08-05 GMT+08:00

使用Spark执行Hudi样例程序开发思路

场景说明

本章节介绍如何使用Spark操作Hudi执行插入数据、查询数据、更新数据、增量查询、特定时间点查询、删除数据等操作。

详细代码请参考样例代码。

打包项目

  1. 通过IDEA自带的Maven工具,打包项目,生成jar包。具体操作请参考在Linux环境中编包并运行Spark程序

    运行Python样例代码无需通过Maven打包。

  2. 将打包生成的jar包上传到Spark客户端所在服务器的任意目录(例如“ /opt/example/” )下。

运行任务

  1. 登录Spark客户端节点,执行如下命令:

    source 客户端安装目录/bigdata_env

    source 客户端安装目录/Hudi/component_env

  2. 编译构建样例代码后可以使用spark-submit提交命令,执行命令后会依次执行写入、更新、查询、删除等操作:
    • 运行Java样例程序:

      spark-submit --class com.huawei.bigdata.hudi.examples.HoodieWriteClientExample /opt/example/hudi-java-examples-1.0.jar hdfs://hacluster/tmp/example/hoodie_java hoodie_java

      其中:“/opt/example/hudi-java-examples-1.0.jar”为jar包路径,“hdfs://hacluster/tmp/example/hoodie_java”为Hudi表的存储路径,“ hoodie_java”为Hudi表的表名。

    • 运行Scala样例程序:

      spark-submit --class com.huawei.bigdata.hudi.examples.HoodieDataSourceExample /opt/example/hudi-scala-examples-1.0.jar hdfs://hacluster/tmp/example/hoodie_scala hoodie_scala

      其中:“/opt/example/hudi-scala-examples-1.0.jar”为jar包路径,“hdfs://hacluster/tmp/example/hoodie_scala”为Hudi表的存储路径,“ hoodie_Scala”为Hudi表的表名。

    • 运行Python样例程序:

      spark-submit /opt/example/HudiPythonExample.py hdfs://hacluster/tmp/huditest/example/python hudi_trips_cow

      其中:“hdfs://hacluster/tmp/huditest/example/python”为Hudi表的存储路径,“ hudi_trips_cow”为Hudi表的表名。