从EMR-3.21.0版本开始支持使用Spark SQL开发流式分析作业。本文介绍Spark SQL支持的数据源类型,以及支持数据源的方式。
支持的数据源
数据源 | 批量读 | 批量写 | 流式读 | 流式写 |
---|---|---|---|---|
Kafka | 有 | 无 | 有 | 有 |
Loghub | 有 | 有 | 有 | 有 |
Tablestore | 有 | 有 | 有 | 有 |
DataHub | 无 | 无 | 有 | 有 |
HBase | 有 | 有 | 无 | 有 |
JDBC | 有 | 有 | 无 | 有 |
Druid | 无 | 无 | 无 | 有 |
Redis | 无 | 无 | 无 | 有 |
Kudu | 有 | 有 | 无 | 有 |
DTS | 有 | 无 | 有 | 无 |
支持数据源的方式
Spark SQL支持数据源的方式包括以下两种:
-
命令行方式
- 下载预编译好的数据源JAR包。
您只需要使用该JAR包,就可以完成Loghub、TableStore、HBase、JDBC和Redis数据源的实现以及相关的依赖包。Kafka和Druid数据源暂未在此JAR包中发布,后续会陆续加入,具体请参见Release Notes。
- 使用streaming-sql命令行进行交互式开发。
[hadoop@emr-header-1 ~]# streaming-sql --master yarn-client --jars emr-datasources_shaded_2.11-${version}.jar --driver-class-path emr-datasources_shaded_2.11-${version}.jar
- 下载预编译好的数据源JAR包。
-
工作流方式
详情请参见Streaming SQL作业配置。