centos - 生成 Avro Schema 文件并存储在 HDFS 中

标签 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 文件系统中。我怎样才能改变这个命令来完成这个?还有其他方法我应该这样做吗?

最佳答案

玩了一会儿,终于想出了一个可行的办法:

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 将确保任何现有的架构文件都将被覆盖。

关于centos - 生成 Avro Schema 文件并存储在 HDFS 中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39667843/

相关文章:

python - 在 LAMP (CentOS) 服务器上运行 .py 文件 - 从 PHP 开发人员的角度来看

hadoop - Hive Avro召回字段刚刚写好

hdfs - 如果对文件夹执行 hdfs dfs -rmr 操作,何时从数据节点删除数据?

java - Avro json解码器: ignore namespace

hadoop - Sqoop导入失败,同时将AVRO数据从SQL Server导入HDFS

ruby-on-rails - 无法使用 Capistrano 重置/取消设置 VERSION 环境变量

node.js - Nginx 反向代理映射不重定向

php - CentOS:无法安装 PhP GD

hadoop - HDFS 联邦 : Submission of Map Reduce jobs among multiple Name nodes

hadoop - 我可以在 hbase 中进行单元格合并吗?