1
我有一个类型为[String,ArrayList [String]]的DStream,我想将此DStream转换为avro格式并将其保存为hdfs。我怎么能做到这一点?如何将DStream转换为avro格式并保存在hdfs中的文件
我有一个类型为[String,ArrayList [String]]的DStream,我想将此DStream转换为avro格式并将其保存为hdfs。我怎么能做到这一点?如何将DStream转换为avro格式并保存在hdfs中的文件
您可以将您的流转换为JavaRDD或将其转换为DataFrame并将其写入文件并提供Avro格式。
// Apply a schema to an RDD
DataFrame booksDF = sqlContext.createDataFrame(books, Books.class);
booksDF.write()
.format("com.databricks.spark.avro")
.save("/output");
更多示例请访问Accessing Avro Data Files From Spark SQL。
希望这有助于。
DataFrame booksDF = sqlContext.createDataFrame(books,Books.class);这里显示的是nullpointerException,在我已经提供dstream.getClass()类的字段中,现在我已经转换了我的dstream或类型[GenericData.Record],所以如果你可以在该上下文中回答将会很有帮助 – JSR29