草庐IT

hadoop - HDFS(序列文件)中的单个大文件或多个小文件?

目前我正在使用SequenceFile来压缩我们现有的HDFS数据。现在我有两个选项可以将这个序列文件存储为单个大文件,这意味着所有记录都转到这个文件。多个小文件,每个文件的大小与HDFSblock大小(128MB)完全匹配众所周知,HDFS文件存储为block,每个block都到一个映射器。所以我认为当MR处理序列文件时没有什么不同。我知道选项二的唯一缺点是名称节点需要更多开销来维护这些文件,而选项一只有一个文件。我对这两个选项感到困惑,因为我看到太多文章推荐了尽可能使您的HDFS文件大小与block大小匹配。尽可能将小文件合并为一个大文件。任何人都可以指出正确的方法吗?哪个更好?这

hadoop - 在 HDFS 中创建 zip 表

我试过创建不是这样的zip表。CREATETABLEexample_table(|aBIGINT,bBIGINT,vSTRING,dTINYINT)STOREDASTEXTFILELOCATION/path/to/directory/这不是压缩表。我还想用zip创建新表来获取该表的历史记录。我怎样才能用zip创建1个表? 最佳答案 首先设置下面的属性SEThive.exec.compress.output=true;SETmapred.output.compression.type=BLOCK;setmapred.output.co

hadoop - HDFS 数据大小和 Hive 数据大小的差异

我在Hive中有一张表。当我运行命令showtblpropertiesmyTableName时,它给出了以下结果:numFiles12numRows1688092rawDataSize934923162totalSize936611254这意味着rawDataSize为934.92MB,totalSize为936.61MB当我运行命令来计算同一表在HDFS表位置上的数据大小时。[user@server1~]$hdfsdfs-du-h-s/apps/hive/warehouse/test.db/myTableName893.2M/apps/hive/warehouse/test.db/m

hadoop - 在 Hadoop 的上下文中,压缩编解码器的可拆分性是什么意思?

当我遇到术语“可拆分”时,我正在学习各种压缩编解码器。现在这个术语在我研究过的任何互联网资源和书籍中都没有太多解释,所以我想我可能在这里遗漏了一些微不足道的东西。我的第一个猜测是某些编解码器将元数据作为header/尾部添加到压缩文件中,这意味着如果压缩文件被拆分为多个HDFSblock进行存储,除非所有拆分都是合并在一起。如果是这种情况,如何将不可拆分文件的拆分(block)发送到映射器以输入到MR应用程序?我知道hadoop确实支持gzip(不可分割的编解码器),但我不明白具体是如何支持的。有人可以详细解释编解码器的不可分割性的含义是什么或分享一些相同的链接吗?

json - 为嵌套的 JSON 数据创建 Hive 表

我无法将嵌套的JSON数据加载到Hive表中。有人可以帮我吗?以下是我尝试过的:示例输入:{"DocId":"ABC","User1":{"Id":1234,"Username":"sam1234","Name":"Sam","ShippingAddress":{"Address1":"123MainSt.","Address2":null,"City":"Durham","State":"NC"},"Orders":[{"ItemId":6789,"OrderDate":"11/11/2012"},{"ItemId":4352,"OrderDate":"12/12/2012"}]}}

hadoop - 在Hadoop中,复制因子和集群中的节点数之间有什么关系?

例如,如果复制因子为3,并且集群中有2个节点。那么将创建多少个副本?它们将如何放置? 最佳答案 复制因子大于可用数据节点会破坏复制的目的。副本应该明确且唯一地放置在数据节点上。如果一个数据节点包含同一个block的多个副本(理论上),它不会提供额外的容错能力,因为如果该节点出现故障,两个副本都会丢失。因此每个节点只有一个副本就足够了。并回答您的问题:Whatistherelationshipbetweenreplicationfactorandnumberofdatanodesincluster?Ans.Maximumreplica

hadoop fs -ls 隐藏文件

我正在编写一个实用程序来根据日期清理HDFS。虽然该实用程序使用hadoop库来完成此操作,但它也可以在常规file:///文件系统上运行,使用hadoopjar或java-jar来执行它。不过,我发现该实用程序的一个缺点是它目前无法清除“隐藏”文件(前面有句点)。我在猜测,并问你聪明的人,如果那是因为HDFS没有隐藏文件。该假设得到验证,是否有关于我可以做些什么来使它成为一个通用实用程序以便它可以列出并删除隐藏文件的建议? 最佳答案 命令:列出所有隐藏的文件夹和文件~]$ls-ld.?*

hadoop - 为什么 Raid 不在 Hadoop 2.x 中?

在0.22.0版本中我们可以找到raidcontrib,但是Hadoop2ndgeneration(version2.x)似乎不再支持hdfs-raid了,请问是什么原因呢? 最佳答案 Hadoop有自己的复制和检查机制。以下引自AlexHolme的HadoopInPracticeUsingRAID,however,isstronglydiscouragedontheDataNodes,becauseHDFSalreadyhasreplicationanderror-checkingbuilt-in;butontheNameNode

hadoop - 如何更改 HDFS 中的文件时间戳?

在linux中,您可以使用touch来更改文件的时间戳。但是,当文件已经存在时,HDFStouchz不会更改文件时间戳。是否有一种在不删除文件的情况下更改HDFS时间戳的简单方法? 最佳答案 您可以使用FileSystem#setTimes方法。 关于hadoop-如何更改HDFS中的文件时间戳?,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/11856385/

hadoop - 从 Windows 使用 Java 访问 HDFS

我有一个ClouderaHadoop安装,我想编写一个Java程序来从Windows机器的文件系统中读取/写入。这应该是可能的吗?我的程序很简单:publicclassHadoopReader{static{URL.setURLStreamHandlerFactory(newFsUrlStreamHandlerFactory());}publicstaticvoidmain(String[]args)throwsException{System.out.println("okay");InputStreamin=null;try{in=newURL("hdfs://HOST/PATH"