apache-spark - 为什么从 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")
并且永远不会完成,就好像它在永远等待更多数据或其他东西一样。
可能是什么问题呢?
解决方案
推荐阅读
- google-compute-engine - 无法使用计算 ssh 访问实例:“错误:[....putty.exe] 退出并返回代码 [1]
- python - 存储用户输入数据以稍后在 Python 中调用的方法?
- c# - 在系统上下文中运行的 C#/VC++ 应用程序是否可以访问用户上下文以进行 NTLM/Kerberos 身份验证?
- r - 用重复的名称填充缺失值?
- r - 在列表中的 bind_rows 之后将新列添加到 tibble
- java - Hibernate 依赖破坏了 Spring Boot 应用程序
- python - Linting:Python 中很长的导入
- python - New to Python need confused with creating a code to make sure the User put a Valid Input
- arrays - forEach中的Kotlin,如果是数组,为什么可以重新赋值?
- gcc - 函数返回中的 LR 用法