生成Avro架构文件并在HDFS中存储

时间:2016-09-23 19:01:56

标签: centos hdfs avro

我正在使用avro工具从HDFS中的avro文件生成模式文件,并使用以下命令将其转储到Linux文件系统:

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文件系统。如何更改此命令才能完成此操作?还有另一种方法我应该这样做吗?

1 个答案:

答案 0 :(得分:3)

玩了一会儿,终于找到了有用的东西:

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

这将从hdfs上的Avro文件中提取Avro架构,并写入hdfs中的Avro架构文件。 -f将确保覆盖任何现有的架构文件。