gpt4 book ai didi

json - 如何在hadoop HDFS中解压缩文件

转载 作者:行者123 更新时间:2023-12-02 19:46:35 25 4
gpt4 key购买 nike

我在本地目录中有很多JSON文件(1 MM)。我需要将这些JSON文件直接移至HDFS。

创建了一个包含所有JSON文件的tar。

tar -cvf filename.tar local_folder_name

将.tar文件移动到hdfs目录
hdfs dfs -put filename.tar hdfs://nameservice1/user/hive/warehouse/dbname.db/table_name/

我需要从hdfs中的tar中提取所有文件,并将它们作为单独的JSON文件保留在hdfs中。我使用tar选项的原因是将单个文件移动到hdfs,而不是一次将1 MM中的每个文件一次移动到一个文件。(这非常慢,不确定是否会完成)

我尝试了以下选项以及其他一些变体。
hdfs dfs -cat hdfs://nameservice1/user/hive/warehouse/dbname.db/table_name/filename.tar | tar -x | hdfs dfs -put - /user/hive/warehouse/dbname.db/table_name/untar_dest

我在hdfs目录中看到一个名为untar_dest的新文件,但这是大小为0的文件,其中没有任何内容。
-rwxrwx--x+  3 hive hive          0 2020-05-15 21:23 /user/hive/warehouse/dbname.db/ctable_name/untar_dest

某些情况不正确,我无法找到解决方法。

如何从hdfs中的.tar中提取文件?

最佳答案

您可以使用org.apache.hadoop.fs.FileUtil将简单的Java API编写为untar

https://hadoop.apache.org/docs/r2.4.1/api/org/apache/hadoop/fs/FileUtil.html

几个例子,你可以在这里找到

https://www.codota.com/code/java/methods/org.apache.hadoop.fs.FileUtil/unTar

关于json - 如何在hadoop HDFS中解压缩文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61831041/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com