srowen commented on a change in pull request #22282: [SPARK-23539][SS] Add
support for Kafka headers in Structured Streaming
URL: https://github.com/apache/spark/pull/22282#discussion_r294977782
##########
File path:
external/kafka-0-10-sql/src/main/scala/org/apache/spark/sql/kafka010/KafkaRelation.scala
##########
@@ -102,17 +103,35 @@ private[kafka010] class KafkaRelation(
// Create an RDD that reads from Kafka and get the (key, value) pair as
byte arrays.
val executorKafkaParams =
KafkaSourceProvider.kafkaParamsForExecutors(specifiedKafkaParams,
uniqueGroupId)
- val rdd = new KafkaSourceRDD(
- sqlContext.sparkContext, executorKafkaParams, offsetRanges,
- pollTimeoutMs, failOnDataLoss, reuseKafkaConsumer = false).map { cr =>
- InternalRow(
- cr.key,
- cr.value,
- UTF8String.fromString(cr.topic),
- cr.partition,
- cr.offset,
- DateTimeUtils.fromJavaTimestamp(new java.sql.Timestamp(cr.timestamp)),
- cr.timestampType.id)
+ val rdd = if (includeHeaders) {
+ new KafkaSourceRDD(
+ sqlContext.sparkContext, executorKafkaParams, offsetRanges,
+ pollTimeoutMs, failOnDataLoss, reuseKafkaConsumer = false).map { cr =>
+ InternalRow(
Review comment:
Same here. Rather than duplicate all this, construct a Seq of the values and
optionally add the last one if headers are included. Then make an Internalrow
from it.
----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
For queries about this service, please contact Infrastructure at:
[email protected]
With regards,
Apache Git Services
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]