草庐IT

record_date

全部标签

sql - HiveQL Date_Add 问题

在使用Hue2.3.1-402时,我注意到HQL的date_add函数在一天后给出结果时存在一些错误,这可能是由于UTC时区问题造成的。运行下面的两个代码会产生不同的结果:SELECTDATE_ADD(TO_DATE('2015-02-22'),25)ASd1_b2015-03-19SELECTDATE_ADD(TO_DATE(d1),25)ASd1_bFROM(SELECT'2015-02-22'asd1)a2015-03-18当date_add函数计算多行数据时,会出现类似的问题。在没有to_date转换的情况下运行(将其保留为字符串)并给出相同的结果。

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

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

hadoop - Spark 1.2 : Write single record into multiple files (blacklisted)

我尝试将RDD中的每条记录写入多个文件(每个黑名单一个,并按键分组)到HDFS,并在每个文件集上应用黑名单。首先,我将MultipleTextOutputFormat与keyBy结合使用,按记录中的字段对输出文件进行分组,效果很好。所以我的输出文件现在由一个键命名,来自记录,记录在这个文件中分组。但我现在的问题是,我需要在输出上应用黑名单并分别保存这些输出中的每一个。我使用一个简单的过滤器做到了这一点。现在发生的情况是,应用此文件管理器会导致作业针对x个不同的黑名单完成X次。对于大量记录,这是NotAcceptable。即使之前在Dataframe上调用缓存函数。为了弄清楚我想要什么,

date - 在 Hive 中按周计数

我试图每周生成一组完全刷新的数字,从hive中的表中提取。现在我使用这种方法:SELECTCOUNT(DISTINCTcasewhentimestampbetweenTO_DATE("2016-01-28")andTO_DATE("2016-01-30")thenuseridend)asweek_1,COUNT(DISTINCTcasewhentimestampbetweenTO_DATE("2016-01-28")andTO_DATE("2016-02-06")thenuseridend)asweek_2FROMData;我正在尝试获得更多信息:选择月(时间戳)、周(时间戳)、COU

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 - 如果压缩类型是 RECORD 而不是 block ,我们是否需要创建一个索引文件(使用 lzop)?

据我所知,需要一个索引文件来使输出可拆分。如果mapred.output.compression.type=SequenceFile.CompressionType.RECORD,还需要建立Index文件吗? 最佳答案 简答:RECORD和BLOCKcompression.type属性适用于序列文件,不适用于简单的文本文件(可以使用lzo或gzip或bz2独立压缩...)更多信息:LZO是一种压缩编解码器,它提供比gzip更好的压缩和解压缩速度,并且还具有拆分功能。LZO允许这样做,因为它由许多较小的(~256K)压缩数据block

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 - 获取 Hive 中 Record 的文件名

是否有可能在Hive中获取记录的文件名?这对调试非常有帮助。在我的特殊情况下,我在映射到包含>100个大文件的文件夹的表中有一个不正确的值。使用grep是非常低效的 最佳答案 HIVE支持虚拟列,例如INPUT__FILE__NAME。它为映射器任务提供输入文件的名称。查看文档here.它提供了一些有关如何执行此操作的示例。不幸的是,我现在无法对其进行测试。让我知道这是否有效。 关于hadoop-获取Hive中Record的文件名,我们在StackOverflow上找到一个类似的问题:

Hadoop : Number of input records for reducer

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