Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/scala/18.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/apache-spark/5.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
Scala 卡夫卡-如何阅读超过10行_Scala_Apache Spark_Apache Kafka_Spark Streaming - Fatal编程技术网

Scala 卡夫卡-如何阅读超过10行

Scala 卡夫卡-如何阅读超过10行,scala,apache-spark,apache-kafka,spark-streaming,Scala,Apache Spark,Apache Kafka,Spark Streaming,我用jdbc制作了从数据库读取的连接器,并从Spark应用程序中使用它。该应用程序读取数据库数据很好,但它只读取前10行数据,似乎忽略了其余数据。我应该如何休息,这样我就可以用所有的数据进行计算 这是我的火花代码: val brokers = "http://127.0.0.1:9092" val topics = List("postgres-accounts2") val sparkConf = new SparkConf().setAppName("KafkaWordCount") //s

我用jdbc制作了从数据库读取的连接器,并从Spark应用程序中使用它。该应用程序读取数据库数据很好,但它只读取前10行数据,似乎忽略了其余数据。我应该如何休息,这样我就可以用所有的数据进行计算

这是我的火花代码:

val brokers = "http://127.0.0.1:9092"
val topics = List("postgres-accounts2")
val sparkConf = new SparkConf().setAppName("KafkaWordCount")
//sparkConf.setMaster("spark://sda1:7077,sda2:7077")
sparkConf.setMaster("local[2]")
sparkConf.set("spark.serializer", "org.apache.spark.serializer.KryoSerializer") 
sparkConf.registerKryoClasses(Array(classOf[Record]))

val ssc = new StreamingContext(sparkConf, Seconds(2))
ssc.checkpoint("checkpoint")

 // Create direct kafka stream with brokers and topics
//val topicsSet = topics.split(",")

val kafkaParams = Map[String, Object](
  "schema.registry.url" -> "http://127.0.0.1:8081",
  "bootstrap.servers" -> "http://127.0.0.1:9092",
  "key.deserializer" -> "org.apache.kafka.common.serialization.StringDeserializer",
  "value.deserializer" -> "io.confluent.kafka.serializers.KafkaAvroDeserializer",
  "group.id" -> "use_a_separate_group_id_for_each_stream",
  "auto.offset.reset" -> "earliest",
  "enable.auto.commit" -> (false: java.lang.Boolean)
)

val messages = KafkaUtils.createDirectStream[String, Record](
  ssc,
  PreferConsistent,
  Subscribe[String, Record](topics, kafkaParams)
)

val data = messages.map(record => {
    println( record) // print only first 10
    // compute here?
    (record.key, record.value)
})

data.print()

// Start the computation
ssc.start()
ssc.awaitTermination()

我认为问题在于,Spark很懒惰,只会读取实际使用的数据


默认情况下,
print
将显示流中的前10个元素。由于代码不包含除两个
打印
之外的任何其他操作,因此无需读取超过10行的数据。尝试使用
count
或其他操作来确认它是否工作。

我认为问题在于Spark很懒惰,只会读取实际使用的数据

默认情况下,
print
将显示流中的前10个元素。由于代码不包含除两个
打印
之外的任何其他操作,因此无需读取超过10行的数据。尝试使用
count
或其他操作来确认它是否正常工作