前言
本节描述通过spark-structstreaming将结果结果数据存入hbase
正文
object testWriteResultToHbase{
def main(args:Array[String]){
val kafkaservers=args(0)
val topic=args(1)
val zookeeperservers=args(2)
val tablename=args(3)
val spark=SparkSession
.builder
.appName("testWriteResultToHbase")
.master("local")
.getOrCreate()
import spark.implicits._
val lines = spark
.readStream
.format("kafka")
.option("kafka.bootstrap.servers",kafkaservers)
.option("subscribe", topic)
.load()
.selectExpr("cast(topic as String) ","cast(key as String)","CAST(value AS STRING)")
.as[(String,String,String)]
lines.createTempView("Originalkafka")
import spark.sql
val count=sql("select value from Originalkafka ")
val query =count.writeStream
.outputMode("append")
.foreach(new ForeachWriter[Row]{
va