2016-09-23 30 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將確保任何現有的模式文件將被覆蓋。