Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/apache-spark/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Apache spark spark writeStream进入卡夫卡-awaitTermination()与awaitAnyTermination()之间的差异_Apache Spark_Pyspark_Apache Kafka_Spark Structured Streaming - Fatal编程技术网

Apache spark spark writeStream进入卡夫卡-awaitTermination()与awaitAnyTermination()之间的差异

Apache spark spark writeStream进入卡夫卡-awaitTermination()与awaitAnyTermination()之间的差异,apache-spark,pyspark,apache-kafka,spark-structured-streaming,Apache Spark,Pyspark,Apache Kafka,Spark Structured Streaming,根据官方文档,我使用下面的代码段来编写卡夫卡主题,但它并没有写入卡夫卡 finalStream = final \ .writeStream \ .format("kafka") \ .option("kafka.bootstrap.servers",bootstrap_servers) \ .option("topic",topic_name) \ .option("checkpointLocation", check_point_location) \ .start(

根据官方文档,我使用下面的代码段来编写卡夫卡主题,但它并没有写入卡夫卡

finalStream = final \
  .writeStream \
  .format("kafka") \
  .option("kafka.bootstrap.servers",bootstrap_servers) \
  .option("topic",topic_name) \
  .option("checkpointLocation", check_point_location) \
  .start()

finalStream.awaitTermination()
但是,通过使用
awaitanydtermination()
而不是
awaitdtermination()
,写进卡夫卡作品中

spark.streams.awaitAnyTermination()
请说明原因

“awaitTermination()与awaitAnyTermination()之间的差异”

引用源代码中的注释

:“通过
query.stop()等待此查询的终止
或由异常终止。如果查询因异常终止,则将引发异常。否则,它将返回查询是否在
超时毫秒内终止。如果查询已终止,则对该方法的所有后续调用将立即返回
true
(如果查询由
stop()
终止),或立即抛出异常(如果查询因异常终止)


:“等待关联SQLContext上的任何查询在创建上下文或调用
resetTerminated()
后终止。如果任何查询因异常而终止,则将引发异常。如果查询已终止,则随后调用
waitanyTermination()
将立即返回(如果查询被
query.stop()
终止),或者立即抛出异常(如果查询被异常终止)。使用
resetTerminated()
清除过去的终止并等待新的终止。如果在调用
resetTermination()
后终止了多个查询,则如果任何查询异常终止,则
waitanyTermination()
将引发任何异常。要正确记录多个查询中的异常,用户需要在任何异常终止后停止所有异常,然后为每个查询检查
query.exception()
。”

您在什么环境下执行代码?这是应用程序、笔记本还是其他东西?在
之后是否有代码()
?如何写入代码读取的主题?它是spark应用程序的一部分,spark应用程序正在读取卡夫卡主题并应用一些转换,然后将此输出写入另一个卡夫卡主题。我们在独立服务器上开发。终止后无代码()。您如何创建SparkSession?主URL是什么?这是
本地[1]
吗?是否使用了
本地[*]
那么就不知道了。让我们从更简单的事情开始,假设
final
是费率数据源。您能检查一下这是否有效吗?您能包括流式查询的物理计划(从web UI)吗?