несколько запросов в задании Spark Struct Streaming, так как же кэшировать данные? - PullRequest
0 голосов
/ 30 января 2019

есть несколько запросов в задании спарка, когда я запускаю это задание, я обнаружил, что каждый запрос запускает соединение с kafka, и они не обмениваются данными друг с другом, так как кэшировать данные, чтобы избежать чтения одних и тех же данныхмного раз.

Я пытался кэшировать таблицу с помощью команды "CACHE TABLE cache_table;"тогда

Queries with streaming sources must be executed with writeStream.start();;
kafka
org.apache.spark.sql.catalyst.analysis.UnsupportedOperationChecker$.org$apache$spark$sql$catalyst$analysis$UnsupportedOperationChecker$$throwError(UnsupportedOperationChecker.scala:374)
org.apache.spark.sql.catalyst.analysis.UnsupportedOperationChecker$$anonfun$checkForBatch$1.apply(UnsupportedOperationChecker.scala:37)
org.apach

1 Ответ

0 голосов
/ 30 января 2019

Каждый потоковый запрос является отдельным потоком.При использовании источника данных Kafka потоковый запрос также является отдельным потребителем Kafka.

При этом вам придется использовать их все как часть одного запроса, чтобы они могли обмениваться данными.join может быть решением.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...