2016-09-23 26 views
0
的Avro架构文件和存储

我使用Avro的工具来生成从一个HDFS文件的Avro模式文件,并使用此命令将其转储到Linux文件系统:产生HDFS

hadoop jar /usr/bin/Avro/avro-tools-1.8.1.jar getschema /dw/hpm/ap_drg/ap_drg.avro > usr/bin/StageSchema/ap_drg.avsc 

这个伟大的工程并得到我需要的文件。然而;我希望模式文件位于HDFS中,而不是Linux文件系统。我怎样才能改变这个命令来完成呢?还有另外一种方法我应该这样做吗?

回答

0

周围打了一下,终于想通了一些工作:

hadoop jar /usr/bin/Avro/avro-tools-1.8.1.jar getschema /dw/hpm/ap_drg/ap_drg.avro | hadoop fs -put -f - /dw/schemas/hpm/ap_drg/ap_drg.avsc 

这将从Avro的文件在HDFS中提取的Avro架构,并写入到HDFS的Avro的模式文件。 -f将确保任何现有的模式文件将被覆盖。