草庐IT

hadoop-release

全部标签

hadoop - kafka在大数据集群中有什么用?

我最近部署了大数据集群。在这方面,我使用了ApacheKafka和zookeeper。但是我仍然不了解它在集群中的用法。什么时候需要两者以及出于什么目的? 最佳答案 我在这里简化概念。您可以在此处找到详细说明articleKafka是一种快速、可扩展、本质上分布式的设计、分区和复制的提交日志服务。它具有独特的设计。特定类型的消息流被定义为主题。生产者可以是任何可以向主题发布消息的人。然后,发布的消息存储在一组称为代理或Kafka集群的服务器中。消费者可以订阅一个或多个主题,并通过从代理中提取数据来消费发布的消息。ZooKeeper是

hadoop - 模式表的 MSCK 修复表失败

我的hive表名采用以下格式:schema_name.hive_table_name例如:schema1.abc;现在,当我尝试在上面的配置单元表上执行MSCK修复表时,它会抛出以下错误。使用文件中的配置初始化日志记录:/etc/hive/conf.dist/hive-log4j.properties失败:ParseException行1:28在“.”处缺少EOF在“schema_name”附近下面是我使用的命令:hive-e"MSCK修复表schema_name.hive_table_name"有人可以帮忙吗? 最佳答案 我试过下

hadoop - MapReduce中,为什么map函数在查找单词出现时输出1?

假设我想知道每个单词在某些文本中出现的次数。我的理解是,文本被分成多个部分,每个部分都传递给map。map然后会获取每个部分的单词出现次数,并将结果传递给reduce,如下所示:foreachwordwindocument:occurrences[w]+=1returnoccurrences然而,根据MapReducepaper和wikipedia,map只会为每个单词发出1,如下所示:foreachwordwindocument:emit(w,1)这与将文本部分直接传递给reduce基本上不是一回事吗,因为它无论如何都必须遍历每个单词?此外,只是为了确定。如果我想使用MapReduc

hadoop - 预期 org.apache.hadoop.hive.ql.io.orc.OrcStruct,收到 org.apache.hadoop.hive.ql.io.orc.OrcSerde$OrcSerdeRow

当我读取orcfile并将数据写入orcfile时,出现以下错误:expectedorg.apache.hadoop.hive.ql.io.orc.OrcStruct,receivedorg.apache.hadoop.hive.ql.io.orc.OrcSerde$OrcSerdeRow是不是MapoutputValue.class不对?thisismyprogram:packagecom.baifendian.basicPlatform.hive.ql.io.orc;importjava.io.IOException;importjava.util.List;importjava.

hadoop - 让 Hadoop 以 Kerberos 用户身份运行

Kerberos中有一个名为“foo”的用户,hadoop集群受Kerberos保护。我希望hadoop集群将作业作为“foo”运行,我该怎么做?允许hadoop客户端指定要运行的kerberos用户帐户名的配置是什么,就像hadoopcluster'kinitusername'然后运行​​mapreduce作业一样?仅供引用,hadoop2.6.0 最佳答案 我相信您正在寻找用户模仿。这可以在core-site.xml文件中完成。请参见以下示例:hadoop.proxyuser.super.hostshost1,host2hado

hadoop - HDFS - block 大小相关

我只有10MB大小的文件。我认为在HDFS中第一个文件消耗10MB,其余54MB被释放到可用空间。我的问题是-第二个10MB的文件(或下一个10MB的文件序列)会继续增加直到它变成64MB吗?例如-如果我们总共消耗2个64MB的block和20MB的第3个block,那么输入拆分将给出3个输出2个64MB和1个20MB?是真的吗? 最佳答案 引用Hadoop-权威指南:HDFS存储小文件效率低下,因为每个文件都存储在一个block中,并且block元数据由名称节点保存在内存中。因此,大量的小文件会占用名称节点上的大量内存。(但是请注

hadoop - sqoop oozie 将查询结果写入文件

我有一个当前的oozie作业查询Oracle表并写入-覆盖配置单元查询的结果。现在我需要防止覆盖配置单元表并将现有数据保存在该配置单元表上。为此,我想计划这样的步骤:第一步:获取运行“selectcount(*)from...”查询的记录数并将其写入文件。第2步:检查写入文件的计数。第三步:决定是否应用第四步的步骤。第4步:运行主查询并覆盖hive表。我的问题是我找不到任何关于将它们写入文件的文档和/或示例(我知道导入和导出是sqoop的目标)。有谁知道如何将wuery结果写入文件? 最佳答案 理论上:构建一个Pig作业来运行“co

hadoop - 在reducer的cleanup()中调用context.write()有什么用

在reduce()和cleanup()中执行context.write()的区别?我在某处读到只有在temp_dir中的输出移动到指定的输出目录后才会调用清理?还有如何在MR作业中使用treeMap的例子? 最佳答案 reducer任务有如下调用方法:run():setup()foreachrecord:reduce()cleanup()如您所见,setup()和cleanup()在每个reducer任务中只被调用一次,而reduce()会为每条记录调用(一条记录是键和值)。在reducer中你一次只有一个键和它的值。在清理中,您可

hadoop - 如何使用 Hadoop 处理 .gz 输入文件?

请允许我提供一个场景:hadoopjartest.jar测试inputFileFolderoutputFileFolder在哪里test.jar按键、时间和地点对信息进行排序inputFileFolder包含多个.gz文件,每个.gz文件约10GBoutputFileFolder包含一堆.gz文件我的问题是处理inputFileFolder中那些.gz文件的最佳方式是什么?谢谢! 最佳答案 Hadoop会自动检测和读取.gz文件。然而,由于.gz不是可拆分的压缩格式,每个文件将由单个映射器读取。最好的办法是使用另一种格式,例如Sna

hadoop - Hive "ANALYZE TABLE"如何从java执行

我需要计算配置单元表中的行数,为此我正在使用查询:ANALYZETABLEp_7COMPUTESTATISTICSnoscan我想通过java获取结果,我正在尝试下面的代码,没有运气。我得到的错误是:Exceptioninthread"main"java.sql.SQLException:Thequerydidnotgeneratearesultset!atorg.apache.hive.jdbc.HiveStatement.executeQuery(HiveStatement.java:393)atHiveJdbcClient.main(HiveJdbcClient.java:22)