
# MRS各组件样例工程汇总
样例工程获取地址参见[获取MRS应用开发样例工程](https://support.huaweicloud.com/devg-mrs/mrs_06_0002.html)，**切换分支为与MRS集群相匹配的版本分支**，然后下载压缩包到本地后解压，即可获取各组件对应的样例代码工程。
MRS样例代码库提供了各组件的基本功能样例工程供用户使用，当前版本各组件提供的样例工程汇总参见[表1]。
 表1各组件样例工程汇总（2.x版本） 
| 组件        | 样例工程位置                                               || 描述                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          |
|:---|:---|---|:---|
| Alluxio   | alluxio-examples                                     || 使用Alluxio通过公共接口连接到存储系统示例程序。可实现写文件、读文件等功能。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   |
| Flink     | flink-examples                                       || 该样例工程提供以下样例程序： - DataStream程序 Flink构造DataStream的Java/Scala示例程序。本工程示例为基于业务要求分析用户日志数据，读取文本数据后生成相应的DataStream，然后筛选指定条件的数据，并获取结果。   - 向Kafka生产并消费数据程序 Flink向Kafka生产并消费数据的Java/Scala示例程序。在本工程中，假定某个Flink业务每秒就会收到1个消息记录，启动Producer应用向Kafka发送数据，然后启动Consumer应用从Kafka接收数据，对数据内容进行处理后并打印输出。   - 异步Checkpoint机制程序 Flink异步Checkpoint机制的Java/Scala示例程序。本工程中，程序使用自定义算子持续产生数据，产生的数据为一个四元组（Long，String，String，Integer）。数据经统计后，将统计结果打印到终端输出。每隔6秒钟触发一次checkpoint，然后将checkpoint的结果保存到HDFS中。     - Stream SQL Join程序 Flink SQL Join示例程序。本工程示例调用flink-connector-kafka模块的接口，生产并消费数据。生成Table1和Table2，并使用Flink SQL对Table1和Table2进行联合查询，打印输出结果。    |
| HBase     | hbase-examples   || HBase数据读写操作的应用开发示例。 通过调用HBase接口可实现创建用户表、导入用户数据、增加用户信息、查询用户信息及为用户表创建二级索引等功能。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     |
| HDFS      | hdfs-examples                                        || HDFS文件操作的Java示例程序。 本工程主要给出了创建HDFS文件夹、写文件、追加文件内容、读文件和删除文件/文件夹等相关接口操作示例。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         |
| Hive      | hive-examples                                        || 该样例工程提供以下JDBC/HCatalog样例程序： - Hive JDBC处理数据Java示例程序。 本工程使用JDBC接口连接Hive，在Hive中执行相关数据操作。使用JDBC接口实现创建表、加载数据、查询数据等功能。   - Hive HCatalog处理数据Java示例程序。 使用HCatalog接口实现通过Hive命令行方式对MRS Hive元数据进行数据定义和查询操作。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      |
| Impala    | impala-examples                                      || Impala JDBC处理数据Java示例程序。 本工程使用JDBC接口连接Impala，在Impala中执行相关数据操作。使用JDBC接口实现创建表、加载数据、查询数据等功能。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      |
| Kafka     | kafka-examples                                       || Kafka流式数据的处理Java示例程序。 本工程基于Kafka Streams完成单词统计功能，通过读取输入Topic中的消息，统计每条消息中的单词个数，从输出Topic消费数据，然后将统计结果以Key-Value的形式输出。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            |
| MapReduce | mapreduce-examples                                   || MapReduce任务提交Java示例程序。 本工程提供了一个MapReduce统计数据的应用开发示例，实现数据分析、处理，并输出满足用户需要的数据信息。 另外以MapReduce访问HDFS、HBase、Hive为例，介绍如何编写MapReduce作业访问多个服务组件。帮助用户理解认证、配置加载等关键使用方式。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   |
| Presto    | presto-examples                                      || 该样例工程提供以下JDBC/HCatalog样例程序： - Presto JDBC处理数据Java示例程序。 本工程使用JDBC接口连接Presto，在Presto中执行相关数据操作。使用JDBC接口实现创建表、加载数据、查询数据等功能。   - Presto HCatalog处理数据Java示例程序。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             |
| OpenTSDB  | opentsdb-examples                                    || 通过调用OpenTSDB接口可实现采集大规模集群中的监控类信息，并可实现数据的秒级查询。该样例程序主要实现写入数据、查询数据、删除数据等功能。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     |
| Spark     | spark-examples | SparkHbasetoHbaseJavaExample         | Spark从HBase读取数据再写入HBase的Java/Scala示例程序。 本示例工程中，Spark应用程序实现两个HBase表数据的分析汇总。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      |
| Spark     | spark-examples | SparkHbasetoHbaseScalaExample        | Spark从HBase读取数据再写入HBase的Java/Scala示例程序。 本示例工程中，Spark应用程序实现两个HBase表数据的分析汇总。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      |
| Spark     | spark-examples | SparkHivetoHbaseJavaExample          | Spark从Hive读取数据再写入到HBase的Java/Scala示例程序。 本示例工程中，Spark应用程序实现分析处理Hive表中的数据，并将结果写入HBase表。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         |
| Spark     | spark-examples | SparkHivetoHbaseScalaExample         | Spark从Hive读取数据再写入到HBase的Java/Scala示例程序。 本示例工程中，Spark应用程序实现分析处理Hive表中的数据，并将结果写入HBase表。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         |
| Spark     | spark-examples | SparkJavaExample                     | Spark Core任务的Java/Python/Scala示例程序。 本工程应用程序实现从HDFS上读取文本数据并计算分析。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               |
| Spark     | spark-examples | SparkPythonExample                   | Spark Core任务的Java/Python/Scala示例程序。 本工程应用程序实现从HDFS上读取文本数据并计算分析。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               |
| Spark     | spark-examples | SparkScalaExample                    | Spark Core任务的Java/Python/Scala示例程序。 本工程应用程序实现从HDFS上读取文本数据并计算分析。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               |
| Spark     | spark-examples | SparkLauncherJavaExample             | 使用Spark Launcher提交作业的Java/Scala示例程序。 本工程应用程序通过org.apache.spark.launcher.SparkLauncher类采用Java/Scala命令方式提交Spark应用。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             |
| Spark     | spark-examples | SparkLauncherScalaExample            | 使用Spark Launcher提交作业的Java/Scala示例程序。 本工程应用程序通过org.apache.spark.launcher.SparkLauncher类采用Java/Scala命令方式提交Spark应用。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             |
| Spark     | spark-examples | SparkOnHbaseJavaExample              | Spark on HBase场景的Java/Scala示例程序。 本工程应用程序以数据源的方式去使用HBase，将数据以Avro格式存储在HBase中，并从中读取数据以及对读取的数据进行过滤等操作。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          |
| Spark     | spark-examples | SparkOnHbaseScalaExample             | Spark on HBase场景的Java/Scala示例程序。 本工程应用程序以数据源的方式去使用HBase，将数据以Avro格式存储在HBase中，并从中读取数据以及对读取的数据进行过滤等操作。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          |
| Spark     | spark-examples | SparkSQLJavaExample                  | Spark SQL任务的Java/Scala示例程序。 本工程应用程序实现从HDFS上读取文本数据并计算分析。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     |
| Spark     | spark-examples | SparkSQLScalaExample                 | Spark SQL任务的Java/Scala示例程序。 本工程应用程序实现从HDFS上读取文本数据并计算分析。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     |
| Spark     | spark-examples | SparkStreamingJavaExample            | Spark Streaming从Kafka接收数据并进行统计分析的Java/Scala示例程序。 本工程示例为基于业务要求分析用户日志数据，读取文本数据后生成相应的DataStream，然后筛选指定条件的数据，并获取结果。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                |
| Spark     | spark-examples | SparkStreamingScalaExample           | Spark Streaming从Kafka接收数据并进行统计分析的Java/Scala示例程序。 本工程示例为基于业务要求分析用户日志数据，读取文本数据后生成相应的DataStream，然后筛选指定条件的数据，并获取结果。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                |
| Spark     | spark-examples | SparkStreamingKafka010JavaExample    | Spark Streaming从Kafka接收数据并进行统计分析的Java/Scala示例程序。 本工程应用程序实时累加计算Kafka中的流数据，统计每个单词的记录总数。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         |
| Spark     | spark-examples | SparkStreamingKafka010ScalaExample   | Spark Streaming从Kafka接收数据并进行统计分析的Java/Scala示例程序。 本工程应用程序实时累加计算Kafka中的流数据，统计每个单词的记录总数。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         |
| Spark     | spark-examples | SparkStreamingtoHbaseJavaExample     | Spark Streaming读取Kafka数据并写入HBase的Java/Scala示例程序。 本工程应用程序每5秒启动一次任务，读取Kafka中的数据并更新到指定的HBase表中。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  |
| Spark     | spark-examples | SparkStreamingtoHbaseScalaExample    | Spark Streaming读取Kafka数据并写入HBase的Java/Scala示例程序。 本工程应用程序每5秒启动一次任务，读取Kafka中的数据并更新到指定的HBase表中。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  |
| Spark     | spark-examples | SparkStructuredStreamingJavaExample  | 在Spark应用中，通过使用StructuredStreaming调用Kafka接口来获取单词记录，然后把单词记录分类统计，得到每个单词记录数。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    |
| Spark     | spark-examples | SparkStructuredStreamingScalaExample | 在Spark应用中，通过使用StructuredStreaming调用Kafka接口来获取单词记录，然后把单词记录分类统计，得到每个单词记录数。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    |
| Spark     | spark-examples | SparkThriftServerJavaExample         | 通过JDBC访问Spark SQL的Java/Scala示例程序。 本示例中，用户自定义JDBCServer的客户端，使用JDBC连接来进行表的创建、数据加载、查询和删除。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          |
| Spark     | spark-examples | SparkThriftServerScalaExample        | 通过JDBC访问Spark SQL的Java/Scala示例程序。 本示例中，用户自定义JDBCServer的客户端，使用JDBC连接来进行表的创建、数据加载、查询和删除。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          |
| Storm     | storm-examples | storm-common-examples                | 构造Storm拓扑和开发Spout/Bolt样例程序。可实现创建Spout、创建Bolt、创建Topology等功能。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 |
| Storm     | storm-examples | storm-hbase-examples                 | MRS的Storm与HBase组件实现交互的示例程序。实现提交Storm拓扑将数据存储到HBase的WordCount表中。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              |
| Storm     | storm-examples | storm-hdfs-examples                  | MRS的Storm与HDFS组件实现交互的示例程序。实现提交Storm拓扑数据存储到HDFS的功能。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          |
| Storm     | storm-examples | storm-jdbc-examples                  | 使用JDBC访问MRS Storm的样例程序。实现使用Storm拓扑向表中插入数据功能。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                |
| Storm     | storm-examples | storm-kafka-examples                 | MRS的Storm与Kafka组件实现交互的示例程序。实现使用Storm拓扑向Kafka中发送数据并查看。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       |
| Storm     | storm-examples | storm-obs-examples                   | MRS的Storm与OBS实现交互的示例程序。实现提交Storm拓扑数据存储到OBS功能。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               |
   
