在spark scala应用程序中将数据保存到其他主机
我正在尝试将从kafka主题数据创建的数据帧持久化到其他主机。 我使用的代码是:在spark scala应用程序中将数据保存到其他主机,scala,apache-spark,spark-dataframe,kafka-consumer-api,Scala,Apache Spark,Spark Dataframe,Kafka Consumer Api,我正在尝试将从kafka主题数据创建的数据帧持久化到其他主机。 我使用的代码是: val topicMaps = Map("topic" -> 2) val conf = new Configuration() conf.set("fs.defaultFS","maprfs://host-2:7222") val fs =FileSystem.get(conf) val messages = KafkaUtils.createStream[String, String,StringD
val topicMaps = Map("topic" -> 2)
val conf = new Configuration()
conf.set("fs.defaultFS","maprfs://host-2:7222")
val fs =FileSystem.get(conf)
val messages = KafkaUtils.createStream[String, String,StringDecoder,StringDecoder](ssc, kafkaConf, topicMaps, StorageLevel.MEMORY_ONLY_SER)
messages.foreachRDD(rdd=>
{
val sqlContext = new org.apache.spark.sql.SQLContext(sc)
import sqlContext.implicits._
val dataframe =sqlContext.read.json(rdd.map(_._2))
val myDF =dataframe.toDF()
import org.apache.spark.sql.SaveMode
myDF.write.format("parquet").mode(org.apache.spark.sql.SaveMode.Append).save("maprfs://host-2:7222/hdfs/path")
})
上面的代码已经在主机目录中创建了一个路径,但是没有写入任何数据
非常感谢您的帮助。您是否缺少了
ssc.start()
,或者只是这里没有显示?我特意从这个代码片段中删除了它