提问者:小点点

avro和parquet格式的数据必须在hadoop基础架构中写入吗?


我一直在研究在项目中使用avro、parquet和其他数据源的利弊。如果我从其他不使用Hadoop操作的人群中接收输入数据,他们是否能够以avro/parque格式提供这些输入数据?到目前为止,我对这些格式的理解仅限于Hadoop基础架构的范围,所以我想知道对于那些只使用Oracle/SQL的人来说,以这种格式提供数据有多困难。


共1个答案

匿名用户

可以在没有Hadoop的情况下使用这些格式,但这样做的难易程度取决于语言绑定。

例如,在独立机器上读/写Parquet文件可能非常麻烦,因为Java语言绑定(甚至称为parquet-mr,其中mr代表MapReduce),因为它大量构建在Hadoop类上。这些通常在Hadoop集群的类路径上提供,但在独立机器上不太容易获得。

(虽然parket-mr主要是一个Java库,但它也包含一些用户可能希望在本地机器上运行的工具。为了解决这个问题,parket-mrparket-tools模块包含一个名为local的编译配置文件,它将Hadoop依赖项与编译工具一起打包。但是,这仅适用于parket-tools,您必须自己编译才能进行本地构建。)

另一方面,python语言绑定非常容易设置,并且在独立机器上也可以正常工作。您可以直接使用高级熊猫接口或实际实现pyarrow/fastparquet。