hadoop中类表数据结构的保存与访问

r6vfmomb  于 2021-06-02  发布在  Hadoop
关注(0)|答案(2)|浏览(273)

我想用mapreduce编程在hdfs中保存和访问一个类似表的数据结构。此ds的一部分如下图所示。这个ds有上万列和数百行,所有节点都应该可以访问它。

我的问题是:如何在hdfs中保存这个ds并用mapreduce编程访问它。我应该使用数组吗(还是Hive桌?或者hbase?)
谢谢您。

rwqw0loc

rwqw0loc1#

hdfs是一种分布式文件系统,它将大文件存储在分布式服务器中。
您可以使用命令将文件从本地系统复制到hdfs
hadoop fs-copyfromlocal/source/local/path destination/hdfs/path
一旦复制完成,就可以在destination/hdfs/path上形成一个外部配置单元表。
可以使用配置单元外壳查询此表。

ru9i0ody

ru9i0ody2#

在这种情况下,请考虑配置单元。如果您想进行表类型的处理,如sas数据集或r dataframe/datatable或python;在sql中,几乎总是有一个等价的东西是可能的。hive通过mapreduce和tez引擎提供强大的sql抽象。如果你想毕业后某个时候点燃,那么你可以阅读Dataframe中的配置单元表。正如@sumit所指出的,您只需要将数据从本地传输到hdfs(使用hdfs) copyFromLocal 或者 put 命令)并在其上定义外部配置单元表。
如果您想在这个数据上写一些自定义的map reduce,那么访问后台配置单元表数据(更可能是在 /user/hive/warehouse ). 从stdin读取数据后,在mapper中解析它(可以使用 describe extended <hive_table> )并以键值对格式发出。

相关问题