我一直在虚拟机上使用CDH
和HDP
一段时间(都是伪分布式模式),以及在Ubuntu上本地安装。虽然我的问题可能与Apache Hadoop Ecosystem
中的所有项目有关,但我可以在Avro
的范围内具体询问。了解Hadoop软件包和类
什么是最好的方法去弄清楚软件包中的不同的包和类是做什么的。我通常最终会提到该项目的Javadoc(在这种情况下为Avro
),但是包和类的概览最终不能满足要求。
例如,采取两个Avro软件包:org.apache.avro.specific
和org.apache.avro.generic
这些用于创建Specific
和Generic
Readers
和Writers
(分别),但我不是100%确定这些是什么。在我不想使用代码生成的情况下,我已经使用Specific
程序包,用于我使用Avro
代码生成和通用程序。但是,我不确定这是否是使用一个和另一个的唯一原因。
又如:Encoder\Decoder
类用于低级别SERDE,所述DatumReader\DatumWrite
为“中等等级” SERDE同时用阿夫罗大多数应用层的相互作用可能会使用Generic\Specific
Readers\Writers
。没有经过使用这些类的痛苦挣扎,用户怎么知道什么用于什么?
有没有更好的方法来获得每个包的良好概述(显然javadoc没有很好的文档)和包中的类?我有类似的问题,基本上所有其他Hadoop
项目(Hive
,HBASE
等) - Javadocs似乎是严重不足的整体。我只是想知道其他开发人员最终会如何解决这些问题。
任何投入都会很好。
这可能有帮助 - http://javasearch.buggybread.com/home.php?keyword=%28avro%29 – 2016-02-18 17:41:26