首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >对apache-kafka的正常写入,但无法读取火花作业中的主题数据。

对apache-kafka的正常写入,但无法读取火花作业中的主题数据。
EN

Stack Overflow用户
提问于 2020-05-12 14:30:29
回答 1查看 240关注 0票数 1

HDP 2.6.5无路肩

我在运行卡夫卡和星星之火。

我正在为kafka中的特定主题编写数据,并试图运行python代码来读取和显示kafka的数据。

但是,读取会冻结,不会抛出错误。

启动火花放电:

pyspark --master yarn --num-executors 1 --executor-cores 4 --executor-memory 16G --driver-cores 4 --driver-memory 8G --packages org.apache.spark:spark-sql-kafka-0-10_2.11:2.3.1

在火花放电壳中:

代码语言:javascript
复制
from pyspark.sql import SparkSession, SQLContext, HiveContext
spark = SparkSession.builder.enableHiveSupport().getOrCreate()
spark.conf.set("spark.sql.sources.partitionOverwriteMode", "dynamic")
sqlcontext = SQLContext(spark.sparkContext)
hivecontext = HiveContext(spark.sparkContext)
hivecontext.setConf("hive.exec.dynamic.partition", "true")
hivecontext.setConf("hive.exec.dynamic.partition.mode", "nonstrict")

ds = spark.read.format("kafka").option("kafka.bootstrap.servers", "server-1:6667,server-2:6667").option("subscribe", "testtopic").option("startingOffsets", "earliest").option("endingOffsets", "latest").load()
ds.show()

当我在服务器上读取数据时:

代码语言:javascript
复制
./kafka-run-class.sh kafka.tools.SimpleConsumerShell --broker-list server-1:6667,server-2:6667 --topic testtopic --partition 0

数据在本主题中。

我使用以下方法检查了from运行服务器的服务器和端口的可用性:

代码语言:javascript
复制
nc -zv server-1 2181
nc -zv server-1 6667

没问题的

从一台服务器写入主题,从另一台服务器读取。所有服务器都在一个集群中。

UPD。通过一种科学的方法,我发现:在Kafka服务器上使用命令

代码语言:javascript
复制
kafka-console-consumer.sh --zookeeper server-1:2181 --topic testtopic --from-beginning

提供数据。

使用命令

代码语言:javascript
复制
kafka-console-consumer.sh --bootstrap-server server-1:6667 --topic testtopic --from-beginning --partition 0

提供数据。

但是,当我在另一台服务器上运行使用者时,它不会出现在kafka使用者列表中。

EN

回答 1

Stack Overflow用户

发布于 2020-05-17 21:16:40

一旦定义了最终结果DataFrame/Dataset,剩下的就是开始流计算。为此,您必须使用通过DataStreamWriter ()返回的Dataset.writeStream (Scala/Java/Python )。您必须在此接口中指定以下一项或多项内容。试试看:

代码语言:javascript
复制
ds.start()

https://spark.apache.org/docs/latest/structured-streaming-programming-guide.html#starting-streaming-queries

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/61754371

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档