hIve—timestamp时间戳问题
先查看表

timestamp可以转换为标准的时间(精确到秒);https://tool.lu/timestamp/

这个时间格式用处很多:
多个时间可以使用函数,来切换。
每个用户 产生行为的时候,用timestamp来区分下单先后关系,记录什么时候看过哪些商品;
比较大小,比如最早订单。。
select max(`timestampss`) as max_tm,min(`timestampss`) as min_tm from user_data; --``是1前面的那个符号,

我们以最近的这个时间为时间参考点:
hive> select ((cast(893286638 as bigint)-cast(`timestampss` as bigint))/(60*60*24)) as days from user_data limit 10;

hive>select id,collect_list(cast (days as bigint)) as days_list from (select id,
((cast(893286638 as bigint)-cast(`timestampss` as bigint))/(60*60*24)) as days from user_data)t group by id limit 10;
能查看用户的行为时间点,可以用这个数据做一个数据清洗的规则
#collect_list,将数据搞成数组的形式。这种情况得出的数据用处:在同一个时间,多次评论,可能会有刷单的嫌疑。挖掘的意义。

时间衰减的需求:
一个用户有多条行为,做行为分析的时候,最近的行为越有效果(越好)。sum后面返回的是一个列表。所以需要聚合
hive> select user_id,collect_list(cast(days as int)) as day_list
from
(
select user_id,exp(-(cast(893286638 as bigint)-cast(`timestampss` as bigint))/(60*60*24)/2)*rating as days from user_data) t
group by user_id
limit 10;

exp正太分布,rating相当于分值。

hIve—timestamp时间戳问题的更多相关文章
- Oracle 日期类型timestamp(时间戳)和date类型使用
body { font-family: "Microsoft YaHei UI","Microsoft YaHei",SimSun,"Segoe UI ...
- SpringBoot返回date日期格式化,解决返回为TIMESTAMP时间戳格式或8小时时间差
问题描述 在Spring Boot项目中,使用@RestController注解,返回的java对象中若含有date类型的属性,则默认输出为TIMESTAMP时间戳格式 ,如下所示: 解决方案 ...
- .Net微信网页开发之JSSDK使用步骤和配置信息timestamp(时间戳),nonceStr(随机串),signature(签名),access_token(接口调用凭据)的生成获取讲解
前言: 因为接下来会有几篇关于微信JS-SDK功能使用的文章,主要会对微信分享,获取设备信息,获取地理位置,微信扫一扫这几个功能进行讲解.而这几个功能都是围绕着微信JS-SDK实现的,首先使用微信JS ...
- timestamp时间戳的应用(微信小程序开发也一样)
在微信小程序开发时发现一个timestamp的时间戳的变量 比如获取微信运动步数时候 timestamp是如何形成的在JS中 是这么形成的 var timestamp = Date.parse(new ...
- c# datetime与 timeStamp时间戳 互相转换
将时间格式转化为一个int类型 // ::26时间转完后为:1389675686数字 为什么使用时间戳? 关于Unix时间戳,大概是这个意思,从1970年0时0分0秒开始到现在的秒数.使用它来获得的是 ...
- sql server中的TimeStamp时间戳与UniqueIdentifier数据类型
TimeStamp SQL Server timestamp 数据类型与时间和日期无关.SQL Server timestamp 是二进制数字,它表明数据库中数据修改发生的相对顺序.实现 timest ...
- C# 读取 timestamp 时间戳 值为byte[] 类型时转换为时间戳字符串
C# 中如何读取出来的时间戳为 byte[] 类型的话,用以下方式转换成 16进制字符串 string tmpUfts = "0x"+ BitConverter.ToString( ...
- MySQL TIMESTAMP(时间戳)详解
在创建表时如果表中有一个字段类型为TIMESTAMP,则该字段默认的生成语句为: CREATE TABLE `test` ( `id` int(11) DEFAULT NULL, `ctime` ti ...
- Timestamp “时间戳” - 术语
A timestamp is a sequence of characters or encoded information identifying when a certain event occu ...
随机推荐
- SQL优化系列——查询优化器
大多数查询优化器将查询计划用“计划节点”树表示.计划节点封装执行查询所需的单个操作.节点被布置为树,中间结果从树的底部流向顶部.每个节点具有零个或多个子节点 - 这些子节点是输出作为父节点输入的节点. ...
- Scala类与对象
类简介 简介 类是对象的蓝图.一旦你定义了类,就可以用关键字new根据类的蓝图创建对象.在类的定义里,可以放置字段和方法,这些被笼统地称为成员.对于字段,不管是val还是var定义的,都是指向对象的变 ...
- Ajax的课外了解
Ajax传入的数据的话,只能是字符串或数字,字段,其他形式的传参都不可以: Ajax只是跟后台交互也有同源策略的限制: 不是当前服务器叫跨域: Ajax也有同源策略的限制想做跨域处理,只能通过scri ...
- 1124 Raffle for Weibo Followers (20 分)
1124 Raffle for Weibo Followers (20 分) John got a full mark on PAT. He was so happy that he decided ...
- [UE4]增加机器人
一.新增蓝图继承自Shooter名为AIShooter.玩家角色也是继承自Shooter. 二.使用AIMoveTo追踪玩家.玩家控制的角色调用这个方法没反应. 三.关卡中添加组件NavMeshBou ...
- [UE4]Break展开复杂数据结构
- 修改了jdk在环境变量中的路径怎么cmd中的jdk版本没有变
把path路径下的jdk配置放在前面%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin;%SystemRoot%\system32;%SystemRoot%;%SystemRoot ...
- linux下开启某个端口的方法:可用于SQL
- linux安装和卸载软件:sudo apt-get install(remove)
sudo apt-get install xxx sudo apt-get remove xxx
- for练习.html
<script> 偶数 var str=""; for (var i = 1 ; i <= 100; i++){ if (i%2 == 0) { //str = ...