2015-04-08 20 views
2

如何使用Spring XD将tweets放入avro文件并将其保存在HDFS中?该实况只告诉我要做到以下几点:如何使用Spring XD将tweets放入avro文件并将其保存在HDFS中?

xd:>stream create --name mydataset --definition "time | hdfs-dataset --batchSize=20" --deploy 

这正常来源为“时间”,但如果我要存储的鸣叫作为Avro公司只把生的JSON字符串在Avro的文件,这是非常哑。

我找不到任何有关如何告诉Spring XD应用特定Avro模式(avsc)或将json字符串转换为Tweet对象的详细信息。

我是否必须构建自定义转换器?

有人可以帮忙吗?这让我疯狂...

谢谢。

回答

1

根据hdfs-dataset documentation,Kite SDK用于根据您传递给它的对象来推断AVRO模式。从它的角度来看,你传递了一个字符串,这就是为什么它的行为。由于没有明确选择要使用的hdfs-dataset模式的机制,因此您必须创建一个代表推文的Java类代表(或使用Twitter4J api),将推文JSON转换为Java对象(自定义处理器将是必要的),并输出到你的接收器。 Hdfs数据集将使用基于您的类的模式。

相关问题