hbase-DB写入是通过Spark流延迟执行的


0

当Spark流正在运行时,HBase PUT不会执行,只有在我关闭Spark时才会执行—它会尝试同时执行所有PUT

val inputRdd = FlumeUtils.createStream(ssc, "server", 44444)
  inputRdd.foreachRDD({ rdd =>
    rdd.foreachPartition(partitionOfRecords => {
      val hbaseClient = new HBaseClient(zookeeper)
      partitionOfRecords.foreach({ event =>
         hbaseClient.put(parse(event))
         hbaseClient.flush()

1 答案


0

好的-我找到了答案-显然我的代码是正确的,问题是我没有留下足够的线程来处理数据

使用local[*]修复了这个问题


我来回答

写文章

提问题

面试题