草庐IT

event_datetime

全部标签

hadoop - 如何在 Hadoop Hive 中执行 "Order of Events"查询?

过去2个月我一直在学习Hive,但我无法弄清楚如何执行某些基于序列的查询。举个例子:我有一个包含用户操作的巨大日志每个用户操作都有一个日期字段,但由于来自不同机器的多个日志文件,显然可能不会按该顺序扫描每个日志都可以记录各种不同的事件。对于这个例子,我将它们表示为字母:A、B、C、D...问题:我该如何编写一个查询,询问“平均而言,事件A在事件B发生之前发生了多少次”?我知道如何对用户进行分组,只取已经完成A和B的用户,并对发生的A的数量进行平均,但是限制第一次出现的B似乎很困难。我认为我实际上可以通过将10个左右看起来令人讨厌的查询串在一起来做到这一点,但我想知道是否有一种我不知道的

apache-spark - Pyspark - 如何拆分具有 Datetime 类型结构值的列?

我有以下代码创建窗口并在窗口中聚合值。df.groupBy(window("time","30minutes"))\.agg(func.countDistinct("customer_numbers")窗口列(包含时间段的列)现在是一个具有两个日期时间的结构。[datetime1,datetime2].我的数据框是这样的:windowcustomer_numbers[2018-02-04:10:00:00,2018-02-04:10:30:00]10[2018-02-04:10:30:00,2018-02-04:11:00:00]15我希望它看起来像这样startEndcustomer

datetime - 如何使用 mapreduce 和 pyspark 查找某年某一天的频率

我有一个文本文件(61Gb),每一行都包含一个代表日期的字符串,例如2010年12月16日星期四18:53:32+0000在单核上迭代文件时间太长,因此我想使用Pyspark和Mapreduce技术快速找到某年某天的行频。我认为好的开始:importdateutil.parsertext_file=sc.textFile('dates.txt')date_freqs=text_file.map(lambdaline:dateutil.parser.parse(line))\.map(lambdadate:date+1)\.reduceByKey(lambdaa,b:a+b)不幸的是,我

datetime - Hue 中的 Hive 变量

在尝试声明变量时,然后在Hive(Web客户端)上的Hive中使用该变量运行查询。它不起作用。setMAX_DATE='2017-05-2207:35:25';select*fromtableawheredatetime=${hivevar:Max_Date}limit1出现以下错误信息:Errorwhilecompilingstatement:FAILED:ParseExceptionline1:83cannotrecognizeinputnear'$''{''hivevar'inexpressionspecification 最佳答案

hadoop - 阻止 sqoop 将 datetime 转换为 bigint

最近我注意到,每当我使用Sqoop从SQL数据库中提取数据时,所有日期时间字段都会转换为bigint(epoch*1000)而不是字符串。重要提示:我存储为Parquet。我一直在尝试一堆sqoop标志,例如"--map-column-java"但我不想为数千个表中的数百列手动定义它。我缺少什么标志来防止这种sqoop行为?sqoop在明文存储的时候好像没有这样做 最佳答案 我决定不让sqoop在我的table上施展神秘魔法,而是决定执行以下操作:提取到临时表,以文本形式存储。像临时表一样创建一个表(如果不存在),存储为parque

datetime - Apache Cassandra 时区问题

我正在尝试使用人才将数据从MSSQL移动到cassandra,但是我遇到了timezone问题,因为MSSQL在CST时区,而Cassandra有时区Etc/协调世界时。尝试更改以下配置文件Location:/opt/apache-cassandra-3.9/conf/文件:cqlshrc.sample从:timezone=Etc/UTC更改为:timezone=CST但cqlsh仍然显示UTC时间戳cqlsh>selecttoTimestamp(now())fromsystem.local;系统.totimestamp(system.now())2017-01-0406:38:45.

hadoop - 如何在配置单元中将 bigint 转换为 datetime?

我使用sqoop导入命令将数据从teradatasqoop到Hive。对于teradata中的一个表,我有一个日期字段。sqooping之后,我的日期字段显示为bigint数据类型的时间戳。但我需要日期字段作为配置单元表中的日期数据类型。任何人都可以建议我实现这一目标吗? 最佳答案 selectto_date(from_unixtime(yourtimestamp));example:selectto_date(from_unixtime(1490985000));output:2017-04-01我希望它能奏效。如果我错了,请告诉

datetime - Pig - 无法将 org.apache.pig.piggybank.evaluation.datetime.convert.ISOToUnix 的匹配函数推断为多个或都不适合

我只是想将pig的日期时间格式转换为纪元时间,这样我就可以用时间进行其他计算。下面是我的(部分)脚本:DEFINEISOToUnixorg.apache.pig.piggybank.evaluation.datetime.convert.ISOToUnix();A=LOAD's3://hearstlogfiles/google/NetworkBackfillImpressions_271283/2014/09/24/NetworkBackfillImpressions_271283_20140924_00.gz'USINGPigStorage(',');B=LIMITA10;C=FOR

scala - org.apache.spark.sql.AnalysisException : Reference 'dattim' is ambiguous, 可能是 : dattim#6, event_dattim#55.;

我有一个连接的数据帧,其中包含一个where子句,表明dataStampe在一个范围内:valstartTime=newTimestamp(NewDate.atStartOfDay.toEpochSecond(ZoneOffset.UTC)*1000)valendTime=newTimestamp(NewDate.plusDays(1).atStartOfDay.toEpochSecond(ZoneOffset.UTC)*1000)valjoinedTable=table1.join(table2,table1("date")===table1("key")&&....).where(

java - hadoop 日志中的 "complete event for unknown container id"是什么意思?

我正在尝试对集群中的多个文件运行一个简单的作业(wordcount示例),但大多数map都失败了。当我引用任务日志时,我只看到这样的错误:ERROR[RMCommunicatorAllocator]org.apache.hadoop.mapreduce.v2.app.rm.RMContainerAllocator:Containercompleteeventforunknowncontaineridcontainer_1388066512888_0001_01_000026有什么想法吗?更新:我多次检查作业,有时由于map故障而失败,有时由于减少故障而在极少数情况下成功完成。但在任何情