草庐IT

ios - doesNotMatchKey :inQuery: return records that match key in Parse SDK for iOS

我正在尝试使用ParseSDK在xcode中执行一个简单的查询,我正在向用户展示产品,但我不想向他们展示他们已经“喜欢”的产品。所以我在Parse中使用了两个表:-产品:有一个objectId-喜欢:包含列:喜欢(说是/否)、产品指针、用户指针我的代码是://querywillgetproductsthattheuserhaslikedPFQuery*likeQuery=[PFQueryqueryWithClassName:@"Likes"];[likeQuerywhereKey:@"User_Obj"equalTo:[PFUsercurrentUser]];//productquer

hadoop - 洗牌和排序后的 n-Records 到 reducer

我只想将排序/洗牌后输出的前10条记录移动到缩减程序。这可能吗?原因是这样的:我要在一个文件中找到数量最多的最少10项。但是,我知道映射阶段的结果将到达已经排序的reducer。因此,我不想在映射器中排序,而是只想将“洗牌和排序”之后的前10行传递给缩减器。这将允许reducer仅对原始记录的一个子集进行排序。有什么办法吗? 最佳答案 您可以通过为作业编写自定义Combiner来实现这一点。MapReduce作业的不同阶段是:Mapper->Partitioner->Sorting->Combiner->Reducer.现在Comb

hadoop - 如何解决错误 "file:/user/hive/warehouse/records is not a directory or unable to create one"?

hive>CREATETABLErecords(yearSTRING,temperatureINT,qualityINT)>ROWFORMATDELIMITED>FIELDSTERMINATEDBY'\t';FAILED:ExecutionError,returncode1fromorg.apache.hadoop.hive.ql.exec.DDLTask.MetaException(message:file:/user/hive/warehouse/recordsisnotadirectoryorunabletocreateone)如何解决错误?/user/hive/warehous

Hadoop 映射减少 : Order of records while grouping

我在每行输入中都有一条记录,每条记录大约有10个字段。首先,我按三个字段(field1,field2,field3)对记录进行分组,因此一个mapper/reducer负责一个唯一的组(基于三个字段)。在每个组中,我根据另一个整数字段timestamp对记录进行排序,并通过添加另一个字段用相同的标签aTag标记组中的每个记录。假设在mapper#1中,我将一个排序组标记为aTag,在mapper#2中,我标记了另一个组(一个不同的组,因为我最初根据三个字段对记录进行了分组)具有相同的标签aTag。现在,如果我根据标签字段对记录进行分组(即,在不同的映射器中对组进行分组),我注意到每个组

hadoop - 从 "reduce input records"到 "reduce input groups"

运行MapRed作业后,我们会得到一些关于该作业的摘要,例如:...reduceinputrecords:10reduceinputgroups:3...我知道这是由组合重复键引起的。我的问题是reducer用来组合记录的方法是什么?key1.equals(key2)orkey1.hashCode==key2.hashCode?谢谢。 最佳答案 只有compareTo因为键必须实现WritableComparable.key.hashCode()用于分区原因。永远不会使用等于。 关于ha

Hadoop : Number of input records for reducer

无论如何,每个reducer进程都可以确定它必须处理的元素或记录的数量吗? 最佳答案 简短回答-提前不,reducer不知道可迭代对象支持多少个值。您可以执行此操作的唯一方法是在迭代时进行计数,但您不能再对可迭代对象进行重新迭代。长答案-支持可迭代对象实际上是序列化键/值对的排序字节数组。reducer有两个比较器-一个用于按键顺序对键/值对进行排序,然后第二个用于确定键之间的边界(称为键分组器)。通常,键分组器与键排序比较器相同。当迭代特定键的值时,底层上下文检查数组中的下一个键,并使用分组比较器与前一个键进行比较。如果比较器确定

java - MAP_OUTPUT_RECORDS 值在 reducer 类中不断变化

我正在尝试使用reducer类中的MAP_OUTPUT_RECORDS计数器来计算示例wordcount程序中的单词百分比。这里是reducer中setup()方法的代码:publicstaticclassIntSumReducerextendsReducer{privateFloatWritableresult=newFloatWritable();privatelongtotal=0;@Overridepublicvoidsetup(Contextcontext)throwsIOException,InterruptedException{total=context.getCoun

hadoop - NoSuchMethodException org.apache.hadoop.yarn.api.records.URL.fromURI

我正在尝试从hbase表中读取数据,对其进行一些处理并使用以下代码将其存储在另一个表中packageanalysis;importjava.io.IOException;importorg.apache.hadoop.io.Text;importorg.apache.hadoop.conf.Configuration;importorg.apache.hadoop.hbase.HBaseConfiguration;importorg.apache.hadoop.hbase.client.Put;importorg.apache.hadoop.hbase.io.ImmutableByte

Hadoop 管道 : how to pass large data records to map/reduce tasks

我正在尝试使用map/reduce来处理大量二进制数据。该应用程序的特点如下:记录的数量可能很大,因此我真的不想将每条记录作为单独的文件存储在HDFS中(我打算将它们全部连接到单个二进制序列文件),并且每个记录都是一个大的连贯(即不可拆分)blob,大小在一到几百MB之间。这些记录将由C++可执行文件使用和处理。如果不是为了记录的大小,HadoopPipesAPI会很好:但这似乎是基于将输入作为连续的字节block传递给map/reduce任务,这在这种情况下是不切实际的。我不确定执行此操作的最佳方法。是否存在任何类型的缓冲接口(interface)允许每个M/R任务以可管理的bloc

哈多普 : reduce output records=0

我正在用2个映射器类和一个化简器编写MapReduce代码,但我不知道为什么我有一个化简输出记录=0。请告诉我如何解决这个问题packagereducesidejoin;importorg.apache.hadoop.io.IntWritable;importorg.apache.hadoop.io.Text;importorg.apache.hadoop.mapreduce.Reducer;importjava.io.IOException;importjava.util.Iterator;publicclassReduceSideJoinReducerextendsReducer{