计算
弹性云服务器 ECS
Flexus云服务
裸金属服务器 BMS
弹性伸缩 AS
镜像服务 IMS
专属主机 DeH
函数工作流 FunctionGraph
云手机服务器 CPH
Huawei Cloud EulerOS
网络
虚拟私有云 VPC
弹性公网IP EIP
虚拟专用网络 VPN
弹性负载均衡 ELB
NAT网关 NAT
云专线 DC
VPC终端节点 VPCEP
云连接 CC
企业路由器 ER
企业交换机 ESW
全球加速 GA
安全与合规
安全技术与应用
Web应用防火墙 WAF
企业主机安全 HSS
云防火墙 CFW
安全云脑 SecMaster
DDoS防护 AAD
数据加密服务 DEW
数据库安全服务 DBSS
云堡垒机 CBH
数据安全中心 DSC
云证书管理服务 CCM
边缘安全 EdgeSec
威胁检测服务 MTD
CDN与智能边缘
内容分发网络 CDN
CloudPond云服务
智能边缘云 IEC
迁移
主机迁移服务 SMS
对象存储迁移服务 OMS
云数据迁移 CDM
迁移中心 MGC
大数据
MapReduce服务 MRS
数据湖探索 DLI
表格存储服务 CloudTable
云搜索服务 CSS
数据接入服务 DIS
数据仓库服务 GaussDB(DWS)
数据治理中心 DataArts Studio
数据可视化 DLV
数据湖工厂 DLF
湖仓构建 LakeFormation
企业应用
云桌面 Workspace
应用与数据集成平台 ROMA Connect
云解析服务 DNS
专属云
专属计算集群 DCC
IoT物联网
IoT物联网
设备接入 IoTDA
智能边缘平台 IEF
用户服务
账号中心
费用中心
成本中心
资源中心
企业管理
工单管理
国际站常见问题
ICP备案
我的凭证
支持计划
客户运营能力
合作伙伴支持计划
专业服务
区块链
区块链服务 BCS
Web3节点引擎服务 NES
解决方案
SAP
高性能计算 HPC
视频
视频直播 Live
视频点播 VOD
媒体处理 MPC
实时音视频 SparkRTC
数字内容生产线 MetaStudio
存储
对象存储服务 OBS
云硬盘 EVS
云备份 CBR
存储容灾服务 SDRS
高性能弹性文件服务 SFS Turbo
弹性文件服务 SFS
云硬盘备份 VBS
云服务器备份 CSBS
数据快递服务 DES
专属分布式存储服务 DSS
容器
云容器引擎 CCE
容器镜像服务 SWR
应用服务网格 ASM
华为云UCS
云容器实例 CCI
管理与监管
云监控服务 CES
统一身份认证服务 IAM
资源编排服务 RFS
云审计服务 CTS
标签管理服务 TMS
云日志服务 LTS
配置审计 Config
资源访问管理 RAM
消息通知服务 SMN
应用运维管理 AOM
应用性能管理 APM
组织 Organizations
优化顾问 OA
IAM 身份中心
云运维中心 COC
资源治理中心 RGC
应用身份管理服务 OneAccess
数据库
云数据库 RDS
文档数据库服务 DDS
数据管理服务 DAS
数据复制服务 DRS
云数据库 GeminiDB
云数据库 GaussDB
分布式数据库中间件 DDM
数据库和应用迁移 UGO
云数据库 TaurusDB
人工智能
人脸识别服务 FRS
图引擎服务 GES
图像识别 Image
内容审核 Moderation
文字识别 OCR
AI开发平台ModelArts
图像搜索 ImageSearch
对话机器人服务 CBS
华为HiLens
视频智能分析服务 VIAS
语音交互服务 SIS
应用中间件
分布式缓存服务 DCS
API网关 APIG
微服务引擎 CSE
分布式消息服务Kafka版
分布式消息服务RabbitMQ版
分布式消息服务RocketMQ版
多活高可用服务 MAS
事件网格 EG
企业协同
华为云会议 Meeting
云通信
消息&短信 MSGSMS
云生态
合作伙伴中心
云商店
开发者工具
SDK开发指南
API签名指南
Terraform
华为云命令行工具服务 KooCLI
其他
产品价格详情
系统权限
管理控制台
客户关联华为云合作伙伴须知
消息中心
公共问题
开发与运维
应用管理与运维平台 ServiceStage
软件开发生产线 CodeArts
需求管理 CodeArts Req
部署 CodeArts Deploy
性能测试 CodeArts PerfTest
编译构建 CodeArts Build
流水线 CodeArts Pipeline
制品仓库 CodeArts Artifact
测试计划 CodeArts TestPlan
代码检查 CodeArts Check
代码托管 CodeArts Repo
云应用引擎 CAE
开天aPaaS
云消息服务 KooMessage
云手机服务 KooPhone
云空间服务 KooDrive
文档首页/ MapReduce服务 MRS/ 开发指南(LTS版)/ 获取MRS应用开发样例工程

获取MRS应用开发样例工程

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

MRS样例工程构建流程

MRS样例工程构建流程包括三个主要步骤:

  1. 下载样例工程的Maven工程源码和配置文件,请参见获取MRS样例工程
  2. 配置华为镜像站中SDK的Maven镜像仓库,请参见配置华为开源镜像仓
  3. 根据用户自身需求,构建完整的Maven工程并进行编译开发。

获取MRS样例工程

MRS样例工程下载地址为https://github.com/huaweicloud/huaweicloud-mrs-example

切换分支为与MRS集群相匹配的版本分支,例如“mrs-3.2.0.1”,然后下载压缩包到本地后解压,即可获取各组件对应的样例代码工程。

图1 MRS样例工程代码下载

MRS LTS版本对应样例工程下载地址:

MRS普通版本对应样例工程下载地址:

配置华为开源镜像仓

华为提供开源镜像站,各服务样例工程依赖的jar包都可在华为开源镜像站下载,剩余所依赖的开源jar包请直接从Maven中央库或者其他用户自定义的仓库地址下载。

说明:

本地环境使用开发工具下载依赖的jar包前,需要确认以下信息。

  • 确认本地环境网络正常。

    打开浏览器访问:华为提供开源镜像站,查看网站是否能正常访问。如果访问异常,请先开通本地网络。

  • 确认当前开发工具是否开启代理。下载jar包前需要确保开发工具代理关闭。

    比如以2020.2版本的IntelliJ IDEA开发工具为例,单击“File > Settings > Appearance & Behavior > System Settings > HTTP Proxy”,选择“No proxy”,单击“OK”保存配置。

开源镜像配置方式如下所示:

  1. 使用前请确保您已安装JDK 1.8及以上版本和Maven 3.0及以上版本。
  2. 下载华为开源镜像站提供的“settings.xml”文件,覆盖至“<本地Maven安装目录>/conf/settings.xml”文件即可。

    若无法直接下载,在华为开源镜像站(https://mirrors.huaweicloud.com/)搜索并单击名称为“HuaweiCloud SDK”的版块,按照页面弹出的设置方法进行操作。

  3. 如果不想覆盖Maven配置文件,也可以参考以下方法手动修改“settings.xml”配置文件或者组件样例工程中的“pom.xml”文件,配置镜像仓地址。

    • 配置方法一

      手动在“settings.xml”配置文件的“mirrors”节点中添加以下开源镜像仓地址:

      <mirror>
          <id>repo2</id>
          <mirrorOf>central</mirrorOf>
          <url>https://repo1.maven.org/maven2/</url>
      </mirror>

      “settings.xml”配置文件的“profiles”节点中添加以下镜像仓地址:

      <profile>
          <id>huaweicloudsdk</id>
          <repositories>
              <repository>
                  <id>huaweicloudsdk</id>
                  <url>https://repo.huaweicloud.com/repository/maven/huaweicloudsdk/</url>
                  <releases><enabled>true</enabled></releases>
                  <snapshots><enabled>true</enabled></snapshots>
              </repository>
          </repositories>
      </profile>

      “settings.xml”配置文件的“activeProfiles”节点中添加如下profile地址:

      <activeProfile>huaweicloudsdk</activeProfile>
      说明:
      • 华为开源镜像站不提供第三方开源jar包下载,请配置开源镜像后,额外配置第三方Maven镜像仓库地址。
      • 使用IntelliJ IDEA开发工具时,可单击“File > Settings > Build, Execution, Deployment > Build Tools > Maven”查看当前“settings.xml”文件放置目录。

    • 配置方法二

      请直接在二次开发工程样例工程中的“pom.xml”文件添加如下镜像仓地址:

          <repositories>
      
              <repository>
                  <id>huaweicloudsdk</id>
                  <url>https://mirrors.huaweicloud.com/repository/maven/huaweicloudsdk/</url>
                  <releases><enabled>true</enabled></releases>
                  <snapshots><enabled>true</enabled></snapshots>
              </repository>
      
              <repository>
                  <id>central</id>
                  <name>Maven Central</name>
                  <url>https://repo1.maven.org/maven2/</url>
              </repository>
      
          </repositories>

  4. 配置Maven默认编码和JDK。在“settings.xml”配置文件的“profiles”节点中添加以下内容:

    <profile>
    <id>JDK1.8</id>
    <activation>
    <activeByDefault>true</activeByDefault>
    <jdk>1.8</jdk>
    </activation>
    <properties>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
    <maven.compiler.encoding>UTF-8</maven.compiler.encoding>
    <maven.compiler.source>1.8</maven.compiler.source>
    <maven.compiler.target>1.8</maven.compiler.target>
    <maven.compiler.compilerVersion>1.8</maven.compiler.compilerVersion>
    </properties>
    </profile>

MRS各组件样例工程汇总

MRS样例代码库提供了各组件的基本功能样例工程供用户使用,当前版本各组件提供的样例工程汇总参见表1

表1 MRS组件样例工程汇总

组件

样例工程位置

描述

ClickHouse

clickhouse-examples

指导用户基于Java语言,实现MRS集群中的ClickHouse的数据表创建、删除以及数据的插入、查询等操作。

本工程中包含了建立服务端连接、创建数据库、创建数据表、插入数据、查询数据及删除数据表等操作示例。

ClickHouseJDBC-Transaction-JavaExample

ClickHouse事务开发代码样例,仅MRS 3.3.0及之后版本支持。

Doris

doris-examples/doris-jdbc-example

Doris数据读写操作的应用开发示例,仅MRS 3.3.0及之后版本支持。

通过调用Doris接口可实现创建用户表、向表中插入数据、查询表数据、删除表等功能

Flink

  • 开启Kerberos认证集群的样例工程目录“flink-examples/flink-examples-security”。
  • 未开启Kerberos认证集群的样例工程目录为“flink-examples/flink-examples-normal”。

FlinkCheckpointJavaExample

Flink异步Checkpoint机制的Java/Scala示例程序。

本工程中,程序使用自定义算子持续产生数据,产生的数据为一个四元组(Long,String,String,Integer)。数据经统计后,将统计结果打印到终端输出。每隔6秒钟触发一次checkpoint,然后将checkpoint的结果保存到HDFS中。

FlinkCheckpointScalaExample

FlinkHBaseJavaExample

Flink API作业读写HBase数据的Java示例程序。

MRS 3.2.0及之后版本支持。

FlinkKafkaJavaExample

Flink向Kafka生产并消费数据的Java/Scala示例程序。

在本工程中,假定某个Flink业务每秒就会收到1个消息记录,启动Producer应用向Kafka发送数据,然后启动Consumer应用从Kafka接收数据,对数据内容进行处理后并打印输出。

FlinkKafkaScalaExample

FlinkPipelineJavaExample

Flink Job Pipeline的Java/Scala示例程序。

本样例中一个发布者Job自己每秒钟产生10000条数据,另外两个Job作为订阅者,分别订阅一份数据。订阅者收到数据之后将其转化格式,并抽样打印输出。

FlinkPipelineScalaExample

FlinkSqlJavaExample

使用客户端通过jar作业提交SQL作业的应用开发示例。

FlinkStreamJavaExample

Flink构造DataStream的Java/Scala示例程序。

本工程示例为基于业务要求分析用户日志数据,读取文本数据后生成相应的DataStream,然后筛选指定条件的数据,并获取结果。

FlinkStreamScalaExample

FlinkStreamSqlJoinExample

Flink SQL Join示例程序。

本工程示例调用flink-connector-kafka模块的接口,生产并消费数据。生成Table1和Table2,并使用Flink SQL对Table1和Table2进行联合查询,打印输出结果。

FlinkRESTAPIJavaExample

本工程示例调用FlinkServer的RestAPI创建租户。

flink-examples/flink-sql

本工程示例使用Flink Jar提交SQL作业。

flink-examples/pyflink-example

pyflink-kafka

本工程示例使用Python提交普通作业,提供Python读写Kafka作业的样例。

pyflink-sql

本工程示例使用Python提交SQL作业,提供Python提交SQL作业的样例。

HBase

hbase-examples

hbase-example

HBase数据读写操作及全局二级索引的应用开发示例。通过调用HBase接口可实现以下功能:

  • 创建用户表、导入用户数据、增加用户信息、查询用户信息及为用户表创建二级索引等功能。
  • MRS 3.3.0及之后版本,可实现创建/删除全局二级索引、修改全局二级索引状态、以及基于全局二级索引查询等功能。

hbase-rest-example

HBase Rest接口应用开发示例。

使用Rest接口实现查询HBase集群信息、获取表、操作NameSpace、操作表等功能。

hbase-thrift-example

访问HBase ThriftServer应用开发示例。

访问ThriftServer操作表、向表中写数据、从表中读数据。

hbase-zk-example

HBase访问ZooKeeper应用开发示例。

在同一个客户端进程内同时访问MRS ZooKeeper和第三方的ZooKeeper,其中HBase客户端访问MRS ZooKeeper,客户应用访问第三方ZooKeeper。

HDFS

  • 开启Kerberos认证集群的样例工程目录“hdfs-example-security”。
  • 未开启Kerberos认证集群的样例工程目录为“hdfs-example-normal”。

HDFS文件操作的Java示例程序。

本工程主要给出了创建HDFS文件夹、写文件、追加文件内容、读文件和删除文件/文件夹等相关接口操作示例。

hdfs-c-example

HDFS C语言开发代码样例。

本示例提供了基于C语言的HDFS文件系统连接、文件操作如创建文件、读写文件、追加文件、删除文件等。

HetuEngine

  • 开启Kerberos认证集群的样例工程目录为“hetu-examples/hetu-examples-security”。
  • 未开启Kerberos认证集群的样例工程目录为“hetu-examples/hetu-examples-normal”。

通过不同方式连接HetuEngine的Java、Python示例程序。

通过HSFabric、HSBroker等连接方式,使用用户名和密码连接到HetuEngine,或通过KeyTab文件认证方式连接HetuEngine,组装对应的SQL发送到HetuEngine执行,完成对Hive数据源的增删改查操作。

Hive

hive-examples

hive-jdbc-example

Hive JDBC处理数据Java示例程序。

本工程使用JDBC接口连接Hive,在Hive中执行相关数据操作。使用JDBC接口实现创建表、加载数据、查询数据等功能,还可实现在同一个客户端进程内同时访问FusionInsight ZooKeeper和第三方的ZooKeeper。

hive-jdbc-example-multizk

hcatalog-example

Hive HCatalog处理数据Java示例程序。

使用HCatalog接口实现通过Hive命令行方式对MRS Hive元数据进行数据定义和查询操作。

python-examples

使用Python连接Hive执行SQL样例。

可实现使用Python对接Hive并提交数据分析任务。

python3-examples

使用Python3连接Hive执行SQL样例。

可实现使用Python3对接Hive并提交数据分析任务。

IoTDB

iotdb-examples

iotdb-flink-example

通过Flink访问IoTDB数据的示例程序,包括FlinkIoTDBSink和FlinkIoTDBSource。

FlinkIoTDBSink可实现通过Flink job将时序数据写入到IoTDB中。FlinkIoTDBSource则通过Flink job将时序数据从IoTDB读取出来并且打印。

iotdb-jdbc-example

IoTDB JDBC处理数据Java示例程序。

本示例演示了如何使用JDBC接口连接IoTDB,并执行IoTDB SQL语句。

iotdb-kafka-example

通过Kafka访问IoTDB数据的示例程序。

本示例演示了如何先将时序数据发送到Kafka,再使用多线程将数据写入到IoTDB中。

iotdb-session-example

IoTDB Session处理数据Java示例程序。

本示例演示了如何使用Session方式连接IoTDB,并执行IoTDB SQL语句。

iotdb-udf-exmaple

该样例程序介绍了如何实现一个简单的IoTDB自定义函数(UDF)。

Kafka

kafka-examples

Kafka流式数据的处理Java示例程序。

本工程基于Kafka Streams完成单词统计功能,通过读取输入Topic中的消息,统计每条消息中的单词个数,从输出Topic消费数据,然后将统计结果以Key-Value的形式输出。

Manager

manager-examples

FusionInsight Manager API接口调用示例。

本工程调用Manager API接口实现集群用户的创建、修改及删除等操作。

MapReduce

  • 开启Kerberos认证集群的样例工程目录“mapreduce-example-security”。
  • 未开启Kerberos认证集群的样例工程目录为“mapreduce-example-normal”。

MapReduce任务提交Java示例程序。

本工程提供了一个MapReduce统计数据的应用开发示例,实现数据分析、处理,并输出满足用户需要的数据信息。

另外以MapReduce访问HDFS、HBase、Hive为例,介绍如何编写MapReduce作业访问多个服务组件。帮助用户理解认证、配置加载等关键使用方式。

Oozie

  • 开启Kerberos认证集群的样例工程目录“oozie-examples/ooziesecurity-examples”。
  • 未开启Kerberos认证集群的样例工程目录为“oozie-examples/oozienormal-examples”。

OozieMapReduceExample

Oozie提交MapReduce任务示例程序。

本示例演示了如何通过Java API提交MapReduce作业和查询作业状态,对网站的日志文件进行离线分析。

OozieSparkHBaseExample

使用Oozie调度Spark访问HBase的示例程序。

OozieSparkHiveExample

使用Oozie调度Spark访问Hive的示例程序。

Spark

  • 开启Kerberos认证集群的样例工程目录“spark-examples/sparksecurity-examples”。
  • 未开启Kerberos认证集群的样例工程目录为“spark-examples/sparknormal-examples”。

SparkHbasetoCarbonJavaExample

Spark同步HBase数据到CarbonData的Java示例程序。

本示例工程中,应用将数据实时写入HBase,用于点查业务。数据每隔一段时间批量同步到CarbonData表中,用于分析型查询业务。

SparkHbasetoHbaseJavaExample

Spark从HBase读取数据再写入HBase的Java/Scala/Python示例程序。

本示例工程中,Spark应用程序实现两个HBase表数据的分析汇总。

SparkHbasetoHbasePythonExample

SparkHbasetoHbaseScalaExample

SparkHivetoHbaseJavaExample

Spark从Hive读取数据再写入到HBase的Java/Scala/Python示例程序。

本示例工程中,Spark应用程序实现分析处理Hive表中的数据,并将结果写入HBase表。

SparkHivetoHbasePythonExample

SparkHivetoHbaseScalaExample

SparkJavaExample

Spark Core任务的Java/Python/Scala/R示例程序。

本工程应用程序实现从HDFS上读取文本数据并计算分析。

SparkRExample示例不支持未开启Kerberos认证的集群。

SparkPythonExample

SparkScalaExample

SparkRExample

SparkLauncherJavaExample

使用Spark Launcher提交作业的Java/Scala示例程序。

本工程应用程序通过org.apache.spark.launcher.SparkLauncher类采用Java/Scala命令方式提交Spark应用。

SparkLauncherScalaExample

SparkOnHbaseJavaExample

Spark on HBase场景的Java/Scala/Python示例程序。

本工程应用程序以数据源的方式去使用HBase,将数据以Avro格式存储在HBase中,并从中读取数据以及对读取的数据进行过滤等操作。

SparkOnHbasePythonExample

SparkOnHbaseScalaExample

SparkOnHudiJavaExample

Spark on Hudi场景的Java/Scala/Python示例程序。

本工程应用程序使用Spark操作Hudi执行插入数据、查询数据、更新数据、增量查询、特定时间点查询、删除数据等操作。

SparkOnHudiPythonExample

SparkOnHudiScalaExample

SparkOnMultiHbaseScalaExample

Spark同时访问两个集群中的HBase的Scala示例程序。

本示例不支持未开启Kerberos认证的集群。

SparkSQLJavaExample

Spark SQL任务的Java/Python/Scala示例程序。

本工程应用程序实现从HDFS上读取文本数据并计算分析。

SparkSQLPythonExample

SparkSQLScalaExample

SparkStreamingKafka010JavaExample

Spark Streaming从Kafka接收数据并进行统计分析的Java/Scala示例程序。

本工程应用程序实时累加计算Kafka中的流数据,统计每个单词的记录总数。

SparkStreamingKafka010ScalaExample

SparkStreamingtoHbaseJavaExample010

Spark Streaming读取Kafka数据并写入HBase的Java/Scala/Python示例程序。

本工程应用程序每5秒启动一次任务,读取Kafka中的数据并更新到指定的HBase表中。

SparkStreamingtoHbasePythonExample010

SparkStreamingtoHbaseScalaExample010

SparkStructuredStreamingJavaExample

在Spark应用中,通过使用StructuredStreaming调用Kafka接口来获取单词记录,然后把单词记录分类统计,得到每个单词记录数。

SparkStructuredStreamingPythonExample

SparkStructuredStreamingScalaExample

SparkThriftServerJavaExample

通过JDBC访问Spark SQL的Java/Scala示例程序。

本示例中,用户自定义JDBCServer的客户端,使用JDBC连接来进行表的创建、数据加载、查询和删除。

SparkThriftServerScalaExample

StructuredStreamingADScalaExample

使用Structured Streaming,从kafka中读取广告请求数据、广告展示数据、广告点击数据,实时获取广告有效展示统计数据和广告有效点击统计数据,将统计结果写入kafka中。

StructuredStreamingStateScalaExample

在Spark结构流应用中,跨批次统计每个session期间发生了多少次event以及本session的开始和结束timestamp;同时输出本批次被更新状态的session。

SpringBoot(MRS 3.3.0及之后版本支持)

clickhouse-examples

clickhouse-rest-client-example

SpringBoot连接ClickHouse服务应用开发示例。

本示例中,包含了建立服务端连接、创建数据库、创建数据表、插入数据、查询数据等操作示例。

doris-examples

doris-rest-client-example

Doris数据读写操作的SpringBoot应用开发示例。

提供SpringBoot连接Doris的样例程序。

flink-examples

flink-dws-read-example

GaussDB(DWS) SpringBoot方式连接Flink服务的应用开发示例。

flink-dws-sink-example

hbase-examples

SpringBoot连接Phoenix应用开发示例。

提供SpringBoot连接HBase与Phoenix的样例程序。

hive-examples

hive-rest-client-example

SpringBoot连接Hive应用开发示例。

本工程使用SpringBoot方式连接Hive,在Hive中执行创建表、加载数据、查询数据、删除表等操作。

kafka-examples

SpringBoot连接Kafka实现Topic生产消费的应用开发示例。

我们使用cookie来确保您的高速浏览体验。继续浏览本站,即表示您同意我们使用cookie。 详情

文档反馈

文档反馈

意见反馈

0/500

标记内容

同时提交标记内容