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

MRS各组件样例工程汇总

样例工程获取地址参见获取MRS应用开发样例工程切换分支为与MRS集群相匹配的版本分支,然后下载压缩包到本地后解压,即可获取各组件对应的样例代码工程。

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

表1 各组件样例工程汇总

组件

样例工程位置

描述

ClickHouse

clickhouse-examples

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

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

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

FlinkKafkaJavaExample

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

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

FlinkKafkaScalaExample

FlinkPipelineJavaExample

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

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

FlinkPipelineScalaExample

FlinkSqlJavaExample

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

FlinkStreamJavaExample

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

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

FlinkStreamScalaExample

FlinkStreamSqlJoinExample

Flink SQL Join示例程序。

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

HBase

hbase-examples

hbase-example

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

通过调用HBase接口可实现创建用户表、导入用户数据、增加用户信息、查询用户信息及为用户表创建二级索引等功能。

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文件系统连接、文件操作如创建文件、读写文件、追加文件、删除文件等。

Hive

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元数据进行数据定义和查询操作。

python3-examples

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

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

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。