@@ -56,13 +56,15 @@ private[pulsar] class PulsarProvider
5656 parameters : Map [String , String ]): (String , StructType ) = {
5757
5858 val caseInsensitiveParams = validateStreamOptions(parameters)
59- val (clientConfig, _, serviceUrlConfig, adminUrl) = prepareConfForReader(parameters)
59+ val (clientConfig, _, adminConfig,
60+ serviceUrlConfig, adminUrl) = prepareConfForReader(parameters)
6061
6162 val subscriptionNamePrefix = s " spark-pulsar- ${UUID .randomUUID}"
6263 val inferredSchema = Utils .tryWithResource(
6364 PulsarHelper (
6465 serviceUrlConfig,
6566 adminUrl,
67+ adminConfig,
6668 clientConfig,
6769 subscriptionNamePrefix,
6870 caseInsensitiveParams,
@@ -85,14 +87,17 @@ private[pulsar] class PulsarProvider
8587 logDebug(s " Creating Pulsar source: $parameters" )
8688
8789 val caseInsensitiveParams = validateStreamOptions(parameters)
88- val (clientConfig, readerConfig, serviceUrl, adminUrl) = prepareConfForReader(parameters)
90+ val (clientConfig, readerConfig,
91+ adminConfig, serviceUrl, adminUrl) = prepareConfForReader(parameters)
92+
8993 logDebug(
9094 s " Client config: $clientConfig; Reader config: $readerConfig; Service URL: $serviceUrl" )
9195
9296 val subscriptionNamePrefix = getSubscriptionPrefix(parameters)
9397 val pulsarHelper = PulsarHelper (
9498 serviceUrl,
9599 adminUrl,
100+ adminConfig,
96101 clientConfig,
97102 subscriptionNamePrefix,
98103 caseInsensitiveParams,
@@ -134,11 +139,14 @@ private[pulsar] class PulsarProvider
134139
135140 val subscriptionNamePrefix = getSubscriptionPrefix(parameters, isBatch = true )
136141
137- val (clientConfig, readerConfig, serviceUrl, adminUrl) = prepareConfForReader(parameters)
142+ val (clientConfig, readerConfig,
143+ adminConfig, serviceUrl, adminUrl) = prepareConfForReader(parameters)
144+
138145 val (start, end, schema, pSchema) = Utils .tryWithResource(
139146 PulsarHelper (
140147 serviceUrl,
141148 adminUrl,
149+ adminConfig,
142150 clientConfig,
143151 subscriptionNamePrefix,
144152 caseInsensitiveParams,
@@ -258,6 +266,10 @@ private[pulsar] object PulsarProvider extends Logging {
258266 }
259267 }
260268
269+ private def getAdminParams (parameters : Map [String , String ]): Map [String , String ] = {
270+ getModuleParams(parameters, PulsarAdminOptionKeyPrefix , clientConfKeys)
271+ }
272+
261273 private def getProducerParams (parameters : Map [String , String ]): Map [String , String ] = {
262274 getModuleParams(parameters, PulsarProducerOptionKeyPrefix , producerConfKeys)
263275 }
@@ -507,17 +519,20 @@ private[pulsar] object PulsarProvider extends Logging {
507519 }
508520
509521 private def prepareConfForReader (parameters : Map [String , String ])
510- : (ju.Map [String , Object ], ju.Map [String , Object ], String , Option [String ]) = {
522+ : (ju.Map [String , Object ], ju.Map [String , Object ],
523+ ju.Map [String , Object ], String , Option [String ]) = {
511524
512525 val serviceUrl = getServiceUrl(parameters)
513526 val adminUrl = getAdminUrl(parameters)
514527 var clientParams = getClientParams(parameters)
515528 clientParams += (ServiceUrlOptionKey -> serviceUrl)
516529 val readerParams = getReaderParams(parameters)
530+ val adminParams = getAdminParams(parameters)
517531
518532 (
519533 paramsToPulsarConf(" pulsar.client" , clientParams),
520534 paramsToPulsarConf(" pulsar.reader" , readerParams),
535+ paramsToPulsarConf(" pulsar.admin" , adminParams),
521536 serviceUrl, adminUrl)
522537 }
523538
0 commit comments