草庐IT

Hadoop-Solr

全部标签

hadoop - 如何使用 Pig 加载复杂的 Web 日志语法?

我是Pig的完全初学者。我已经安装了cdh4pig并连接到cdh4集群。我们需要处理这些庞大的Web日志文件(这些文件已经加载到HDFS)。不幸的是,日志语法非常复杂(不是典型的逗号分隔文件)。一个限制是我目前无法使用其他工具预处理日志文件,因为它们太大而且无法负担存储副本的费用。这是日志中的原始行:"2013-07-0216:17:12-0700","?c=Thing.Render&d={%22renderType%22:%22Primary%22,%22renderSource%22:%22Folio%22,%22things%22:[{%22itemId%22:%225442f6

hadoop - 为什么 pig 群有奇数行为

在hadoop中,如果你想对某些东西进行分组和排序并编写java,结果是组键也将默认按词典顺序排序,所有这些都通过一个MR作业完成,这样你就可以节省另一个排序作业。但现在我加入了使用Pig的行列,发现了一个古怪的东西。我的输入(test.txt)是:aababcbc我的脚本是:A=load'test.txt'asc1:chararray;B=groupAbyc1;dumpB;输出是:(a)(b)(c)(ab)(abc)为什么它有组键顺序取决于字符串长度但字母顺序。这样我需要做另一个键顺序工作,总共两个工作,因为组没有比较器插件。有什么团购解决方案吗?我将不胜感激。

hadoop - 使用 pig 从键值对中获取 n 个值

我有一个测试文件,其中的键和值由逗号分隔。我怎样才能使用pig脚本为每个键获取10个值。示例输入:john|str1,str2,str3,str4,str5,str6,str7,str8,str9,str10,str11,str2,首选输出:john|str1,str2,str3,str4,str5,str6,str7,str8,str9,str10 最佳答案 有很多不同的方法可以做到这一点,具体取决于您拥有的输入和需要的输出。我假设您只需要前十个值,而可以丢弃其余值。这就是我的做法(CL)。它比短路径(CF)稍长,但代码对我来说更

java - Hadoop Mapreduce 自定义记录读取器

我关注了this为hadoop创建自定义输入拆分的指南。现在我每次都有一个异常(exception):FileSplitsplit=(FileSplit)genericSplit;我导入了这2个:importorg.apache.hadoop.mapred.FileSplit;importorg.apache.hadoop.mapreduce.InputSplit;但我不明白为什么给我异常(exception)。FileSplit扩展了InputSplit,那么为什么会有异常? 最佳答案 我觉得你想要importorg.apache

hadoop - 构建数据模型时 Mahout 出现 NumberFormatException

当我在Mahout的itemBasedRecommender的训练数据中使用字符串值属性时,我得到了一个NumberFormatException,它是在从文件中的数据构建FileDataModel的过程中抛出的。如果字符串属性值为“1.0”,这基本上是一个表示为字符串的数字,那么它不会抛出NumberFormatException。但如果属性值为“Washington”,则会抛出NumberFormatException。有没有什么解决方案可以让我在Mahout中的Recommenders训练数据中将字符串属性值(如“Washington”)作为itemID/userID传递?我正在

java - Hadoop 将输出写入一个 txt 文件

我在考虑如何将Hadoop的输出写入txt文件,而不是写入HDFS。比如我放了下面的代码://CreatethejobspecificationobjectJobjob1=newJob();job1.setJarByClass(Main.class);job1.setJobName("DayMeasurment");//SetupinputandoutputpathsFileInputFormat.addInputPath(job1,newPath(args[0]));FileOutputFormat.setOutputPath(job1,newPath(args[1]));//Set

hadoop - 如何在 Cascading 中读写二进制文件?

我想加载一些二进制格式的文件(例如jpeg,但可以是任何二进制格式),以某种方式对其进行操作并将其写回。我想在hadoop上做那件事,我想在Cascading框架上写它。是否有可用于二进制格式文件的二进制接收器/选项卡?还有其他方法吗?我找不到任何东西。我能想到的唯一选择是也许我应该实现我自己的hadoopInputFormat,它将文件读取为字节数组或javaByteBuffer,但我发现没有内置解决方案很奇怪(因为我确定我我不是第一个遇到这个问题的人)。如果有人有任何指点,将不胜感激 最佳答案 您必须编写自己的HadoopInp

hadoop - 使用flume将数据存储到linux本地目录

是否可以使用flume从oracle获取数据并将其存储在Linux本地文件夹中,而不是hdfs中? 最佳答案 使用“FileRollSink”,您可以将流式数据存储到本地系统。但是Flume不能用于从任何RDMS工具中摄取数据。 关于hadoop-使用flume将数据存储到linux本地目录,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/17718778/

algorithm - 使用 Hadoop 记录关联/聚类

我们的Hadoop集群每天摄取数TB的网络日志。每条日志记录都包含用户IP地址、cookieID等信息。但是,不同的IP地址和cookieID可以对应一个物理用户(家庭/工作计算机等)。我们设计了一个函数来计算任何一对记录的匹配分数,分数越高意味着两条记录对应一个物理用户的概率越高。目标是使用评分函数将所有记录分成可能对应于一个物理用户的组,并通过唯一的组ID(即物理用户ID)标记组中的所有记录。使用Hadoop/Mahout实现此逻辑的最佳方法是什么? 最佳答案 首先,我假设您知道如何链接MapReduce作业。如果没有,请参阅h

hadoop - 亚马逊弹性 map 减少 : Command Line Tools installation Issue?

我是Amazon网络服务的新手,我正在尝试使用命令行界面工具在Amazonelasticmapreduce作业上运行作业流。我遵循了这个developerguide的亚马逊开发者指南中的步骤来自aws。但我还不清楚。如果我执行命令来列出作业流程。显示以下错误。:~/Applications/elastic-mapreduce-ruby$elastic-mapreduce--listError:Requesthasexpired.Timestampdate:2013-07-09T01:13:42-07:00在此先感谢,任何人都可以告诉我为什么我在列出工作流程时遇到上述错误。