首页 > 解决方案 > 为什么从 kafka 消费没有在 cloudera 中完成,而是在 hortonworks 中完成?

问题描述

我有这个代码:

import org.apache.spark.sql.SparkSession

object TopicIngester {
  def main(args: Array[String]): Unit = {
    val spark = SparkSession.builder()
      .master("local[*]") // remove this later
      .appName("Ingester")
      .getOrCreate()

    spark.read
      .format("kafka")
      .option("kafka.bootstrap.servers", "sandbox-hdp.hortonworks.com:6667" /*my.cluster.com:9092 in case of cloudera*/)
      .option("subscribe", "test")
      .option("startingOffsets", "earliest")
      .option("endingOffsets", "latest")
      .load()
      .write
      .parquet("/user/maria_dev/test")

    spark.stop()
  }
}

当我在 hortonworks 沙箱中运行它时,一切正常。从主题中读取所有可用数据test并保存到/user/maria_dev/test文件夹中。

我的 cloudera 集群上也有一个同名的主题,由于某种原因,它被卡住.parquet("/path/to/folder")并且永远不会完成,就好像它在永远等待更多数据或其他东西一样。

可能是什么问题呢?

标签: apache-sparkhadoopapache-kafkaclouderahortonworks-data-platform

解决方案


推荐阅读